US20060179486A1 - Method and system for prevention of piracy of a given software application via a communications network - Google Patents
Method and system for prevention of piracy of a given software application via a communications network Download PDFInfo
- Publication number
- US20060179486A1 US20060179486A1 US11/311,964 US31196405A US2006179486A1 US 20060179486 A1 US20060179486 A1 US 20060179486A1 US 31196405 A US31196405 A US 31196405A US 2006179486 A1 US2006179486 A1 US 2006179486A1
- Authority
- US
- United States
- Prior art keywords
- user
- data
- software application
- identification code
- unique identification
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
- 238000000034 method Methods 0.000 title claims abstract description 72
- 230000002265 prevention Effects 0.000 title description 3
- 230000004913 activation Effects 0.000 claims abstract description 48
- 238000013500 data storage Methods 0.000 claims description 23
- 230000005540 biological transmission Effects 0.000 claims description 9
- 230000001737 promoting effect Effects 0.000 claims description 7
- 230000006870 function Effects 0.000 abstract description 9
- 238000001994 activation Methods 0.000 description 49
- 238000012545 processing Methods 0.000 description 13
- 230000008901 benefit Effects 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 230000002155 anti-virotic effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000008450 motivation Effects 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2201/00—General purpose image data processing
- G06T2201/005—Image watermarking
- G06T2201/0064—Image watermarking for copy protection or copy management, e.g. CGMS, copy only once, one-time copy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/60—Digital content management, e.g. content distribution
- H04L2209/605—Copy protection
Definitions
- the field of the invention generally relates to methods for preventing the piracy of software applications.
- the invention relates more particularly to a computer method and system for preventing the piracy of a given software application through use of a communications network, such as the Internet, wherein a given software application, installed on a user system, will function only after a remote service provider transmits a code sequence that will activate the software for use.
- FIG. 1 is an overview diagram pictorially illustrating the flow of information that occurs between a user of a given software application and the remote service system in a preferred embodiment of the method and system for prevention of software piracy according to the present invention.
- the user 1 successfully installs a given software application 5 (hereinafter “software”) on the data storage element 4 of the user's system 2 .
- the user system 2 is generally defined as the user's computer terminal, which typically consists of a central processing unit, or CPU (not shown), a data storage element 4 , an element for storably receiving transmitted data 3 , an element for transmitting data 6 , and a monitor and keyboard.
- the software 5 may utilize various anti-piracy measures, two such measures, are especially worth noting in relation to the present invention, and are discussed in greater detail below.
- the first measure is a program code sequence that identifies the specific software 5 (hereinafter “identification code”), while the second is an additional program code sequence that would be needed to activate the software 5 (hereinafter “activation code”). It is preferred that transmission of both of these code sequences, between the user 1 and remote service system 9 , would be accomplished over the Internet 8 .
- a “user” can be an individual entity or collaborate entity, such as a business, family, or even friends, who legitimately acquired a license and/or right to use the given software 5 .
- the remote service system 9 can be the software manufacturer or an independent company, working in conjunction with the software manufacturer, to prevent software piracy.
- a communications network includes, but is not limited to, all telecommunications networks such as the Internet, i.e. the World Wide Web and BBS systems, hardwire telephony, wireless networks including cellular and PCS systems, satellite networks, etc.
- communications networks include localized and regional networks such as intranets and local area network (LAN) systems which interconnect a relatively few number of user systems or terminals, typically by means of a centralized server.
- LAN local area network
- user 1 Once user 1 establishes an online connection to the remote service provider 9 , user 1 enters and transmits user data 7 , via an element 6 for transmitting user data, to the remote service system 9 over the Internet 8 .
- the user data 7 is subsequently received by the remote service system 9 via an element 10 for storably receiving user data, and stored in the data storage element 12 of the remote service system 9 .
- the transfer of user data 7 to the remote service system 9 would preferably be initiated by user 1 , this need not always be the case.
- the user data 7 may be automatically detected by an element 11 for detecting user data of the remote service system 9 .
- the detected user data 7 will likewise be received by the remote service system 9 via element 10 , and subsequently stored by the data storage element 12 of the remote service system 9 .
- user data is defined and understood herein and in all the claims to mean any information originating from and/or available to the user of the software 5 . This includes, but is not limited to personal identification information such as user name, address, location, phone number, etc.
- user data 7 may consist of any information relating to the software 5 which identifies and distinguishes it from other “same type” or distinct software applications. This can include, but is not limited to information such as an “identification code” (as noted earlier), a product serial number, name, and/or version number.
- the software 5 should preferably contain an identification code, which is a program code sequence comprised of alphanumeric characters, that would serve to identify each authorized copy of a software application.
- the identification code may be synonymous with a product's distinct serial number.
- the identification code will be unique to each software application sold, and will be disclosed to both user 1 and remote service system 9 .
- the advantage of a unique identification code is that it will allow the remote service system 9 to recognize and keep track of each authentic copy of a software application sold.
- the identification code could consist of an elongated alphanumeric code sequence, such as a “program file(s)”, it is preferred that it consist of a short code sequence of alphanumeric characters, e.g.
- user data 7 may also refer to information identifying the user system 2 such as serial and model number as well as the type, function, and performance of the various system hardware components.
- Processing of the user data 7 may also consist of an “associating” event wherein the currently transmitted user data 7 is compared to archived data contained in the data storage element 12 of the remote service system 9 . It is important to note that “associating” the currently transmitted user data 7 to archived data will allow the remote service system 9 to determine if the user 7 is attempting to activate a pirated version of the software 5 .
- the “product identification code” of software 5 along with other user data 7 currently being received from the user system 2 , will be compared to existing archived data. If the archived data establishes that the software 5 is legally registered to a completely distinct user, such may indicate that the user currently online is trying to activate a pirated version of the software 5 . This result will occur if the archived data referencing the software 5 does not match the user data 7 currently being transmitted by the user system 2 , and/or if the archived data indicates that there have been repeated and numerous attempts to activate the same software 5 .
- the remote service provider may contact the registered user(s) to investigate into potential piracy.
- the remote service system 9 may “blacklist” the specific software 5 , as referenced by its identification code. Blacklisting of a given software application would mean that the identified software would be prohibited from receiving any future activation codes from the remote service system 9 . For all intents and purposes, such an event would render the identified software void and permanently dysfunctional. This is because the software, as sold to the user, would need the activation code in order to function. Absent this code, the identified software would be inoperative and no longer subject to piracy.
- the activation code 17 is a program code sequence that will serve to activate each individual software application, which absent the activation code 17 , would be dysfunctional.
- the activation code may either be unique to each individual software 5 sold (hereinafter “unique activation code”) or unique to a group of software (hereinafter “common activation code”) that relate to a common software program, manufacturer, brand name, or version, etc. Of the two, the preferred embodiment would be the “unique activation code” which is unique to each individual software 5 sold.
- Each authorized copy of software application 5 is designed to be responsive to a distinct activation code. As such, an attempt to pirate distinct software applications would entail a tedious and time consuming task requiring the hacker to uncover the activation code of each individual, authorized software product. Furthermore, a unique activation code will not allow for the activation of any “general” copy of the software which would otherwise be responsive to a common activation code. As an alternative to a unique activation code, a common activation code would activate all “same type” software applications. Developing “same type” software to be responsive to a common activation code may be advantageous given the potential for reducing confusion and troubleshooting errors which could arise during the software manufacturing and online activation stages.
- the activation code may likewise consist of either a long or short program code sequence.
- a short code sequence would consist of a concise sequence of alphanumeric characters, e.g. HT3-GY2K-WR0P, while a long code sequence would consist of a small or large arrangement of alphanumeric data that result in a “program file(s)”.
- Use of a long code sequence would be the preferred method of constructing the activation code. This is because a long code sequence (i.e. a program file) would be much harder to replicate than a short code sequence.
- Software application 5 can initially be supplied missing certain program files necessary for software application 5 to function. Only after these missing program files (e.g., the activation code) are transmitted from the remote service system 9 to the user system 2 , will the software 5 be functional.
- activation code 17 preferably remains undisclosed to user 1 .
- the need for the activation code will compel user 1 to register the software 5 online with the remote service system 9 .
- having the activation code 17 only known to the remote service provider and its business affiliates (such as the software manufacturer) will prevent piracy of the software 5 . This is because users who wish to pirate the software 5 will not be able to replicate the activation code and distribute it along with a medium (e.g. CD ROM) containing a copy of the software 5 .
- Activation code 17 is preferably designed to be immune from discovery by computer hackers and sophisticated programmers.
- the objective is to prevent these individuals from “breaking in” to the software 5 and either re-writing or discovering the undisclosed activation code. As noted earlier, this may require constructing the activation code as a long code sequence which results in a program file(s). Additionally, other measures may include code encryption as well as any other programming methods known to those skilled in the relevant technical art.
- Element 14 may be, but is not limited to, software, hardware device(s), or a combination of the two, which would allow for processing of the service data, in the manner described herein. Additionally, element 14 , used to process service data 16 , may likewise include the remote service system's personnel staff who would be able to manually initiate processing of the service data 16 , in the manner described herein.
- Extraction of service data 16 from the archived data entails a selection process wherein only the appropriate and necessary service data is singled out from the total archived data and made available for transmission to the user system 2 .
- Extraction of the service data is necessary given the variety of software applications, and the multitude of distinct service data entries, that may be stored and archived by the remote service system 9 .
- the activation code “ABC-123” contained in the archived data, would only be extracted when a user 1 who possesses the specific software referencing the identification code “ABC-123” attempts to activate it online.
- service data containing an activation code relating to Microsoft Word 2000 would not be extracted for a user trying to activate a Norton Anti-virus software application. The reason for this is that different users will require different service data, depending on the requirements of the specific software that they are attempting to activate.
- the second embodiment for processing the service data 16 pertains to an event which causes the service data 16 to be generated.
- This event entails a process wherein pre-existing archived data may be formulated into the appropriate service data upon request from the remote service system 9 .
- Generation of service data can be advantageous, as this method will permit the remote service system 9 to manipulate various data components, existing in the archived data, in order to formulate the service data 16 .
- the remote service system 9 may combine personal identification information belonging to user 1 with promotional data to formulate a personalized advertisement directed at user 1 .
- the remote service system 9 could combine user data (such as the directory file location of the user system 2 that contains the installed software 5 ) with the appropriate activation code, to formulate a self executing program file which, upon an access event, would automatically install the service data 16 into the correct file location of the user system 2 .
- Formulation of the service data may include, but is not limited to, a series of calculations, combinations, and/or sorting out of the appropriate archived data. Generation of the service data may occur at any time prior to or after the remote service system 9 determines that user 1 is not a pirator of software 5 and is eligible to receive the service data 16 .
- the remote service system 9 transmits service data 16 to the user system 2 .
- Transmission of the service data 16 may be accomplished in a number of ways. The first two methods involve an event wherein the service data 16 is uploaded into the user system 2 , while the third method requires user 1 to download the service data 16 into user system 2 .
- the remote service system 9 initiates an uploading event in which the service data is automatically transferred from the remote service system 9 to the user system 2 wherein it is storably received via storage element 3 for storably receiving service data 16 .
- the remote service system 9 may determine the appropriate file directory location on user system 2 in which to upload the service data. Determination of this location may be accomplished by, but is not limited to, manual selection by user 1 , as transmitted by the user (e.g. user data), or via an interactive search of the file directory of user system 2 .
- remote service system 9 manually transmits the service data 16 to the user system 2 .
- Manual transmission of the service data 16 allows remote service system personnel to decide when the transfer sequence should be initiated. Furthermore, manual transmission enables such personnel to manually enter and transmit needed service data 16 which may not have been processed by element 14 within remote service system 9 .
- the service data 16 is made available to user 1 for downloading into user system 2 .
- the remote service system 9 transfers the archived data 16 into a file that can be downloaded by user 1 .
- the downloaded file contains service data and possibly some elements of user data.
- the file contain a self-executing installation program that is triggered upon an access event by the user. For example, as a result of successfully downloading and accessing the file, service data 16 may automatically be installed into the appropriate file directory of the user system 2 .
- the software 5 will gain full functionality. Complete activation of the software 5 will allow user 1 to freely utilize it to its full potential. Preferably, user 1 will never need to go through the online activation process (as mentioned herein) again unless user 1 attempts to install the software 5 on another user system, or attempts to re-install it on current user system 2 .
- FIG. 2 illustrates, in block diagram form, one possible “real time” cycle run of the present invention.
- user 1 successfully installs a given software application on user system 2 , at block 19 .
- the software 5 proceeds to block 21 , and informs user 1 that online activation is required in order for it to function.
- user 1 decides to register the software 5 , user 1 must connect online to the appropriate remote service system 9 , as shown at block 22 .
- the remote service system 9 may request user 1 to enter and transmit user data 7 to the remote service system 9 , as indicated by block 23 .
- the remote service system 9 may also attempt to detect any user data 7 that can be detected by virtue of the online connection between the user system 2 and remote service system 9 , as represented by block 24 . If the appropriate and necessary user data 7 is entered and transmitted by user 1 , at block 25 , or detected by the remote service system 9 , at block 26 , then such user dated is stored and processed by the remote service system 9 as indicated at block 27 . It should be noted that, if user 1 fails to provide and transmit the appropriate and necessary user data 7 , and/or if remote service system 9 is unable to detect the appropriate and necessary user data 7 , the cycle will repeat and be taken back to block 23 of FIG. 2 .
- the processing of user data 7 allows remote service system 9 to determine if the user is a pirator of the software 5 . If remote service system 9 determines that user 1 is not a pirator, at block 28 , then service data 16 is processed, at block 29 . At this point, remote service system 9 transmits service data 16 to user system 2 , at block 30 . Transmission may be accomplished via uploading or downloading methods as described earlier. After service data 16 is storably received by user system 2 , at block 31 , the software 5 will be active and fully operational subject to successful activation by service data 16 , as indicated by block 32 . In the event that service data 16 is not properly received by user system 2 , or fails to activate the software 5 , the cycle will repeat, starting from block 18 .
- remote service system 9 may refuse to transmit the service data 16 , as shown by block 33 . Additionally, it may investigate into the possibility of piracy, at block 34 , as well as blacklist the identified software 5 , as shown by block 35 .
Abstract
A method and system for preventing piracy of a given software application which makes use of a communications network, such as the Internet. A given software application, when initially installed on a user system, is non-functional until activated by a remote service provider. The user must provide the remote service provider with user data, such as the user's personal identity information and the unique software identification code relating to the specific software. User data is compared to archived data to determine if the user is a pirator of the software. If the user is not a pirator, then the remote service provider transmits service data, such as an activation code, to the user system. Once activated, the software becomes fully operational, and the user is allowed complete access to its functions.
Description
- This patent application is a divisional application based upon co-pending U.S. patent application Ser. No. 09/594,004, filed Jun. 14, 2000, and the benefit of such earlier filing date is hereby claimed by Applicant under 35 U.S.C. §120.
- 1. Field of the Invention
- The field of the invention generally relates to methods for preventing the piracy of software applications. The invention relates more particularly to a computer method and system for preventing the piracy of a given software application through use of a communications network, such as the Internet, wherein a given software application, installed on a user system, will function only after a remote service provider transmits a code sequence that will activate the software for use.
- 2. Description of the Related Art
- The creation of the personal computer has drastically simplified the way in which people manage their business and personal affairs. One of the main reasons why the computer has had such a great impact on our lives is due to the constant development of software applications which allow the computer to perform an array of different tasks and functions. As software applications advance, however, so too does their complexity and the programming skill needed to write and develop them. This has naturally caused many software applications to be quite expensive. Such high costs have often resulted in unauthorized distribution of copied software that has not been paid for or licensed to the user. This type of piracy is especially common among friends, relatives, and business associates. Additionally, people also profit from piracy by producing illegal copies of a software application and distributing them in mass quantities for drastically reduced prices.
- Due to the availability and low cost of sophisticated computer equipment such as the CD
- Write/Re-Write drive, software piracy has become a much greater concern over the current years.
- Today, virtually everyone can get access to such equipment and distribute CD based copies of software applications to whomever they please. Mass distribution of pirated software not only deprives software manufacturers of their deserved earnings, but also allows other software pirators to pirate unlicensed copies of that application and propound the damage exponentially. As such, piracy has often resulted in inflated software prices and irreparable damage to software companies.
- In an effort to combat the problems of software piracy, many software companies have employed various preventative measures. Some of these include software access codes, activation plugs (i.e., Memo-HASP), registration, and even costly technical support services. Although somewhat effective, these measures have often been defeated with relative ease and little or no expense. For example, software access codes which must be entered to gain access to the software, are disclosed with the software package and are thus, easily copied and distributed to unlicensed, users. Activation plugs, such as the ones which attach to the PC's parallel port, have also been easily duplicated by various manufacturers who illegally sell them on the black market. Furthermore, while registration of the software would inform the manufacturer of all users (licensed and unlicensed), pirators rarely register given the absence of a compelling motivation to do so. Lastly, technical support groups are likewise, rarely used by pirators, given their reluctance to disclose their illegal use of the software. As shown by these and other ineffective measures, it would be advantageous for a software manufacturer to control the functionality of a given software application in relation to each of its identified users.
- It is the object of the present invention to provide a reliable and effective method and system for preventing piracy of a given software application over a communications network, whereby the software application will not function unless activated by a remote service provider.
- It is further the object of the present invention to provide a method and system for identifying each separate user of a given software application who installs and intends to effectively utilize the given software application.
- It is further the object of the present invention to provide a method and system for associating user data to archived data accessible by the remote service provider, in order to determine if the user is a pirator of the software application.
- Briefly described, and in accordance with preferred embodiments thereof, the present invention relates to a method and system for preventing piracy of individual software applications. A remote service system, controlled by a remote service provider, storably receives user data that is transmitted by a user of a given software application. Upon receiving the user data, the remote service system associates it to stored archive data which is accessible to the remote service provider. If it is determined that the user is not a pirator of the software, the remote service system will transmit service data which will activate the software and allow the user to utilize its full functionality. In this manner, the remote service provider can limit software piracy, as only legitimate users of the software will be given the service data needed to activate the software.
-
FIG. 1 is an overview diagram pictorially illustrating the flow of information that occurs between a user of a given software application and the remote service system in a preferred embodiment of the method and system for prevention of software piracy according to the present invention. -
FIG. 2 is a block flowchart of the information flow that occurs in a preferred embodiment of the method and system for prevention of software piracy according to the present invention. - In reference to the drawings,
FIGS. 1 and 2 show the information flow that occurs in a method and system (hereinafter “method”), indicated at reference character 100 inFIG. 1 , for preventing of piracy of a given software application via a communications network, such as the Internet 8. BothFIGS. 1 and 2 illustrate the process by which a user would attempt to activate a given software application. - As shown in
FIG. 1 , theuser 1 successfully installs a given software application 5 (hereinafter “software”) on thedata storage element 4 of the user'ssystem 2. Theuser system 2 is generally defined as the user's computer terminal, which typically consists of a central processing unit, or CPU (not shown), adata storage element 4, an element for storably receiving transmitteddata 3, an element for transmittingdata 6, and a monitor and keyboard. While thesoftware 5 may utilize various anti-piracy measures, two such measures, are especially worth noting in relation to the present invention, and are discussed in greater detail below. The first measure is a program code sequence that identifies the specific software 5 (hereinafter “identification code”), while the second is an additional program code sequence that would be needed to activate the software 5 (hereinafter “activation code”). It is preferred that transmission of both of these code sequences, between theuser 1 andremote service system 9, would be accomplished over the Internet 8. As used herein, a “user” can be an individual entity or collaborate entity, such as a business, family, or even friends, who legitimately acquired a license and/or right to use the givensoftware 5. Furthermore, theremote service system 9 can be the software manufacturer or an independent company, working in conjunction with the software manufacturer, to prevent software piracy. Upon an initial attempt to access the installedsoftware 5,user 1 will be informed that thesoftware 5 requires online activation before it can be operational. Online activation will render the givensoftware 5 operational, subject to receiving the activation code from theremote service system 9. This requires that thesoftware 5 be designed wherein it is either partially or completely dysfunctional prior to receiving the activation code, as will be discussed below. By connecting to theremote service system 9 through the Internet 8, a user who is not pirating thesoftware 5 will be able to have thesoftware 5 activated online. Although the Internet 8 is used herein when referencing a communications network, the present invention is intended to include all forms of communications network environments known to one skilled in the relevant art. Thus, method 100 is equally applicable to all interconnected computer systems capable of transmitting and receiving data, preferably digital data, which allow users of the network to communicate. In this regard, a communications network includes, but is not limited to, all telecommunications networks such as the Internet, i.e. the World Wide Web and BBS systems, hardwire telephony, wireless networks including cellular and PCS systems, satellite networks, etc. Furthermore, communications networks include localized and regional networks such as intranets and local area network (LAN) systems which interconnect a relatively few number of user systems or terminals, typically by means of a centralized server. - Once
user 1 establishes an online connection to theremote service provider 9,user 1 enters and transmitsuser data 7, via anelement 6 for transmitting user data, to theremote service system 9 over the Internet 8. Theuser data 7 is subsequently received by theremote service system 9 via anelement 10 for storably receiving user data, and stored in thedata storage element 12 of theremote service system 9. Although the transfer ofuser data 7 to theremote service system 9 would preferably be initiated byuser 1, this need not always be the case. Onceuser 1 connects to theremote service system 9 via the Internet 8, theuser data 7 may be automatically detected by anelement 11 for detecting user data of theremote service system 9. In this case, the detecteduser data 7 will likewise be received by theremote service system 9 viaelement 10, and subsequently stored by thedata storage element 12 of theremote service system 9. It is notable that the term “user data” is defined and understood herein and in all the claims to mean any information originating from and/or available to the user of thesoftware 5. This includes, but is not limited to personal identification information such as user name, address, location, phone number, etc. Additionally,user data 7 may consist of any information relating to thesoftware 5 which identifies and distinguishes it from other “same type” or distinct software applications. This can include, but is not limited to information such as an “identification code” (as noted earlier), a product serial number, name, and/or version number. - It is worthy to mention that the
software 5 should preferably contain an identification code, which is a program code sequence comprised of alphanumeric characters, that would serve to identify each authorized copy of a software application. Given its function, the identification code may be synonymous with a product's distinct serial number. Preferably, the identification code will be unique to each software application sold, and will be disclosed to bothuser 1 andremote service system 9. The advantage of a unique identification code is that it will allow theremote service system 9 to recognize and keep track of each authentic copy of a software application sold. Although the identification code could consist of an elongated alphanumeric code sequence, such as a “program file(s)”, it is preferred that it consist of a short code sequence of alphanumeric characters, e.g. XJR-U89K-RJ2P1. A short identification code sequence will allow thesoftware 5 to be simply and easily identified. It should finally be noted thatuser data 7 may also refer to information identifying theuser system 2 such as serial and model number as well as the type, function, and performance of the various system hardware components. - After receiving and storing
user data 7, theremote service system 9 processes theuser data 7 via anelement 13 for processing user data.Element 13 may be, but is not limited to, software, hardware device(s), or a combination of these two, which would allow for processing of the user data in the manner noted herein. Additionally,element 13, used to process user data, may likewise include the remote service system's personnel staff who would be able to manually initiate processing of the user data, in the manner noted below. - Processing of the user data may include, but is not limited to an “archiving” event wherein a wide range of information that is received by or made available to the
remote service system 9 is sorted, arranged, and organized into retrievable data files. Archived data stored in thedata storage element 12 of theremote service system 9 may consist of, but is not limited to, a mass assortment of receivably stored user data (e.g. “identification codes”), service data (discussed below), and promotions, etc. Here, the archived data would relate to distinct users, various software applications, and potential advertisements; all of which may exist independently of one another. Second, archived data may also consist of information indicating the amount of user online activation attempts recorded for each identifiedsoftware 5. Finally, archived data may include all other information that might be of use to theremote service system 9 in preventing piracy of a given software application. - Processing of the
user data 7 may also consist of an “associating” event wherein the currently transmitteduser data 7 is compared to archived data contained in thedata storage element 12 of theremote service system 9. It is important to note that “associating” the currently transmitteduser data 7 to archived data will allow theremote service system 9 to determine if theuser 7 is attempting to activate a pirated version of thesoftware 5. Here, the “product identification code” ofsoftware 5, along withother user data 7 currently being received from theuser system 2, will be compared to existing archived data. If the archived data establishes that thesoftware 5 is legally registered to a completely distinct user, such may indicate that the user currently online is trying to activate a pirated version of thesoftware 5. This result will occur if the archived data referencing thesoftware 5 does not match theuser data 7 currently being transmitted by theuser system 2, and/or if the archived data indicates that there have been repeated and numerous attempts to activate thesame software 5. - Multiple online activation attempts of the
same software 5, regardless if such attempts are a single user or multiple users, would naturally indicate that thesoftware 5 was pirated and distributed to a multitude of different users. In this situation, the remote service provider may contact the registered user(s) to investigate into potential piracy. Additionally, theremote service system 9 may “blacklist” thespecific software 5, as referenced by its identification code. Blacklisting of a given software application would mean that the identified software would be prohibited from receiving any future activation codes from theremote service system 9. For all intents and purposes, such an event would render the identified software void and permanently dysfunctional. This is because the software, as sold to the user, would need the activation code in order to function. Absent this code, the identified software would be inoperative and no longer subject to piracy. - When it is determined by the
remote service system 9 thatuser 1 is not a pirator of thesoftware 5, service data, such as theactivation code 17, may be transmitted to theuser system 2. Thesoftware 5 and/or theuser system 2 are responsive to such service data. As used in this invention, the term “service data” is defined and understood herein and in all the claims to mean any data that theremote service system 9 may legitimately transmit to theuser system 2 during the online activation process for thesoftware 5.Service data 16 may include, but is not limited to instructions, promotional messages, and an activation code(s). The instructions may guideuser 1 through the steps for activating thesoftware 5, while a promotional message program code sequence may offer and display a particular product or service for sale. Theactivation code 17, as noted earlier, is a program code sequence that will serve to activate each individual software application, which absent theactivation code 17, would be dysfunctional. The activation code may either be unique to eachindividual software 5 sold (hereinafter “unique activation code”) or unique to a group of software (hereinafter “common activation code”) that relate to a common software program, manufacturer, brand name, or version, etc. Of the two, the preferred embodiment would be the “unique activation code” which is unique to eachindividual software 5 sold. - One of the main advantages of using a unique activation code is the drastic curtailment of software piracy. Each authorized copy of
software application 5 is designed to be responsive to a distinct activation code. As such, an attempt to pirate distinct software applications would entail a tedious and time consuming task requiring the hacker to uncover the activation code of each individual, authorized software product. Furthermore, a unique activation code will not allow for the activation of any “general” copy of the software which would otherwise be responsive to a common activation code. As an alternative to a unique activation code, a common activation code would activate all “same type” software applications. Developing “same type” software to be responsive to a common activation code may be advantageous given the potential for reducing confusion and troubleshooting errors which could arise during the software manufacturing and online activation stages. - It is noteworthy to mention that, similar to the identification code, the activation code may likewise consist of either a long or short program code sequence. As noted earlier, a short code sequence would consist of a concise sequence of alphanumeric characters, e.g. HT3-GY2K-WR0P, while a long code sequence would consist of a small or large arrangement of alphanumeric data that result in a “program file(s)”. Use of a long code sequence would be the preferred method of constructing the activation code. This is because a long code sequence (i.e. a program file) would be much harder to replicate than a short code sequence.
Software application 5 can initially be supplied missing certain program files necessary forsoftware application 5 to function. Only after these missing program files (e.g., the activation code) are transmitted from theremote service system 9 to theuser system 2, will thesoftware 5 be functional. - An activated software application will be fully operational and allow the user complete access to it. Although not required,
activation code 17 preferably remains undisclosed touser 1. The need for the activation code will compeluser 1 to register thesoftware 5 online with theremote service system 9. Furthermore, and more importantly, having theactivation code 17 only known to the remote service provider and its business affiliates (such as the software manufacturer) will prevent piracy of thesoftware 5. This is because users who wish to pirate thesoftware 5 will not be able to replicate the activation code and distribute it along with a medium (e.g. CD ROM) containing a copy of thesoftware 5.Activation code 17 is preferably designed to be immune from discovery by computer hackers and sophisticated programmers. The objective is to prevent these individuals from “breaking in” to thesoftware 5 and either re-writing or discovering the undisclosed activation code. As noted earlier, this may require constructing the activation code as a long code sequence which results in a program file(s). Additionally, other measures may include code encryption as well as any other programming methods known to those skilled in the relevant technical art. - Before
software application 5 can be activated, the appropriate service data must be processed and transmitted to theuser system 2. Processing of theservice data 16 requires that it be either extracted or generated from the archived data stored on thedata storage element 12 of theremote service system 9. Extraction or generation of theservice data 16 is accomplished by anelement 14 for processing service data, as referenced in Method 100 ofFIG. 1 .Element 14 may be, but is not limited to, software, hardware device(s), or a combination of the two, which would allow for processing of the service data, in the manner described herein. Additionally,element 14, used to processservice data 16, may likewise include the remote service system's personnel staff who would be able to manually initiate processing of theservice data 16, in the manner described herein. - Extraction of
service data 16 from the archived data entails a selection process wherein only the appropriate and necessary service data is singled out from the total archived data and made available for transmission to theuser system 2. Extraction of the service data is necessary given the variety of software applications, and the multitude of distinct service data entries, that may be stored and archived by theremote service system 9. For example, the activation code “ABC-123”, contained in the archived data, would only be extracted when auser 1 who possesses the specific software referencing the identification code “ABC-123” attempts to activate it online. Stated differently, service data containing an activation code relating to Microsoft Word 2000 would not be extracted for a user trying to activate a Norton Anti-virus software application. The reason for this is that different users will require different service data, depending on the requirements of the specific software that they are attempting to activate. - Alternatively, the second embodiment for processing the
service data 16 pertains to an event which causes theservice data 16 to be generated. This event entails a process wherein pre-existing archived data may be formulated into the appropriate service data upon request from theremote service system 9. Generation of service data can be advantageous, as this method will permit theremote service system 9 to manipulate various data components, existing in the archived data, in order to formulate theservice data 16. For example, theremote service system 9 may combine personal identification information belonging touser 1 with promotional data to formulate a personalized advertisement directed atuser 1. Additionally, theremote service system 9 could combine user data (such as the directory file location of theuser system 2 that contains the installed software 5) with the appropriate activation code, to formulate a self executing program file which, upon an access event, would automatically install theservice data 16 into the correct file location of theuser system 2. Formulation of the service data may include, but is not limited to, a series of calculations, combinations, and/or sorting out of the appropriate archived data. Generation of the service data may occur at any time prior to or after theremote service system 9 determines thatuser 1 is not a pirator ofsoftware 5 and is eligible to receive theservice data 16. - Once the
service data 16 is extracted or generated via element 14 (i.e., the element for processing service data), theremote service system 9 transmitsservice data 16 to theuser system 2. Transmission of theservice data 16 may be accomplished in a number of ways. The first two methods involve an event wherein theservice data 16 is uploaded into theuser system 2, while the third method requiresuser 1 to download theservice data 16 intouser system 2. In the first embodiment for uploading theservice data 16, theremote service system 9 initiates an uploading event in which the service data is automatically transferred from theremote service system 9 to theuser system 2 wherein it is storably received viastorage element 3 for storably receivingservice data 16. It may be necessary for theremote service system 9 to determine the appropriate file directory location onuser system 2 in which to upload the service data. Determination of this location may be accomplished by, but is not limited to, manual selection byuser 1, as transmitted by the user (e.g. user data), or via an interactive search of the file directory ofuser system 2. - In the second embodiment for uploading of
service data 16,remote service system 9 manually transmits theservice data 16 to theuser system 2. Manual transmission of theservice data 16 allows remote service system personnel to decide when the transfer sequence should be initiated. Furthermore, manual transmission enables such personnel to manually enter and transmit neededservice data 16 which may not have been processed byelement 14 withinremote service system 9. - Finally, in a third embodiment, the
service data 16 is made available touser 1 for downloading intouser system 2. Theremote service system 9 transfers thearchived data 16 into a file that can be downloaded byuser 1. The downloaded file contains service data and possibly some elements of user data. As noted earlier, it is preferred that the file contain a self-executing installation program that is triggered upon an access event by the user. For example, as a result of successfully downloading and accessing the file,service data 16 may automatically be installed into the appropriate file directory of theuser system 2. - Following successful upload or installation of the service data 16 (e.g., the activation code 17) into the
user system 2, thesoftware 5 will gain full functionality. Complete activation of thesoftware 5 will allowuser 1 to freely utilize it to its full potential. Preferably,user 1 will never need to go through the online activation process (as mentioned herein) again unlessuser 1 attempts to install thesoftware 5 on another user system, or attempts to re-install it oncurrent user system 2. - Although many different scenarios can arise during the online activation process of a given
software 5,FIG. 2 illustrates, in block diagram form, one possible “real time” cycle run of the present invention. Starting fromblock 18,user 1 successfully installs a given software application onuser system 2, atblock 19. Following an initial access event of thesoftware 5, as indicated byblock 20, thesoftware 5 proceeds to block 21, and informsuser 1 that online activation is required in order for it to function. Ifuser 1 decides to register thesoftware 5,user 1 must connect online to the appropriateremote service system 9, as shown atblock 22. At this point, theremote service system 9 may requestuser 1 to enter and transmituser data 7 to theremote service system 9, as indicated byblock 23. Theremote service system 9 may also attempt to detect anyuser data 7 that can be detected by virtue of the online connection between theuser system 2 andremote service system 9, as represented byblock 24. If the appropriate andnecessary user data 7 is entered and transmitted byuser 1, atblock 25, or detected by theremote service system 9, atblock 26, then such user dated is stored and processed by theremote service system 9 as indicated atblock 27. It should be noted that, ifuser 1 fails to provide and transmit the appropriate andnecessary user data 7, and/or ifremote service system 9 is unable to detect the appropriate andnecessary user data 7, the cycle will repeat and be taken back to block 23 ofFIG. 2 . - The processing of
user data 7 allowsremote service system 9 to determine if the user is a pirator of thesoftware 5. Ifremote service system 9 determines thatuser 1 is not a pirator, atblock 28, thenservice data 16 is processed, atblock 29. At this point,remote service system 9 transmitsservice data 16 touser system 2, atblock 30. Transmission may be accomplished via uploading or downloading methods as described earlier. Afterservice data 16 is storably received byuser system 2, atblock 31, thesoftware 5 will be active and fully operational subject to successful activation byservice data 16, as indicated byblock 32. In the event that servicedata 16 is not properly received byuser system 2, or fails to activate thesoftware 5, the cycle will repeat, starting fromblock 18. - Finally, it is noteworthy to mention that, in the event that
remote service system 9 determines thatuser 1 is pirating thesoftware 5,remote service system 9 may refuse to transmit theservice data 16, as shown byblock 33. Additionally, it may investigate into the possibility of piracy, atblock 34, as well as blacklist the identifiedsoftware 5, as shown byblock 35. - The program code sequence, and all other technical aspects described above, are all conventional and known to those skilled in the art and need not be described in detail herein. Furthermore, the term “element”, as stated in the specification and all the claims herein, may be construed in the singular and/or the plural tense.
- The above-described embodiments of the present invention are to be considered in all respects as illustrative, and not restrictive; the scope of the invention is indicated by the appended claims rather than by the foregoing description. All changes which come within the meaning and range of equivalency of the claims are intended to be embraced therein.
Claims (55)
1. A method of preventing piracy of a given software application comprising the steps of:
assigning a unique identification code to each authentic copy of such software application;
installing the software application in a data storage element on a user's computer;
configuring the software application to require service data to activate at least part of its functionality;
requiring the user to communicate user data to a remote service provider, the user data being derived, at least in part, from the identifying data that identifies the user, and being derived, at least in part, from the unique identification code;
archiving identifying data received from a user for each unique identification code if no such identifying data has previously been archived for such unique identification code;
comparing received identifying data associated with a unique identification code with previously archived identifying data corresponding to the same unique identification code if such identifying data has previously been archived;
selectively transmitting service data to the user's computer when no such identifying data has previously been archived for such unique identification code;
selectively transmitting service data to the user's computer when the received identifying data is consistent with previously archived data for the same unique identification code; and
receiving the transmitted service data within the data storage element of the user's computer to activate at least part of the functionality of the software application.
2. The method recited by claim 1 wherein said step of selectively transmitting service data to the user's computer when the received identifying data is consistent with previously archived data for the same unique identification code includes the steps of:
a. determining the number of times that said service data has been requested; and
b. refusing transmission of said service data when the number of times that said service data has been requested exceeds a predetermined threshold.
3. The method recited by claim 1 including the steps of:
a. determining the number of times that received identifying data is not consistent with previously archived data for the same unique identification code; and
b. refusing transmission of said service data when the number of times that received identifying data is not consistent with previously archived data for the same unique identification code exceeds a predetermined threshold.
4. The method recited by claim 1 further including the step of archiving identifying data received from a user for each unique identification code subsequent to an initial archiving of identifying data pertaining to the same unique identification code.
5. The method recited by claim 1 wherein said received service data is stored within the data storage element of the user's computer.
6. The method recited by claim 1 wherein said user data includes product information relating to said software application installed on the user's computer.
7. The method recited by claim 1 wherein said service data is maintained in a data storage element of the remote service provider.
8. The method recited by claim 7 wherein said service data comprises at least one program code sequence that activates at least part of the functionality of said software application installed on the user's computer.
9. The method recited by claim 7 wherein said service data includes at least one program code sequence that results in a promotional message that may be displayed to said user on the user's computer.
10. The method recited by claim 1 wherein said service data is derived at least in part from said communicated user data.
11. The method recited by claim 1 wherein said service data is transferred by said remote service provider without human intervention and received by the user's computer.
12. The method recited by claim 1 said service data is manually transferred from said remote service provider to the user's computer.
13. The method recited by claim 1 wherein said service data is made available to the user from said remote service provider, the user being able to download said service data into said user's computer.
14. The method recited by claim 1 wherein said software application includes a program code sequence that identifies said software application installed on the user's computer, said software application additionally being responsive to a second program code sequence that activates at least part of the functionality of said software application, and which is transmitted to the user's computer.
15. A method of preventing piracy of a given software application comprising the steps of:
assigning a unique identification code to each authentic copy of such software application;
installing the software application in a data storage element on a user's computer;
configuring the software application to require service data to activate at least part of its functionality;
requiring the user to communicate user data to a service provider, the user data being derived, at least in part, from the identifying data that identifies the user, and being derived, at least in part, from the unique identification code;
archiving identifying data received from a user for each unique identification code if no such identifying data has previously been archived for such unique identification code;
comparing received identifying data associated with a unique identification code with previously archived identifying data corresponding to the same unique identification code if such identifying data has previously been archived, and if so, determining whether such previously archived data is consistent with newly-received identifying data for the same unique identification code.
16. The method recited by claim 15 further including the step of communicating service data to the user to activate at least part of the said software's functionality.
17. The method recited by claim 16 , wherein said communicated service data is stored within the data storage element of the user's computer.
18. The method recited by claim 16 wherein said step of communicating service data to the user further includes the steps of:
a. determining the number of times that said service data has been requested; and
b. refusing transmission of said service data when the number of times that said service data has been requested exceeds a predetermined threshold.
19. The method recited by claim 15 further including the step of archiving identifying data received from a user for each unique identification code subsequent to an initial archiving of identifying data pertaining to the same unique identification code.
20. The method recited by claim 15 wherein said user data includes product information relating to said software application installed on the user's computer.
21. The method recited by claim 16 wherein said service data is maintained in a data storage element of said service provider.
22. The method recited by claim 16 wherein said service data comprises at least one program code sequence that activates at least part of the functionality of said software application installed on the user's computer.
23. The method recited by claim 16 wherein said service data includes at least one program code sequence that results in a promotional message that may be displayed to said user on the user's computer.
24. The method recited by claim 16 wherein said service data is derived at least in part from said communicated user data.
25. The method recited by claim 16 wherein said service data is transferred by said service provider without human intervention and received by the user's computer.
26. The method recited by claim 16 wherein said service data is manually transferred from said service provider to the user's computer.
27. The method recited by claim 16 wherein said service data is made available to the user from said service provider, the user being able to download said service data into the user's computer.
28. The method recited by claim 15 wherein said software application includes a program code sequence that identifies said software application installed on said data storage element of the user's computer, said software application additionally being responsive to a second program code sequence that activates at least part of the functionality of said software application.
29. A method of preventing piracy of a given software application comprising the steps of:
assigning a unique identification code to each authentic copy of such software application;
installing the software application in a data storage element on a user's computer;
configuring the software application to require service data to activate at least part of its functionality;
requiring the user to communicate user data to a service provider, the user data being derived, at least in part, from the identifying data that identifies the user, and being derived, at least in part, from the unique identification code;
comparing received identifying data associated with a unique identification code with previously archived identifying data corresponding to the same unique identification code if such identifying data has previously been archived;
selectively communicating service data to the user when the received identifying data is consistent with previously archived data for the same unique identification code; and
receiving the communicated service data wherein said service data is used to activate at least part of the functionality of the software.
30. The method recited by claim 29 wherein said step of selectively communicating service data to the user when the received identifying data is consistent with previously archived data for the same unique identification code includes the steps of:
a. determining the number of times that said service data has been requested; and
b. refusing communication of said service data when the number of times that said service data has been requested exceeds a predetermined threshold.
31. The method recited by claim 29 including the steps of:
a. determining the number of times that received identifying data is not consistent with previously archived data for the same unique identification code; and
b. refusing communication of said service data when the number of times that received identifying data is not consistent with previously archived data for the same unique identification code exceeds a predetermined threshold.
32. The method recited by claim 29 further including the step of archiving identifying data received from a user for each unique identification code.
33. The method recited by claim 29 wherein said received service data is stored within the data storage element of the user's computer.
34. The method recited by claim 29 wherein said service data comprises at least one program code sequence that activates at least part of the functionality of said software application installed on said data storage element of the user's computer.
35. A system for preventing piracy of a given software application, said software application having a unique identification code associated therewith, and said software application requiring service data to activate at least part of the functionality of said software application, said system comprising:
a user computer system on which a user desires to operate the software application, said user system being connected to a communications network to transmit user data and to receive said service data, said user data being derived at least in part from identifying data which identifies the user, and being derived at least in part from said unique identification code;
a remote service computer system connected to said communications network to receive user data transmitted over the communications network from the user computer system, said remote service computer system configured to performing the following steps:
archiving identifying data received from a user for each unique identification code if no such identifying data has previously been archived for such unique identification code;
comparing received identifying data associated with a unique identification code with previously archived identifying data corresponding to the same unique identification code if such identifying data has previously been archived;
selectively transmitting service data to the user's computer system when no such identifying data has previously been archived for such unique identification code;
selectively transmitting service data to the user's computer system when it is determined that the received identifying data is consistent with previously archived data for the same unique identification code.
36. The system as in claim 35 wherein said service data is maintained by said remote service computer system in a data storage element used to archive said service data.
37. The system as in claim 35 wherein said service data consists, at least in part, of an activation code sequence to activate at least part of the functionality of the software application.
38. The system as in claim 35 wherein said service data is transferred by said remote service computer system without human intervention and received by said user computer system.
39. The system as in claim 35 wherein said service data is manually transferred from said remote service computer system to said user computer system.
40. The system as in claim 35 wherein said service data is made available to said user from said remote service system, said user being able to download said service data into said user computer system.
41. The system as in claim 35 wherein said software application includes a program code sequence that identifies said software application stored on said user computer system, said software application additionally being responsive to a second program code sequence that activates at least part of the functionality of said software application.
42. The system as recited in claim 35 wherein said service data includes at least one program code sequence that results in a promotional message that may be displayed to said user on said user computer system.
43. The system as recited in claim 35 wherein said service data is received by the data storage element of the user computer system to activate at least part of the functionality of said software application.
44. A method of preventing piracy of a given software application comprising the steps of:
assigning a unique identification code to each authentic copy of such software application;
installing the software application in a data storage element on a user's computer;
configuring the software application to require service data to activate at least part of its functionality;
requiring the user to communicate user data to a service provider, the user data being derived, at least in part, from the identifying data that identifies the user, and being derived, at least in part, from the unique identification code;
archiving identifying data received from a user for each unique identification code if no such identifying data has previously been archived for such unique identification code;
comparing received identifying data associated with a unique identification code with previously archived identifying data corresponding to the same unique identification code if such identifying data has previously been archived;
selectively communicating service data to the user when no such identifying data has previously been archived for such unique identification code; selectively communicating service data to the user when the received identifying data is consistent with previously archived data for the same unique identification code.
45. The method recited by claim 44 wherein said service data is received by said user to activate at least part of the functionality of said software application.
46. The method recited by claim 44 wherein said service data comprises at least one program code sequence that activates at least part of the functionality of said software application installed on the user's computer.
47. The method recited by claim 44 further including the step of archiving identifying data received from a user for each unique identification code subsequent to an initial archiving of identifying data pertaining to the same unique identification code.
48. The method recited by claim 44 wherein said step of selectively communicating service data to the user when the received identifying data is consistent with previously archived data for the same unique identification code includes the steps of:
a. determining the number of times that said service data has been requested; and
b. refusing communication of said service data when the number of times that said service data has been requested exceeds a predetermined threshold.
49. The method recited by claim 44 including the steps of:
a. determining the number of times that received identifying data is not consistent with previously archived data for the same unique identification code; and
b. refusing communication of said service data when the number of times that received identifying data is not consistent with previously archived data for the same unique identification code exceeds a predetermined threshold.
50. The method recited by claim 44 wherein said received service data is stored within the data storage element of the user's computer.
51. The method recited by claim 44 wherein said user data includes product information relating to said software application installed on the user's computer.
52. The method recited by claim 44 wherein said service data is maintained in a data storage element of the service provider.
53. The method recited by claim 44 wherein said service data includes at least one program code sequence that results in a promotional message that may be displayed to said user on the user's computer.
54. The method recited by claim 44 wherein said service data is derived at least in part from said communicated user data.
55. The method recited by claim 44 wherein said software application includes a program code sequence that identifies said software application installed on the user's computer, said software application additionally being responsive to a second program code sequence that activates at least part of the functionality of said software application.
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/311,964 US20060179486A1 (en) | 2000-06-14 | 2005-12-19 | Method and system for prevention of piracy of a given software application via a communications network |
US12/182,135 US20080282360A1 (en) | 2000-06-14 | 2008-07-30 | Activation code system and method for preventing software piracy |
US13/196,158 US20110289602A1 (en) | 2000-06-14 | 2011-08-02 | Activation code system and method for preventing software piracy |
US13/451,477 US8613110B2 (en) | 2000-06-14 | 2012-04-19 | Software piracy prevention through remote enforcement of an activation threshold |
US14/070,207 US9298893B2 (en) | 2000-06-14 | 2013-11-01 | Activation code system and method for preventing software piracy |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/594,004 US7024696B1 (en) | 2000-06-14 | 2000-06-14 | Method and system for prevention of piracy of a given software application via a communications network |
US11/311,964 US20060179486A1 (en) | 2000-06-14 | 2005-12-19 | Method and system for prevention of piracy of a given software application via a communications network |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/594,004 Division US7024696B1 (en) | 2000-06-14 | 2000-06-14 | Method and system for prevention of piracy of a given software application via a communications network |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/182,135 Continuation US20080282360A1 (en) | 2000-06-14 | 2008-07-30 | Activation code system and method for preventing software piracy |
Publications (1)
Publication Number | Publication Date |
---|---|
US20060179486A1 true US20060179486A1 (en) | 2006-08-10 |
Family
ID=36102181
Family Applications (6)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/594,004 Expired - Lifetime US7024696B1 (en) | 2000-06-14 | 2000-06-14 | Method and system for prevention of piracy of a given software application via a communications network |
US11/311,964 Abandoned US20060179486A1 (en) | 2000-06-14 | 2005-12-19 | Method and system for prevention of piracy of a given software application via a communications network |
US12/182,135 Abandoned US20080282360A1 (en) | 2000-06-14 | 2008-07-30 | Activation code system and method for preventing software piracy |
US13/196,158 Abandoned US20110289602A1 (en) | 2000-06-14 | 2011-08-02 | Activation code system and method for preventing software piracy |
US13/451,477 Expired - Lifetime US8613110B2 (en) | 2000-06-14 | 2012-04-19 | Software piracy prevention through remote enforcement of an activation threshold |
US14/070,207 Expired - Lifetime US9298893B2 (en) | 2000-06-14 | 2013-11-01 | Activation code system and method for preventing software piracy |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/594,004 Expired - Lifetime US7024696B1 (en) | 2000-06-14 | 2000-06-14 | Method and system for prevention of piracy of a given software application via a communications network |
Family Applications After (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/182,135 Abandoned US20080282360A1 (en) | 2000-06-14 | 2008-07-30 | Activation code system and method for preventing software piracy |
US13/196,158 Abandoned US20110289602A1 (en) | 2000-06-14 | 2011-08-02 | Activation code system and method for preventing software piracy |
US13/451,477 Expired - Lifetime US8613110B2 (en) | 2000-06-14 | 2012-04-19 | Software piracy prevention through remote enforcement of an activation threshold |
US14/070,207 Expired - Lifetime US9298893B2 (en) | 2000-06-14 | 2013-11-01 | Activation code system and method for preventing software piracy |
Country Status (1)
Country | Link |
---|---|
US (6) | US7024696B1 (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7249383B1 (en) * | 2002-01-30 | 2007-07-24 | Mccully Timothy R | Method of detecting piracy of proprietary material |
US20080148253A1 (en) * | 2006-12-15 | 2008-06-19 | Microsoft Corporation | Automatic software license reconciliation |
US20080201767A1 (en) * | 2007-02-21 | 2008-08-21 | Microsoft Corporation | Authenticated credential-based multi-tenant access to a service |
WO2008104020A1 (en) * | 2007-03-01 | 2008-09-04 | Home Entertainment Suppliers Pty Ltd | Device and method for detecting software piracy |
SG160256A1 (en) * | 2008-09-29 | 2010-04-29 | Ngee Ann Polytechnic | Software activation and copy protection method |
WO2018195206A1 (en) * | 2017-04-19 | 2018-10-25 | Ice Frog Technologies, LLC | Prevention of software piracy exploiting end users |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7162035B1 (en) | 2000-05-24 | 2007-01-09 | Tracer Detection Technology Corp. | Authentication method and system |
US7024696B1 (en) * | 2000-06-14 | 2006-04-04 | Reuben Bahar | Method and system for prevention of piracy of a given software application via a communications network |
US20040036709A1 (en) * | 2002-08-22 | 2004-02-26 | Ibm Corporation | System, method, and computer program product in a data processing system for registering with a service utilizing a graphical depiction of a process definition |
AU2003900070A0 (en) * | 2003-01-07 | 2003-01-23 | Securewrap Pty Ltd | Method of and architecture for monitoring digital information |
US7644442B2 (en) * | 2003-01-31 | 2010-01-05 | Microsoft Corporation | Systems and methods for using machine attributes to deter software piracy in an enterprise environment |
US8181265B2 (en) * | 2003-01-31 | 2012-05-15 | Microsoft Corporation | Secure machine counting |
US7356709B2 (en) * | 2003-01-31 | 2008-04-08 | Microsoft Corporation | Systems and methods for deterring software piracy in a volume license environment |
EP3032446B1 (en) * | 2003-04-25 | 2019-10-23 | Apple Inc. | Methods and system for secure network-based distribution of content |
US20060031939A1 (en) * | 2004-08-09 | 2006-02-09 | Al-Azzawi Jasim S | Compact disc with new feature |
US8019827B2 (en) * | 2005-08-15 | 2011-09-13 | Microsoft Corporation | Quick deploy of content |
US7987512B2 (en) * | 2006-05-19 | 2011-07-26 | Microsoft Corporation | BIOS based secure execution environment |
US20080005560A1 (en) * | 2006-06-29 | 2008-01-03 | Microsoft Corporation | Independent Computation Environment and Provisioning of Computing Device Functionality |
US20080120690A1 (en) * | 2006-11-17 | 2008-05-22 | Microsoft Corporation | Client enforced network tunnel vision |
FR2911465B1 (en) * | 2007-01-15 | 2009-04-17 | Communicartes Soc Responsabili | SYSTEM FOR ACCESSING MULTIMEDIA APPLICATIONS |
US7937762B2 (en) * | 2007-01-15 | 2011-05-03 | Microsoft Corporation | Tracking and identifying operations from un-trusted clients |
US8671459B2 (en) * | 2007-02-23 | 2014-03-11 | Malcolm H. Nooning, III | Prevention of software piracy using unique internal intelligence with every software application copy |
US8667604B2 (en) * | 2007-09-13 | 2014-03-04 | Microsoft Corporation | Protection of software on portable medium |
US9129098B2 (en) | 2007-09-28 | 2015-09-08 | Abbyy Development Llc | Methods of protecting software programs from unauthorized use |
US9336369B2 (en) * | 2007-09-28 | 2016-05-10 | Abbyy Development Llc | Methods of licensing software programs and protecting them from unauthorized use |
DE102007051440B4 (en) * | 2007-10-25 | 2018-12-27 | Volkswagen Ag | Method and device for activating software in a motor vehicle |
WO2009065135A1 (en) * | 2007-11-17 | 2009-05-22 | Uniloc Corporation | System and method for adjustable licensing of digital products |
US20090171747A1 (en) * | 2007-12-26 | 2009-07-02 | Microsoft Corporation | Product activation/registration and offer eligibility |
US8082592B2 (en) | 2008-01-12 | 2011-12-20 | Harris Technology, Llc | Read/write encrypted media and method of playing |
WO2009105702A2 (en) * | 2008-02-22 | 2009-08-27 | Etchegoyen Craig S | License auditing for distributed applications |
US7995196B1 (en) | 2008-04-23 | 2011-08-09 | Tracer Detection Technology Corp. | Authentication method and system |
JP5599557B2 (en) * | 2008-08-29 | 2014-10-01 | 株式会社リコー | Information processing apparatus, license determination method, program, and recording medium |
US9946848B2 (en) * | 2009-02-26 | 2018-04-17 | International Business Machines Corporation | Software protection using an installation product having an entitlement file |
US9633183B2 (en) | 2009-06-19 | 2017-04-25 | Uniloc Luxembourg S.A. | Modular software protection |
US8423473B2 (en) * | 2009-06-19 | 2013-04-16 | Uniloc Luxembourg S. A. | Systems and methods for game activation |
US20100324983A1 (en) * | 2009-06-22 | 2010-12-23 | Etchegoyen Craig S | System and Method for Media Distribution |
US20140304833A1 (en) * | 2013-04-04 | 2014-10-09 | Xerox Corporation | Method and system for providing access to crowdsourcing tasks |
CN110990797A (en) * | 2019-11-29 | 2020-04-10 | 珠海豹趣科技有限公司 | Data processing method and device and computer readable storage medium |
US11194695B2 (en) * | 2020-01-07 | 2021-12-07 | Supercell Oy | Method for blocking external debugger application from analysing code of software program |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5574864A (en) * | 1994-09-09 | 1996-11-12 | Compaq Computer Corporation | Method of implementing EISA bus devices on a host bus by disabling bridge circuitry between host and EISA buses |
US5754763A (en) * | 1996-10-01 | 1998-05-19 | International Business Machines Corporation | Software auditing mechanism for a distributed computer enterprise environment |
US6006328A (en) * | 1995-07-14 | 1999-12-21 | Christopher N. Drake | Computer software authentication, protection, and security system |
US6044471A (en) * | 1998-06-04 | 2000-03-28 | Z4 Technologies, Inc. | Method and apparatus for securing software to reduce unauthorized use |
US6067582A (en) * | 1996-08-13 | 2000-05-23 | Angel Secure Networks, Inc. | System for installing information related to a software application to a remote computer over a network |
US6098106A (en) * | 1998-09-11 | 2000-08-01 | Digitalconvergence.Com Inc. | Method for controlling a computer with an audio signal |
US6101606A (en) * | 1996-03-22 | 2000-08-08 | Wasy Gmbh | System for securing protected software from unauthorized use in computer networks |
US6226747B1 (en) * | 1998-04-10 | 2001-05-01 | Microsoft Corporation | Method for preventing software piracy during installation from a read only storage medium |
US6236971B1 (en) * | 1994-11-23 | 2001-05-22 | Contentguard Holdings, Inc. | System for controlling the distribution and use of digital works using digital tickets |
US6243468B1 (en) * | 1998-04-29 | 2001-06-05 | Microsoft Corporation | Software anti-piracy system that adapts to hardware upgrades |
US6343280B2 (en) * | 1998-12-15 | 2002-01-29 | Jonathan Clark | Distributed execution software license server |
US6697948B1 (en) * | 1999-05-05 | 2004-02-24 | Michael O. Rabin | Methods and apparatus for protecting information |
US6725260B1 (en) * | 1998-09-11 | 2004-04-20 | L.V. Partners, L.P. | Method and apparatus for configuring configurable equipment with configuration information received from a remote location |
Family Cites Families (99)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2523745B1 (en) | 1982-03-18 | 1987-06-26 | Bull Sa | METHOD AND DEVICE FOR PROTECTING SOFTWARE DELIVERED BY A SUPPLIER TO A USER |
US4484217A (en) | 1982-05-11 | 1984-11-20 | Telease, Inc. | Method and system for remote reporting, particularly for pay television billing |
US4658093A (en) | 1983-07-11 | 1987-04-14 | Hellman Martin E | Software distribution system |
US4740890A (en) * | 1983-12-22 | 1988-04-26 | Software Concepts, Inc. | Software protection system with trial period usage code and unlimited use unlocking code both recorded on program storage media |
JPS60245097A (en) | 1984-05-18 | 1985-12-04 | ブラザー工業株式会社 | Software vending machine |
US4712238A (en) | 1984-06-08 | 1987-12-08 | M/A-Com Government Systems, Inc. | Selective-subscription descrambling |
US4791565A (en) * | 1984-06-20 | 1988-12-13 | Effective Security Systems, Inc. | Apparatus for controlling the use of computer software |
US4982430A (en) | 1985-04-24 | 1991-01-01 | General Instrument Corporation | Bootstrap channel security arrangement for communication network |
US4688169A (en) | 1985-05-30 | 1987-08-18 | Joshi Bhagirath S | Computer software security system |
US4685055A (en) | 1985-07-01 | 1987-08-04 | Thomas Richard B | Method and system for controlling use of protected software |
US4864494A (en) | 1986-03-21 | 1989-09-05 | Computerized Data Ssytems For Mfg., Inc. | Software usage authorization system with key for decrypting/re-encrypting/re-transmitting moving target security codes from protected software |
US4780821A (en) | 1986-07-29 | 1988-10-25 | International Business Machines Corp. | Method for multiple programs management within a network having a server computer and a plurality of remote computers |
US4827508A (en) | 1986-10-14 | 1989-05-02 | Personal Library Software, Inc. | Database usage metering and protection system and method |
US4796181A (en) | 1986-10-24 | 1989-01-03 | Wiedemer John D | Billing system for computer software |
US5047928A (en) | 1986-10-24 | 1991-09-10 | Wiedemer John D | Billing system for computer software |
US4817140A (en) | 1986-11-05 | 1989-03-28 | International Business Machines Corp. | Software protection system using a single-key cryptosystem, a hardware-based authorization system and a secure coprocessor |
US4796220A (en) | 1986-12-15 | 1989-01-03 | Pride Software Development Corp. | Method of controlling the copying of software |
US4866769A (en) | 1987-08-05 | 1989-09-12 | Ibm Corporation | Hardware assist for protecting PC software |
US4999806A (en) | 1987-09-04 | 1991-03-12 | Fred Chernow | Software distribution system |
US5390297A (en) | 1987-11-10 | 1995-02-14 | Auto-Trol Technology Corporation | System for controlling the number of concurrent copies of a program in a network based on the number of available licenses |
US5023907A (en) | 1988-09-30 | 1991-06-11 | Apollo Computer, Inc. | Network license server |
US5199066A (en) * | 1989-04-18 | 1993-03-30 | Special Effects Software, Inc. | Method and apparatus for protecting software |
CA2053261A1 (en) | 1989-04-28 | 1990-10-29 | Gary D. Hornbuckle | Method and apparatus for remotely controlling and monitoring the use of computer software |
JPH02293930A (en) | 1989-05-08 | 1990-12-05 | Victor Co Of Japan Ltd | Preventing system for stealing of recording contents of recording medium |
DE4019652A1 (en) | 1990-06-20 | 1992-01-02 | Alois Kuhn | Protection appts. against unauthorised use of commercial software - combines unique target machine ID with individual security code to produce unique password |
US5222134A (en) | 1990-11-07 | 1993-06-22 | Tau Systems Corporation | Secure system for activating personal computer software at remote locations |
US5103476A (en) | 1990-11-07 | 1992-04-07 | Waite David P | Secure system for activating personal computer software at remote locations |
DE69228039T2 (en) | 1991-05-08 | 1999-08-05 | Digital Equipment Corp | LICENSE MANAGEMENT SYSTEM |
US5260999A (en) | 1991-06-28 | 1993-11-09 | Digital Equipment Corporation | Filters in license management system |
US5222133A (en) | 1991-10-17 | 1993-06-22 | Wayne W. Chou | Method of protecting computer software from unauthorized execution using multiple keys |
JP2866236B2 (en) | 1991-10-29 | 1999-03-08 | 沖電気工業株式会社 | Print paper detection circuit |
US5956505A (en) | 1991-12-24 | 1999-09-21 | Pitney Bowes Inc. | Remote activation of software features in a data processing device |
US5291598A (en) | 1992-04-07 | 1994-03-01 | Gregory Grundy | Method and system for decentralized manufacture of copy-controlled software |
US5528490A (en) * | 1992-04-10 | 1996-06-18 | Charles E. Hill & Associates, Inc. | Electronic catalog system and method |
US5287408A (en) | 1992-08-31 | 1994-02-15 | Autodesk, Inc. | Apparatus and method for serializing and validating copies of computer software |
WO1994007204A1 (en) | 1992-09-21 | 1994-03-31 | Uniloc (Singapore) Private Limited | System for software registration |
US5319705A (en) | 1992-10-21 | 1994-06-07 | International Business Machines Corporation | Method and system for multimedia access control enablement |
US5343526A (en) | 1992-10-30 | 1994-08-30 | At&T Bell Laboratories | Method for establishing licensor changeable limits on software usage |
US6294793B1 (en) | 1992-12-03 | 2001-09-25 | Brown & Sharpe Surface Inspection Systems, Inc. | High speed optical inspection apparatus for a transparent disk using gaussian distribution analysis and method therefor |
US5509070A (en) | 1992-12-15 | 1996-04-16 | Softlock Services Inc. | Method for encouraging purchase of executable and non-executable software |
US5483658A (en) | 1993-02-26 | 1996-01-09 | Grube; Gary W. | Detection of unauthorized use of software applications in processing devices |
US5337357A (en) | 1993-06-17 | 1994-08-09 | Software Security, Inc. | Method of software distribution protection |
US5440635A (en) | 1993-08-23 | 1995-08-08 | At&T Corp. | Cryptographic protocol for remote authentication |
US5495411A (en) | 1993-12-22 | 1996-02-27 | Ananda; Mohan | Secure software rental system using continuous asynchronous password verification |
US5835911A (en) * | 1994-02-08 | 1998-11-10 | Fujitsu Limited | Software distribution and maintenance system and method |
US5559884A (en) * | 1994-06-30 | 1996-09-24 | Microsoft Corporation | Method and system for generating and auditing a signature for a computer program |
US5845077A (en) | 1995-11-27 | 1998-12-01 | Microsoft Corporation | Method and system for identifying and obtaining computer software from a remote computer |
US5790664A (en) | 1996-02-26 | 1998-08-04 | Network Engineering Software, Inc. | Automated system for management of licensed software |
US20010011253A1 (en) | 1998-08-04 | 2001-08-02 | Christopher D. Coley | Automated system for management of licensed software |
US20060265337A1 (en) | 1996-02-26 | 2006-11-23 | Graphon Corporation | Automated system for management of licensed digital assets |
JP3867335B2 (en) * | 1996-05-10 | 2007-01-10 | ソニー株式会社 | Recording medium, installation operation management method |
US7319987B1 (en) | 1996-08-29 | 2008-01-15 | Indivos Corporation | Tokenless financial access system |
IL119486A0 (en) * | 1996-10-24 | 1997-01-10 | Fortress U & T Ltd | Apparatus and methods for collecting value |
US5796952A (en) * | 1997-03-21 | 1998-08-18 | Dot Com Development, Inc. | Method and apparatus for tracking client interaction with a network resource and creating client profiles and resource database |
US5925127A (en) * | 1997-04-09 | 1999-07-20 | Microsoft Corporation | Method and system for monitoring the use of rented software |
US6006190A (en) * | 1997-04-28 | 1999-12-21 | Tartaroukos Llc | Computer implemented method and a computer system for enforcing software licenses |
US6233567B1 (en) | 1997-08-29 | 2001-05-15 | Intel Corporation | Method and apparatus for software licensing electronically distributed programs |
US6009525A (en) | 1997-08-29 | 1999-12-28 | Preview Systems, Inc. | Multi-tier electronic software distribution |
DE69833821T2 (en) | 1997-09-18 | 2006-11-30 | Matsushita Electric Industrial Co., Ltd., Kadoma | Transmission method and apparatus for combined multiplexing and encrypting |
US5974150A (en) | 1997-09-30 | 1999-10-26 | Tracer Detection Technology Corp. | System and method for authentication of goods |
US6208995B1 (en) * | 1997-11-24 | 2001-03-27 | International Business Machines Corporation | Web browser download of bookmark set |
US6742030B1 (en) * | 1997-11-24 | 2004-05-25 | International Business Machines Corporation | Method to keep a persistent trace of weblink use per user |
US6643775B1 (en) * | 1997-12-05 | 2003-11-04 | Jamama, Llc | Use of code obfuscation to inhibit generation of non-use-restricted versions of copy protected software applications |
US6134659A (en) | 1998-01-07 | 2000-10-17 | Sprong; Katherine A. | Controlled usage software |
US6098053A (en) * | 1998-01-28 | 2000-08-01 | Citibank, N.A. | System and method for performing an electronic financial transaction |
US6332154B2 (en) * | 1998-09-11 | 2001-12-18 | Genesys Telecommunications Laboratories, Inc. | Method and apparatus for providing media-independent self-help modules within a multimedia communication-center customer interface |
US6173283B1 (en) * | 1998-02-27 | 2001-01-09 | Sun Microsystems, Inc. | Method, apparatus, and product for linking a user to records of a database |
US6189146B1 (en) * | 1998-03-18 | 2001-02-13 | Microsoft Corporation | System and method for software licensing |
US6009401A (en) | 1998-04-06 | 1999-12-28 | Preview Systems, Inc. | Relicensing of electronically purchased software |
US7503072B2 (en) | 1998-04-29 | 2009-03-10 | Microsoft Corporation | Hardware ID to prevent software piracy |
US6070171A (en) * | 1998-05-15 | 2000-05-30 | Palantir Software, Inc. | Method and system for copy-tracking distributed software featuring tokens containing a key field and a usage field |
US6799277B2 (en) * | 1998-06-04 | 2004-09-28 | Z4 Technologies, Inc. | System and method for monitoring software |
US6363486B1 (en) | 1998-06-05 | 2002-03-26 | Intel Corporation | Method of controlling usage of software components |
US6169976B1 (en) | 1998-07-02 | 2001-01-02 | Encommerce, Inc. | Method and apparatus for regulating the use of licensed products |
US6463078B1 (en) * | 1998-07-22 | 2002-10-08 | Microsoft Corporation | Method for switching protocols transparently in multi-user applications |
US6226618B1 (en) * | 1998-08-13 | 2001-05-01 | International Business Machines Corporation | Electronic content delivery system |
US6158005A (en) | 1998-09-10 | 2000-12-05 | Audible, Inc. | Cloning protection scheme for a digital information playback device |
US6330670B1 (en) | 1998-10-26 | 2001-12-11 | Microsoft Corporation | Digital rights management operating system |
US6418472B1 (en) | 1999-01-19 | 2002-07-09 | Intel Corporation | System and method for using internet based caller ID for controlling access to an object stored in a computer |
US6449645B1 (en) | 1999-01-19 | 2002-09-10 | Kenneth L. Nash | System for monitoring the association of digitized information having identification indicia with more than one of uniquely identified computers in a network for illegal use detection |
US7073063B2 (en) | 1999-03-27 | 2006-07-04 | Microsoft Corporation | Binding a digital license to a portable device or the like in a digital rights management (DRM) system and checking out/checking in the digital license to/from the portable device or the like |
US6920567B1 (en) | 1999-04-07 | 2005-07-19 | Viatech Technologies Inc. | System and embedded license control mechanism for the creation and distribution of digital content files and enforcement of licensed use of the digital content files |
US6557105B1 (en) | 1999-04-14 | 2003-04-29 | Tut Systems, Inc. | Apparatus and method for cryptographic-based license management |
EP1056010A1 (en) | 1999-05-28 | 2000-11-29 | Hewlett-Packard Company | Data integrity monitoring in trusted computing entity |
US6467088B1 (en) | 1999-06-30 | 2002-10-15 | Koninklijke Philips Electronics N.V. | Reconfiguration manager for controlling upgrades of electronic devices |
US6587842B1 (en) | 1999-10-01 | 2003-07-01 | Keith Watts | Software-based protection system for software products distributed on copyable media, or downloaded over a communications link |
US6536005B1 (en) | 1999-10-26 | 2003-03-18 | Teradyne, Inc. | High-speed failure capture apparatus and method for automatic test equipment |
GB2355821A (en) | 1999-10-29 | 2001-05-02 | Futuremark Oy | Computer upgrading and technical support |
US7072728B2 (en) * | 1999-11-19 | 2006-07-04 | Dell Products L.P. | Method for assembling hardware components in a computer system |
US6804257B1 (en) | 1999-11-25 | 2004-10-12 | International Business Machines Corporation | System and method for framing and protecting variable-lenght packet streams |
US7146645B1 (en) * | 1999-12-30 | 2006-12-05 | Nokia Mobile Phones Ltd. | Dedicated applications for user stations and methods for downloading dedicated applications to user stations |
US20010034846A1 (en) * | 2000-02-28 | 2001-10-25 | Peter Beery | Digital data and software security protection |
US6907401B1 (en) * | 2000-03-13 | 2005-06-14 | Verizon Corporate Services Group Inc. | Portal switch for electronic commerce |
US6880086B2 (en) | 2000-05-20 | 2005-04-12 | Ciena Corporation | Signatures for facilitating hot upgrades of modular software components |
US6829596B1 (en) | 2000-05-23 | 2004-12-07 | Steve Frazee | Account/asset activation device and method |
US7024696B1 (en) * | 2000-06-14 | 2006-04-04 | Reuben Bahar | Method and system for prevention of piracy of a given software application via a communications network |
US6976009B2 (en) | 2001-05-31 | 2005-12-13 | Contentguard Holdings, Inc. | Method and apparatus for assigning consequential rights to documents and documents having such rights |
US7606938B2 (en) | 2002-03-01 | 2009-10-20 | Enterasys Networks, Inc. | Verified device locations in a data network |
US7644442B2 (en) | 2003-01-31 | 2010-01-05 | Microsoft Corporation | Systems and methods for using machine attributes to deter software piracy in an enterprise environment |
-
2000
- 2000-06-14 US US09/594,004 patent/US7024696B1/en not_active Expired - Lifetime
-
2005
- 2005-12-19 US US11/311,964 patent/US20060179486A1/en not_active Abandoned
-
2008
- 2008-07-30 US US12/182,135 patent/US20080282360A1/en not_active Abandoned
-
2011
- 2011-08-02 US US13/196,158 patent/US20110289602A1/en not_active Abandoned
-
2012
- 2012-04-19 US US13/451,477 patent/US8613110B2/en not_active Expired - Lifetime
-
2013
- 2013-11-01 US US14/070,207 patent/US9298893B2/en not_active Expired - Lifetime
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5574864A (en) * | 1994-09-09 | 1996-11-12 | Compaq Computer Corporation | Method of implementing EISA bus devices on a host bus by disabling bridge circuitry between host and EISA buses |
US6236971B1 (en) * | 1994-11-23 | 2001-05-22 | Contentguard Holdings, Inc. | System for controlling the distribution and use of digital works using digital tickets |
US6006328A (en) * | 1995-07-14 | 1999-12-21 | Christopher N. Drake | Computer software authentication, protection, and security system |
US6101606A (en) * | 1996-03-22 | 2000-08-08 | Wasy Gmbh | System for securing protected software from unauthorized use in computer networks |
US6067582A (en) * | 1996-08-13 | 2000-05-23 | Angel Secure Networks, Inc. | System for installing information related to a software application to a remote computer over a network |
US5754763A (en) * | 1996-10-01 | 1998-05-19 | International Business Machines Corporation | Software auditing mechanism for a distributed computer enterprise environment |
US6226747B1 (en) * | 1998-04-10 | 2001-05-01 | Microsoft Corporation | Method for preventing software piracy during installation from a read only storage medium |
US6243468B1 (en) * | 1998-04-29 | 2001-06-05 | Microsoft Corporation | Software anti-piracy system that adapts to hardware upgrades |
US6044471A (en) * | 1998-06-04 | 2000-03-28 | Z4 Technologies, Inc. | Method and apparatus for securing software to reduce unauthorized use |
US6098106A (en) * | 1998-09-11 | 2000-08-01 | Digitalconvergence.Com Inc. | Method for controlling a computer with an audio signal |
US6725260B1 (en) * | 1998-09-11 | 2004-04-20 | L.V. Partners, L.P. | Method and apparatus for configuring configurable equipment with configuration information received from a remote location |
US6343280B2 (en) * | 1998-12-15 | 2002-01-29 | Jonathan Clark | Distributed execution software license server |
US6697948B1 (en) * | 1999-05-05 | 2004-02-24 | Michael O. Rabin | Methods and apparatus for protecting information |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7249383B1 (en) * | 2002-01-30 | 2007-07-24 | Mccully Timothy R | Method of detecting piracy of proprietary material |
US20080148253A1 (en) * | 2006-12-15 | 2008-06-19 | Microsoft Corporation | Automatic software license reconciliation |
US20080201767A1 (en) * | 2007-02-21 | 2008-08-21 | Microsoft Corporation | Authenticated credential-based multi-tenant access to a service |
US8201231B2 (en) * | 2007-02-21 | 2012-06-12 | Microsoft Corporation | Authenticated credential-based multi-tenant access to a service |
WO2008104020A1 (en) * | 2007-03-01 | 2008-09-04 | Home Entertainment Suppliers Pty Ltd | Device and method for detecting software piracy |
SG160256A1 (en) * | 2008-09-29 | 2010-04-29 | Ngee Ann Polytechnic | Software activation and copy protection method |
WO2018195206A1 (en) * | 2017-04-19 | 2018-10-25 | Ice Frog Technologies, LLC | Prevention of software piracy exploiting end users |
Also Published As
Publication number | Publication date |
---|---|
US8613110B2 (en) | 2013-12-17 |
US20080282360A1 (en) | 2008-11-13 |
US20110289602A1 (en) | 2011-11-24 |
US20130055415A1 (en) | 2013-02-28 |
US9298893B2 (en) | 2016-03-29 |
US20150128296A1 (en) | 2015-05-07 |
US20160026778A9 (en) | 2016-01-28 |
US7024696B1 (en) | 2006-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9298893B2 (en) | Activation code system and method for preventing software piracy | |
US7146645B1 (en) | Dedicated applications for user stations and methods for downloading dedicated applications to user stations | |
US6067582A (en) | System for installing information related to a software application to a remote computer over a network | |
EP1243998B1 (en) | A technique for license management and online software license enforcement | |
CN101156166B (en) | Systems and methods for using machine attributes to deter software piracy in an enterprise environment | |
US6502195B1 (en) | Computer readable storage medium for providing repeated contact with software end-user | |
JP3763393B2 (en) | COMMUNICATION SYSTEM, TERMINAL DEVICE, RECORDING MEDIUM RECORDING REPRODUCTION PROGRAM, SERVER DEVICE, AND RECORDING MEDIUM RECORDING SERVER PROGRAM | |
US7565323B2 (en) | Hardware ID to prevent software piracy | |
US20130117859A1 (en) | Distinguishing legitimate hardware upgrades from unauthorized installations of software on additional computers | |
US20040221170A1 (en) | System and method for monitoring software | |
US20080276321A1 (en) | Secure Transfer Of Product-Activated Software To A New Machine Using A Genuine Server | |
CN101751593A (en) | Smart card and backup, recovering method and system thereof | |
CN102346826A (en) | Method for replacing illegitimate copy of software program with legitimate copy and corresponding system | |
JPH10214297A (en) | Closed-membership service system using internet, and method therefor | |
CN108256351B (en) | File processing method and device, storage medium and terminal | |
US9836730B1 (en) | Software product piracy monetization process | |
CN113779511A (en) | Software authorization method, device, server and readable storage medium | |
CA2335298A1 (en) | Bait software | |
WO1998053384A1 (en) | Method and apparatus for activating programs/features in a computer | |
WO2003027864A1 (en) | Systems and methods for preventing unauthorized copying of software downloaded from a remote server | |
US20040225900A1 (en) | Method for securing software to reduce unauthorized use | |
JP2004185047A (en) | Copyright protected software and medium recorded with the program of the same | |
KR20030084123A (en) | Method for certifing software through network | |
KR20040043867A (en) | Unlawfulness establishment prevention method of program | |
CA2484566A1 (en) | Distinguishing legitimate hardware upgrades from unauthorized installations of software on additional computers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |