Process and system for controlling the use of software

Electrical computers and digital processing systems: multicomput – Computer-to-computer data routing – Least weight routing

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C709S200000, C709S241000, C709S241000

Reexamination Certificate

active

06421703

ABSTRACT:

The present invention relates to a process for controlling the use of software developed under a specified platform, associated with a device provided with an electronic circuit with read/write retentive memory, connected to the terminals of a parallel port between a computer and a peripheral apparatus, in which signals are processed in the device and/or are returned from said device to the computer in response to signals transmitted from this computer.
The term platform is understood to mean an environment corresponding to a specified operating system, such as the Windows™ environment, the Unix™ environment or other environments (Apple™, for example), which call in particular upon dynamic link libraries (DLL, the initials of Dynamic Lien Librairy
It is known that dynamic link libraries (DLLs) constitute an important utility within operating systems. DLLs offer the possibility of connecting prewritten modules into the operating system. This makes it possible for the applications to share the common coding, to modularize the regularly used functions and to provide a degree of expandability.
The present invention also relates to a system for the interactive control of the use of software items.
It finds a particularly important although nonexclusive application in the field of protection against the copying of software items which is used on microcomputers under a 16-bit and 32-bit Windows™ platform.
Methods are already known for protecting software items stored, for example, on diskettes making it possible to preclude the copying of these diskettes.
The first method of protection consists in short-circuiting the microcomputer program portion which reads the diskettes.
A second method consists in marking the diskette in an irreversible manner by destroying a particular site on the magnetic medium with a laser ray.
The two methods mentioned above have drawbacks in particular because they prevent the user from making a backup copy of his programs.
A third method consists in marking the computer by means of an electronic device, sometimes called a key.
The program, while it is executing, will then verify the presence of this key consisting of an electronic circuit which returns codes when it is requested.
This circuit can be housed directly in one of the computer's expansion connectors, or more simply be plugged into one of the external sockets or ports, for example that of the printer, without thereby disturbing the operation of the latter.
It is thus possible to copy the software at will. This system which has been further improved by making the keys directly programmable by virtue of a read/write retentive memory is by far the most effective.
However, it has a number of drawbacks.
Thus, in software items which currently operate on a specified platform, and more particularly those which operate on a Windows™ platform (16 and 32 bits), problems arise regarding the compatibility of the systems used during the programming by the programmer of the key as a function of the languages and/or generations of software which it uses.
The present invention aims to provide a process and a system for controlling the operating of software which is better than those previously known at meeting the requirements of practice, in particular in that it makes it possible to avoid the drawbacks mentioned above, and in that it makes it possible, through simplified installation procedures, henceforth to be unconcerned with the end platform on which the application will operate.
With said invention, the programmer will therefore authorize or otherwise the operation of the software protected in an optimized manner, this being a particularly advantageous technical result in an era in which the pirating of software is unfortunately on the increase.
To this end, the invention proposes in particular a process for controlling the use of software developed under a specified platform, associated with a device provided with an electronic circuit with read/write retentive memory, connected to the terminals of a parallel port between a computer and a peripheral apparatus, in which signals are processed in the device and/or are returned from said device to the computer in response to signals transmitted from this computer, characterized in that
the circuit of the device is written to or read from by calling upon a function built into an object file (.OBJ) or a Dynamic Library file (.DLL) previously inserted into said software, said function having the following form:
result=cnrm(var1, var2, . . . varn) with n>3
in which var1 to varn correspond to particular values depending on what it is desired to execute with the device and to at least one specific value corresponding to a specified user,
said function being devised so as automatically to detect the type of specified platform, and calculate the software execution context as a function of said platform.
After the call, var1 to varn contain result values dependent on the action executed and hence on the values given during the call. Result will contain the value of var1 after the call.
More precisely the software interface which makes it possible to read from and write to the key takes the following forms:
an object file (.OBJ) to be used for the programs written in compiled languages such as C or pascal, for which calling complies with what is described above, or
a dynamic library (.DLL) to be used by the programs written in interpreted or semicompiled languages (VISUAL BASIC, WINDEV), but also in certain cases with compiled languages.
Advantageously, during the implementation of the linking function (Login) between the software and the device, the key and/or its position are identified by way of a specific value (cfgFun or cfgKey), for example given by the software, or obtained while exploring the successive keys, and this specific value is stored in memory and used later as a constant when operating said software.
In an advantageous embodiment the function cnrm is devised (function cnrmcb) so as to recall the software at least once while operating, so as to verify that it is indeed the original function cnrm which has been called.
The term original function cnrm is understood to mean the function which has been designed and provided to operate originally with the device, by the constructor of the device.
In an advantageous embodiment, the specified platform is a Windows™ platform, said function cnrm being devised so as to allow automatic recognition of the type of passing of parameters by reference or by value implemented within the software.
Let us recall that in this case, by virtue of the nature of certain programming languages, the dynamic library is in reality constructed in the form of two dynamic libraries:
a dynamic library with passing of parameters by reference, for which calling complies with what is described above, that is to say for which Result contains the value var1 after the call (i.e. a first DLL file for 16-bit application and a second DLL file for 32-bit application),
a dynamic library with passing of parameters by value for which an additional parameter makes it possible to define which value from var1 to varn is to be placed in Result after the call. (i.e. a third DLL file for 16-bit applications and a fourth DLL file for 32-bit applications).
Prior to the invention, additional mechanisms were necessary during operation under the WINDOWS NT operating system for a 16-bit application (written for WINDOWS 3.xx).
The programmer was in effect obliged to use a dynamic library even for a compiled language, this being so that the first DLL file can be replaced by a fifth DLL file specific to the WINDOWS NT environment.
This fifth specific DLL file then itself called a sixth 32-bit DLL file specific to WINDOWS NT which in turn called the peripheral/central processing unit interface module (or driver) responsible for the inputs/outputs to the key.
The same type of mechanism had to be used for the third DLL file in the case of the passing of parameters by reference.
To summarize, the following cases in point existed under the Windows™ p

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Process and system for controlling the use of software does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Process and system for controlling the use of software, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Process and system for controlling the use of software will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2823874

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.