WO2015013974A1 - 许可程序的装置、程序交易装置及其许可程序的方法 - Google Patents

许可程序的装置、程序交易装置及其许可程序的方法 Download PDF

Info

Publication number
WO2015013974A1
WO2015013974A1 PCT/CN2013/080695 CN2013080695W WO2015013974A1 WO 2015013974 A1 WO2015013974 A1 WO 2015013974A1 CN 2013080695 W CN2013080695 W CN 2013080695W WO 2015013974 A1 WO2015013974 A1 WO 2015013974A1
Authority
WO
WIPO (PCT)
Prior art keywords
license
program
operating system
license verification
verification
Prior art date
Application number
PCT/CN2013/080695
Other languages
English (en)
French (fr)
Inventor
林冠儒
Original Assignee
博世尼克资讯股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 博世尼克资讯股份有限公司 filed Critical 博世尼克资讯股份有限公司
Priority to JP2016530300A priority Critical patent/JP6931531B2/ja
Priority to EP13890698.7A priority patent/EP3029589B1/en
Priority to CN201380077685.3A priority patent/CN105324774B/zh
Priority to ES13890698T priority patent/ES2964339T3/es
Priority to PCT/CN2013/080695 priority patent/WO2015013974A1/zh
Priority to US14/909,529 priority patent/US10223509B2/en
Priority to SG11201600817SA priority patent/SG11201600817SA/en
Publication of WO2015013974A1 publication Critical patent/WO2015013974A1/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/105Arrangements for software license management or administration, e.g. for managing licenses at corporate level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/107License processing; Key processing
    • G06F21/1076Revocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/107License processing; Key processing
    • G06F21/1077Recurrent authorisation

Definitions

  • the present invention relates to a method of licensing a program, and more particularly to a method of a cloud licensing program.
  • Cloud storage refers to the online data storage mode of the network, that is, the data is stored in multiple virtual servers that are usually hosted by third parties, rather than dedicated servers.
  • the data center operator prepares to store the virtualized resources on the back end according to the customer's needs, and provides them in the form of a storage pool.
  • the storage resource pool can be used by the customer to store files or objects.
  • Cloud computing is an Internet-based computing method in which shared hardware and software resources and messages can be provided to computers and other devices on demand.
  • Cloud computing describes a new Internet-based information technology (IT) service addition, use, and delivery model that typically involves the provision of dynamic transaction extensions over the Internet and often virtualized resources that allow users to access service software and data.
  • the service provider maintains the infrastructure and platform to maintain the normal operation of the service.
  • the service or software provided by the service provider is often referred to as “on-demand software” and is usually charged based on the number of hours of use. These services can be used with low-complexity hardware and software devices, which saves the cost of the enterprise. Since the application is centrally available, updates can be published in real time, without the need for users to manually update or install new software. As a result, cloud computing enables organizations to deploy applications more quickly, reduce management complexity and maintenance costs, and allow rapid redistribution of IT resources to respond to rapid changes in business needs.
  • the concept of the cloud is beneficial to users or enterprises in that it does not need to purchase various hard devices and software with powerful processing performance.
  • the maintenance and software updates are carried out by the service provider, and the user or the enterprise tries to virtualize the hardware and software.
  • the software can be used only after the software is installed or after the program is started. The user must wait for the email to receive the software after purchasing the software.
  • the serial number or the serial number obtained through the physical store requires a waiting time ranging from several minutes to several days, and the serial number generator can crack the serial number or crack the software verification mechanism, and is also prone to piracy.
  • Step S101 The client system receives the startup application instruction.
  • Step S102 the client system loads the application into the memory, and the memory may include a hard disk or a random access memory (RAM), and the application may be downloaded from the server of the server to the hard disk of the client system through the network, and then the hard disk will be The application is loaded into RAM for execution. Applications can also be loaded directly from the enterprise internal file server into the AM of the client system.
  • Step S103 the application determines whether the license is passed, if yes, the process proceeds to step S104, and if the license is not passed, the process proceeds to step S105.
  • Step S104 executing an application.
  • Step S105 the application requires the user to input the verification code.
  • the process proceeds to step S104; when the verification fails, the process proceeds to step S106.
  • step S106 After the execution of the application is completed in step S105 or after the verification fails, the process proceeds to step S106, and the flow of the program is ended.
  • the present invention provides a method for permitting a program, the program being stored in a storage device or a remote server and comprising a plurality of execution files, the plurality of execution files including a first execution file and a The second execution file, the first execution file includes a first header, and the second execution file includes a second header.
  • the method includes the following steps: causing an operating system to receive a program startup instruction and start the program. And causing the operating system to store the first header in the storage device to read the first header, and causing a license verification component to interrupt the operating system to load the first execution file into a random access memory for execution.
  • the license verification component is mated with the operating system or the remote server for a license verification.
  • the license verification component After the first execution file is verified by the license, the license verification component allows the first execution file The load is loaded into the random access memory for execution.
  • the operating system reads the second header and the license verification component cooperates with the operating system or the remote server to perform another license verification.
  • the present invention provides a method of permitting a program comprising the steps of: causing an operating system to receive a program start command and launch the program.
  • a license verification component is coupled with the operating system itself or a remote server for a license verification before the operating system loads the program.
  • the license is verified, the operating system or a storage device obtains a token.
  • the present invention provides a device for permitting a program, the program comprising a packet header, the device comprising a storage device, a file system, an operating system, and a license verification component.
  • the file system is configured in the storage device, the operating system receives a boot program command and starts the program, and loads the header into the random access memory to read the header.
  • the license verification component interrupts the operating system to load the program into the random access memory for execution and cooperates with the operating system or a remote server for a license verification. When the license is verified, the license verification component allows the program to continue loading into the random access memory for execution.
  • the present invention provides a method of licensing a program comprising the steps of: selecting a particular program.
  • a license verification is performed by a local operating system itself or by a remote server.
  • the operating system loads the particular program into a particular memory.
  • the present invention provides a program transaction apparatus including a first access component, a second access component, and a license verification component.
  • the first access component accesses a remote link library that contains a plurality of programs.
  • the second access component is accessed by a local operating system to select a particular program from the plurality of programs.
  • the license verification component cooperates with the local operating system itself or a remote server to perform a license verification, so that when the license verification is passed, The program is executed.
  • the present invention provides a device for permitting a program, the device comprising a host and a mobile device D.
  • the host includes an operating system and a driver.
  • the mobile device includes the program and a license verification component, the license verification component including a firmware, wherein when the mobile device is coupled to the host, the firmware interrupts the transfer of the program from the mobile device to the host, and the driver Interrupting the program is performed by loading the operating system into a random access memory, the license verification component is activated to enable the operating system to cooperate with the firmware to perform a license verification via the driver, and when the license verification is passed,
  • the firmware allows the program to be transferred from the mobile device to the host, and the driver allows the program to be loaded into the random access memory by the operating system.
  • the present invention provides a method for permitting a program in a program transaction device, the program transaction device comprising a host and a mobile device, the host comprising a driver, a random access memory, And an operating system, the mobile device includes a license verification component and the program, the license verification component includes a firmware, the method comprising the steps of: coupling the mobile device to the host.
  • the firmware interrupts the transfer of the program from the mobile device to the host, and the driver interrupts execution of the program by the operating system to the random access memory.
  • the license verification component is launched to cause the operating system to cooperate with the firmware to perform a license verification via the driver.
  • the firmware allows the program to be transferred from the mobile device to the host, and the driver allows the program to be loaded into the random access memory by the operating system.
  • the number of licenses purchased by the enterprise user can be flexibly adjusted to reduce the number of unnecessary purchase licenses, which makes it possible for the enterprise user to purchase the required software more economically.
  • tighter license verification can reduce application time.
  • the probability of pirating which is more secure for vendors that provide applications.
  • the invention is also applicable to general users.
  • FIG. 1 Schematic diagram of the process of the custom license-procedure.
  • Figure 2 is a schematic illustration of the flow of the license of the first preferred embodiment of the present invention.
  • FIG. 3 is a schematic diagram of a program transaction system in accordance with a first preferred embodiment of the present invention.
  • 4 is a schematic diagram of a cloud system license according to a second preferred embodiment of the present invention.
  • Figure 5 is a schematic illustration of a method of permitting a program in accordance with a third preferred embodiment of the present invention.
  • Figure 6 Schematic diagram of a permitting a program in accordance with a fourth preferred embodiment of the present invention.
  • Figure 7 (a) is a schematic illustration of a system for permitting a program in accordance with another preferred embodiment of the present invention.
  • Figure 7 (b) is a schematic illustration of a system for permitting a program in accordance with another preferred embodiment of the present invention.
  • Figure 8 is a schematic illustration of a method of permitting a program in accordance with another preferred embodiment of the present invention.
  • Figure 9 is a schematic illustration of a method of permitting a program in a program transaction device in accordance with the present invention.
  • FIG. 2 is a schematic diagram of the flow of the license according to the first preferred embodiment of the present invention.
  • the client system must be installed before using the application trading platform
  • the main application the main application is provided to the user for free download.
  • the main application contains information about the operating system and hardware device drivers, and the memory space that the operating system of the client system needs to read.
  • Step S201 The client system receives the startup application instruction.
  • Step S202 determining permission.
  • the license data is transmitted by the operating system of the client system to the remote server for license verification before accessing the file of the purchased application.
  • the driver stops reading the purchased application file, at this time by the operating system of the client system.
  • the driver delivers the purchased application file to the operating system control of the client system.
  • the remote server requires the user to provide an account and a password to log in to the remote server's license system.
  • the remote server checks the payment status of the account.
  • Step S203 When the payment status of the account is the paid status, the process proceeds to step S203, and then proceeds to steps S206 and S207 in sequence; when the payment status of the account is unpaid In the case of the state, the process proceeds to step S207.
  • Step S206 The operating system loads the purchased application file into a random access memory (RAM) of the client system for execution.
  • Step S207 ends the main application.
  • FIG. 3 is a schematic diagram of a program transaction system 30 according to a first preferred embodiment of the present invention.
  • the program transaction system 30 includes a program transaction device 32 and a remote server 305.
  • the program transaction device 32 includes a first access component, a second access component, and a license verification component 307.
  • the first access component is a storage device 306 and the second access component is a random access memory 304.
  • the first access component accesses a remote link library of the remote server 305, the remote link library containing a plurality of programs, that is, an application that is intended to be purchased.
  • the second access component is accessed by the local operating system 302 to select a particular program from the plurality of programs.
  • the license verification component 307 cooperates with the local operating system itself 302 or the remote server 305 to perform a license verification such that when the license verification is passed, the particular program is executed.
  • the program transaction device 32 further includes a main application 301, a local operating system 302, a driver 309, and a file system 303.
  • the local operating system 302 reads the header of the purchased application to confirm the memory size and the like required by the purchased application, and then allocates (allocate) Sending a new program to the purchased application, and starting the new program, at which time the license verification component 307 is activated to transmit the verification information 2 to perform license verification to the remote server 305, and the license verification component 307 is After being notified of the license verification, one of the control messages 1, 2, and 3 is transmitted to control one of the storage device 306, the file system 303, and the driver 309, respectively, to allow the purchased application file to be
  • the remote server 305 stores to the storage device 306, stores the purchased application file from the storage device 306 to the file system 303 via the driver 309, and the purchased application file from the file system by the local operating system 302.
  • the license verification component 307 can also transmit the verification information 1 to the local operating system 302 for license verification. After the license verification is passed, the license verification component 307 transmits the control message 1 and the control message 2 to allow
  • the purchased application file is loaded from the link library of the remote server 305 into the random access memory 304 for execution.
  • the dotted line between the storage device 306 and the random access memory 304 in FIG. 3 represents that the purchased application file is indirectly accessed therebetween, that is, the data of the purchased application file passes through the storage device 306, the driver 309.
  • the file system 303 and the operating system 302 are then loaded into the random access memory 304 for execution.
  • storage device 306 can be a remote server 305. Hard disk, local hard disk, a dedicated random access memory block, or any combination thereof.
  • the location where the purchased application files are stored varies by design, and the file system 303 is assigned where to access the purchased application files.
  • the file system 303 is emulated on the storage device 306 for receiving instructions from the local operating system 302 to access data for a particular file at a particular location.
  • the license verification component 307 can include a driver and a portion of the main application 301, or the host application 301 can include the driver and the license verification component 307, the task of the license verification component 307 being with the local operating system 302 or
  • the remote server 305 cooperates to verify the license, and after passing the license verification, the license verification component 307 allows the purchased application file to be stored to, or read from, the storage device 306 to the file system.
  • the present invention is primarily directed to the license verification component 307 prohibiting the transfer of the purchased application file from the storage device 306 to the file system 303 prior to passing the license verification, or causing the local operating system 302 to disable the purchased application file from the file.
  • System 303 is loaded into the random access memory 304.
  • the local operating system 302 calls the application entry point according to an application entry point recorded by the header of the purchased application file. The operating system 302 then hands over the execution of the new program.
  • FIG. 4 is a schematic diagram of a cloud system 40 license according to a second preferred embodiment of the present invention.
  • the cloud system 40 includes a public cloud 42 in the external environment of the enterprise and a private cloud 44 inside the enterprise.
  • the private cloud 44 includes a software host 441, a local area network 442, and a plurality of computer hosts 443, 444, 445, 446, 447.
  • the public cloud 42 includes a cloud host 421.
  • Program software can be distributed after a company purchases a specific number of application software licenses
  • the cloud host 421 is connected to an enterprise software host 441 via an Internet 422.
  • the cloud host 421 can be connected to multiple software hosts via the Internet, and the plurality of software hosts are Each software host is owned by a different enterprise.
  • the license verification between the cloud host 421 and the in-house software host 441 and the use of the purchased application files can be managed by the cloud host 421.
  • the cloud host 421 has a first key that serves as a signature for the number of licenses.
  • the software host 441 within the enterprise has a second key that serves as a verification of the number of licenses.
  • the cloud host 421 After the enterprise has to purchase a certain amount of licenses from the server, the cloud host 421 encrypts the license quantity data using the first key, and then encrypts the encrypted license quantity data, so once the license quantity is The data has been tampered with and the encrypted license quantity data is different from the signature-certified data.
  • the signed and authenticated information is transmitted to the software host 441 in the enterprise via the Internet 422, and the software host 441 decrypts the signed and authenticated information by using the second key to verify the license quantity, so when the license quantity is tampered with , the information after the signature verification is not met during verification, and the cloud host 421 will directly reject all permitted actions.
  • the purchased application file can be downloaded to the internal software host 441 via the Internet 422, or the enterprise information personnel can store the signed and authenticated information to another computer, and then use it. Another computer downloads the purchased application via the Internet 422, and such offline download of the software host 441 can avoid the risk of the software host 441 being smashed or poisoned.
  • the software host 441 inside the enterprise can manage the number of licenses authenticated by the cloud host 421.
  • the number of licenses for example, the host computer 443, 444 first installs the main application and then uses the same purchased application, the software host 441 records how many computer hosts the purchased application has been used, and the software The count of the number of licenses in the host 441 is reduced by two, and when the same purchased application is to be used after the host computer 445 installs the main application, the count of the number of licenses is further reduced by one.
  • the host computer 446 installs the main application and uses the same purchased application, the count of licenses has become negative, indicating that the software host 441 has verified that the number of licenses has been exceeded, so that the host computer 446 does not execute.
  • the purchased application file stored in the storage device 306 in FIG. 3 is not loaded into the random access memory 304 by the local operating system 302, and the software host 441 permits the license.
  • the number is increased by 1, so that one of the host computers 446 or 447 can use the same purchased application.
  • the program transaction device 32 in FIG. 3 is the software host 441, and the remote server 305 is the cloud host 421.
  • the program transaction device 32 is any one of a plurality of computer hosts 443, 444, 445, 446, 447, and the remote server 305 is the software host 441.
  • the license component 307 inside the software host 441 does not allow the purchased application to be loaded into the random access memory 304 by the local operating system 302 under the license verification failure.
  • any one of the plurality of computer hosts 443, 444, 445, 446, 447 does not allow the purchased application to be stored to the storage device 306 or the internal license verification component 307 before the verification of the license number is passed. It is loaded into the random access memory 304.
  • a person who uses a computer host inside an enterprise must log in to an account within the company, and the account has different rights according to different identities.
  • the software host 441 Issue a token with permissions associated with the account, and the local operating system 302 or license verification component 307 of the licensed computer host determines the purchased application file to be processed according to the token, for example
  • the purchased application file is loaded into the random access memory 304, or the loading of the purchased application file is interrupted.
  • the cloud host 421 can also serve as a server for license verification.
  • the cloud host 421 of the public cloud 42 will license the software host 441 according to the specific permission, so that the application file purchased by the enterprise user is downloaded to the software host 441. .
  • the local operating system 302 or the license verification component 307 in the software host 441 will also determine how the purchased application file is processed according to the token, such as random access of the purchased application file to the software host 441.
  • the loading of the purchased application file is interrupted.
  • the purchased application files are stored in the storage device 306 after being licensed. In order to prevent application files from being copied and used, these files are protected by a specific key encryption, and the specific key is in the token, and the application file purchased by the token is allowed to be downloaded. .
  • the purchased application file is executed on the host computer 443, the activated token is recorded by the software host 441, and the activated token is retained in the record, that is, the count of the license number is recorded by the software host 441, if The application file purchased if the record is deleted cannot be read.
  • the license verification component 307 will prevent the purchased application files from being read from the remote server 305 of the software host 441 into the random access memory 304 of the computer host 443.
  • the license verification may be divided into a full license and a partial license according to the usage of the purchased application file, and when the purchased application packs multiple applications of different functions, the multiple applications may follow Its functions are divided into different files so that partial licenses can be made according to the files. Some licenses apply when only a portion of the functionality of the application is purchased.
  • FIG. 5 is a schematic diagram of a method for licensing a program according to a third preferred embodiment of the present invention.
  • the program is stored in a storage device or a remote server and includes a plurality of execution files, the plurality of execution files include a first execution file and a second execution file, the first execution file includes a first header, the first The second execution file includes a second header.
  • the method includes the following steps: Step S501: An operating system receives a program startup instruction and starts the program. Step S502, the operating system loads the first packet header into the storage device to read the first packet header, and causes a license verification component to interrupt the operating system to load the first execution file into a random access memory. .
  • Step S503 the license authentication component is cooperated with the operating system or the remote server to perform a license verification.
  • Step S504 after the first execution file is verified by the license, the license verification component allows the first execution file to be loaded into the random access memory for execution.
  • Step S505 when the second execution file is used, the operating system reads the second header, and the license verification component cooperates with the operating system or the remote server to perform another license verification.
  • the application program to end the ⁇ purchase the license verification can be divided in accordance with the effective use during a perpetual license verification, a rental license verification, validation, and a trial license, the license verification include one of them.
  • the license verification When the license is verified as the permanent license verification, the program is allowed to be used indefinitely.
  • the license When the license is verified as the lease license verification, the program is allowed to be used within a specific time interval, and when the license is verified as the test When using license verification, the program is stopped when a trial period expires.
  • the license verification further includes a network license or a phone license, and the network license uses the verification first first license code to perform a license face certificate, the first license code includes a person privacy related message, and the personal privacy related message includes The identity card number, birthday, or any combination thereof, the phone license uses a phone number for verification of the license, and when the phone license is verified, the phone number is used to obtain a second license code, the second license code is used To verify the license through the phone license. Verification by personal privacy-related messages avoids sharing serial numbers or license codes, and avoids the problem of programs being stolen without paying.
  • the operating system can obtain a token.
  • the token contains an anonymous token and a non-anonymous token.
  • the anonymous token is for a public computer and the non-anonymous token is for a private computer.
  • the purpose of the token is to allow the purchased application file to be accessed.
  • the purpose of the anonymous token is to allow the purchased application file to be accessed, but once the computer is shut down, the purchased application file is cleared, which applies to The public computer.
  • the purpose of the non-anonymous token is to allow the purchased application file to be accessed, but once the computer is shut down, the purchased application file will not be erased, which applies to the private computer.
  • FIG. 6 is a schematic diagram of a licensing process according to a fourth preferred embodiment of the present invention.
  • the method for permitting a program includes the following steps: Step S601: An operating system receives a program start command and starts the program. Step S602: Before the operating system loads the program, a license verification component is cooperated with the operating system itself or a remote server to perform a license verification. Step S603, after the license verification is passed, the operating system obtains a token.
  • the token contains an encryption key with which the purchased application file can be decrypted for reading.
  • the license verification includes one of a perpetual license verification, a lease license verification, and a trial license verification.
  • the license verification group when the license is verified as the lease license verification or the trial license verification The piece works with the remote server for this license verification.
  • the license verification component cooperates with the operating system to perform the license verification. In this case, temporary license verification may be performed, but the fixed period of time is fixed. After that, for example, after one week, it is mandatory to connect to the remote server for license verification to ensure that the purchased application is not stolen.
  • the method further includes the following steps: When the anonymous token is verified and the program is closed, the program's data is restored to a default value. When the non-anonymous token is verified and the program is closed, the program's data maintains its original state.
  • FIG. 7(a) is a schematic diagram of a system 50 for permitting a program, including a device 52 for permitting a program and a remote server 506, in accordance with another preferred embodiment of the present invention.
  • the device-licensing device 52 includes a file system 501, a storage device 507, an operating system 502, and a license authentication component 503.
  • the program 505 is included in the software library of the remote server 506, and the program 505 includes a packet header 5050.
  • the operating system 502 receives a launch program command 504 and launches the program 505, and stores the header 5050 in the storage device 508 for the operating system 502 to read the header 5050.
  • the license verification component 503 interrupts the operating system 502 to load the program 505 into the random access memory 508 for execution and cooperates with the operating system 502 or the remote server 506 for a license verification. When the license verification is passed, the license verification component 503 allows the program 505 to continue loading into the random access memory 508 for execution.
  • the program 505 has not been stored in the storage device 501, but the license verification component 503 interrupts the action of the program 505 to the storage device 507, the license verification component 503 and the operating system. 502 or remote server 506 cooperates to perform the license verification.
  • the license verification component 503 allows the program 505 to be stored to the storage device 507, and the program 505 is loaded from the file system 501 to the random storage by the operating system 502. It is executed in the memory 508.
  • FIG. 7(b) is a schematic diagram of a system 60 for permitting a program according to another preferred embodiment of the present invention, including a device 62 for permitting a program and a remote server 606.
  • the device-licensing device 62 includes a mobile device 601 and a host 611.
  • the host 611 includes an operating system 602, a driver 608, and a random access memory 612.
  • the mobile device 601 includes a firmware 607, and a program 609, the program 609 including a packet header 6090.
  • the operating system 602 receives an initiator command 604 and starts the program 609, and reads the header 6090.
  • the operating system 602 and the mobile device 601 are controlled by a driver 608, which includes the license verification component 603, which cooperates with the driver 608 to transmit and This program 609 is controlled.
  • the packet header 6090 of the program 609 is first read by the driver 608 and the operating system 602 in the random access memory 612 to confirm the program. 609, the required memory size and the like, and then the operating system 604 allocates to the program 609 a new program and launches it, at which point the license verification component 603 is launched to cause the operating system 604 to pass the driver 608.
  • the firmware 607 is used in conjunction with the license verification. Before the license verification is passed, the firmware 607 interrupts the program 609 from the mobile device to the host 611, and the driver 608 interrupts the operating system 604 to load the program 609 to the random access memory 612 for execution.
  • the firmware 607 allows the program 609 to be transferred from the mobile device to the host 611 without being interrupted.
  • the driver 608 allows the program 609 to be loaded into the random access memory 612 by the operating system 602. Executing without being interrupted by the driver 608, in another preferred embodiment, the license verification may be performed by the license verification component 603 in conjunction with the remote server 606 or the operating system 602.
  • the mobile device 601 can be a portable hard disk.
  • the operating system 602 includes: one of an embedded operating system, a Windows operating system, a Linux operating system, and a Solaris operating system.
  • FIG. 8 is a schematic diagram of a method for permitting a program according to another preferred embodiment of the present invention.
  • the method comprises the following steps: Step S801, selecting a specific program.
  • Step S802 performing a license verification by a local operating system itself or a remote server.
  • Step S803 after the license verification is passed, the operating system loads the specific program into a specific memory.
  • a particular memory storage paths that are selected by a user, the method further comprising: making the cloud a particular program from a host to store a host software.
  • the specific program is transferred from the software host to a local area network host.
  • the method further comprises: interrupting execution of the program, the license verification component allowing the program to continue execution after the license verification is passed.
  • FIG. 9 is a method for permitting a program 609 in a program transaction device 62.
  • the program transaction device 62 includes a host 611 and a mobile device 601. The method includes the following steps: Step S901, The mobile device 601 is coupled to the host 611. Step S902, a firmware 607 in the mobile device 601 interrupts the transfer of the program 609 from the mobile device 601 to the host 611, and a driver 608 in the host 611 interrupts the program 609 by an operation in the host 611.
  • System 602 is loaded into a random access memory 612 in the host 611 for execution.
  • Step S903 a license verification component 603 in the mobile device 601 is activated to enable the operating system 602 to cooperate with the firmware 607 via the driver 608 to perform a license verification.
  • Step S904 after the license verification is passed, the firmware 607 allows the program 609 to be transferred from the mobile device 601 to the host 611, and the driver 608 allows the program 609 to be loaded into the random access memory by the operating system 602. 612 is executed.
  • a method for permitting a program the program being stored in a storage device or a remote server and comprising a plurality of execution files, the plurality of execution files comprising a first execution file and a second execution file
  • the first execution file includes a first header
  • the second executable file includes a second header.
  • the method includes the following steps: causing an operating system to receive a program startup instruction and start the program. And causing the operating system to store the first header in the storage device to read the first header, and causing a license verification component to interrupt the operating system to load the first execution file into a random access memory for execution.
  • the license verification component is mated with the operating system or the remote server for a license verification.
  • the license verification component After the first execution file is verified by the license, the license verification component allows the first execution file to be loaded into the random access memory for execution.
  • the operating system reads the second header and the license verification component cooperates with the operating system or the remote server to perform another license verification.
  • a method of permitting a program comprising the steps of: causing an operating system to receive a program start command and launch the program.
  • a license verification component is mated with the operating system itself or a remote server for a license verification before the operating system loads the program.
  • the license is verified, the operating system or a storage device obtains a token.
  • the license verification component interrupts the operating system to load the program, and the license is verified after the license verification is passed
  • the certificate component allows the operating system to continue loading the program.
  • the token contains an anonymous token and a non-anonymous token.
  • the anonymous token is for a public computer and the non-anonymous token is for a private computer.
  • the license verification includes one of a perpetual license verification, a lease license verification, and a trial license verification. When the license is verified as the lease license face certificate or the trial license verification, the license verification component cooperates with the remote server to perform the license verification. When the license is verified as the perpetual license verification and the remote server is unable to come online, the license verification component cooperates with the operating system to perform the license verification.
  • the method further includes the following steps: When the anonymous token is verified and the program is closed, the program's data is restored to a default value. When the non-anonymous token is verified and the program is closed, the program's data maintains its original state.
  • a device for permitting a program comprising a packet header
  • the device comprising a storage device, a file system, an operating system, and a license verification component.
  • the operating system receives an activation program instruction and starts the program, and stores the header to the storage device for the operating system to read the header.
  • the license verification component interrupts the operating system to load the program into a random access memory and cooperates with the operating system or a remote server for a license verification. Wherein, after the license verification is passed, the license verification component allows the program to continue loading into the random access memory for execution.
  • the device further comprises a driver, the license verification component transmitting a first control message, a second control message, and a One of the third control messages to respectively control one of the storage device, the file system, and the driver to allow the program to be stored from the remote server to the storage device, and the program is passed from the driver
  • the storage device is stored to the file system and loaded by the operating system from the file system into the random access memory.
  • the license verification fails, the operating system reads a corrupted file to end the process. Order, or make the program unable to read the program and cause an error in the program to end the program.
  • the method of license verification includes one of permanent license verification, one lease license verification, and one trial license verification.
  • the license verification further includes a network license or a telephone license, and the network license method uses the verification first license code for the license verification, the first license code includes a person privacy related information, and the personal privacy related information includes an identity card. Font size, birthday, or any combination thereof, the way the phone is licensed uses a phone number for verification of the license, when the phone license is verified, the phone number is used to obtain a second license code, the second license code is used To verify the license through the phone license.
  • a method of licensing a program comprising the steps of: selecting a specific program.
  • a license is verified by a local operating system itself or by a remote server. When the license is verified, the operating system loads the particular program into a particular memory.
  • the method further comprises: storing the specific program from a cloud host to a software host.
  • the specific program is transferred from the software host to a local area network host.
  • the method further includes: interrupting execution of the program, the license verification component allowing the program to continue execution after the license verification is passed.
  • the license verifies the personal confidential information, which includes the identity card number, birthday, or any combination thereof.
  • the particular memory is selected by a user to a memory path.
  • a program transaction apparatus comprising a first access component, a second access component, and a license verification component.
  • the first access component accesses a remote link library that contains a plurality of programs.
  • the second access component is accessed by a local operating system to select a particular program from the plurality of programs.
  • the certificate component cooperates with the local operating system itself or a remote server to perform a license verification such that when the license verification is passed, the particular program is executed.
  • the first access component is a proxy server hard disk or a cloud hard disk
  • the second access component is a random access memory (RAM).
  • the license verification component interrupts the local operating system to load the program into the RAM for execution, and the license verification component allows the local operating system to continue loading the program into the RAM after the license verification is passed.
  • the program transaction device is a software host
  • the remote server is a cloud host
  • the license verification is performed on the cloud host, and the program is accessed at the software host.
  • the program transaction device is a software host, and the remote server cannot be connected, and the remote server is a cloud host
  • the license verification is performed at the software host, and the program is accessed at the computer host.
  • the remote server is the software host, and the license verification is performed at the software host, and the program is accessed at the computer host.
  • the license verification component cooperates with the remote server to perform the license verification.
  • the license verification component cooperates with the operating system to perform the license verification.
  • the license certificate fails, the operating system reads a corrupted file until the license verification passes, the license verification component allows the operating system to load the specific program to the first access component or the second Access to the component.
  • the license verification includes one of a perpetual license verification, a lease license verification, and a trial license verification.
  • the license verification further includes a network license or a telephone license, and the manner of the network license uses the verification first first license code for performing license verification, and the first license code includes a person privacy related message, the personal secret
  • the private related message includes an identity card number, a birthday, or any combination thereof
  • the manner of the phone license uses a phone number for license verification, and when the phone license is verified, the phone number is used to obtain a second license code, The second license code is used to verify the license through the phone license.
  • a device for permitting a program comprising a host and a mobile device.
  • the host contains an operating system and a driver.
  • the mobile device includes the program and a firmware, the firmware including a license verification component, wherein when the mobile device is coupled to the host, the firmware interrupts the transfer of the program from the mobile device to the host, and the driver interrupts the program
  • the license verification component is activated to enable the operating system to cooperate with the firmware to perform a license verification via the driver, and when the license verification is passed, the firmware allows The program is transferred from the mobile device to the host, and the driver allows the program to be loaded into the random access memory by the operating system.
  • a method of permitting a program in a program transaction device comprising a host and a mobile device, the method comprising the steps of: coupling the mobile device to the host.
  • a firmware in the mobile device interrupts the transfer of the program from the mobile device to the host, and a driver in the host interrupts the program to be loaded into a random access memory in the host by an operating system in the host carried out.
  • a license verification component of the mobile device is activated to cause the operating system to cooperate with the firmware to perform a license verification via the driver.
  • the firmware allows the program to be transferred from the mobile device to the host, and the driver allows the program to be loaded into the random access memory by the operating system.
  • Main application 302 Local operating system
  • File System 304 Random Access Memory
  • Remote Server 306 Storage Device
  • Cloud Hosting 422 Internet
  • Storage device 508 Random access memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提出一种许可一程序的装置,该程序包含一包头,该装置包含一储存装置、一文件系统、一操作系统、以及一许可验证组件。该操作系统接收一启动程序指令并启动该程序,并将该包头储存至该储存装置中以供该操作系统读取该包头。该许可验证组件中断该操作系统将该程序加载到一随机存取存储器中执行,并与该操作系统或一远程服务器配合,以进行一许可验证。其中当该许可验证通过后,该许可验证组件允许该程序继续加载到该随机存取存储器中执行。

Description

许可程序的装置、 程序交易装置及其许可程序的方法 【技术领域】
【0001】 本发明是关于许可一程序的方法, 特别是关于 云端许可一程序的方法。
【先前技术】
【0002】 云端储存是指网络在线数据储存的模式, 即把 数据存放在通常由第三方代管的多台虚拟服务器, 而非专属的服 务器上。 数据中心营运商根据客户的需求, 在后端准备储存虛拟 化的资源, 并将其以储存资源池(storage pool ) 的方式提供, 客 户便可自行使用此储存资源池来存放文件或对象。 云端运算是一 种基于因特网的运算方式, 通过这种方式, 共享的软硬件资源和 讯息可以按需求提供给计算机和其他装置。 云端运算描述了一种 基于因特网的新的信息科技(IT ) 服务增加、 使用和交付模式, 通常涉及通过因特网来提供动态交易扩充功能而且经常是虛拟化 的资源, 用户能够存取服务软件及数据, 服务提供商则维护基础 设施及平台以维持服务正常运作, 服务提供商所提供的服务或软 件常被称为 「随选软件」 , 并且通常是基于使用时数来收费, 使 用者只需具备低复杂度的软硬件设备即可使用这些服务, 这样可 节省企业的成本。 由于应用程序是集中供应的, 更新可以实时的 发布, 无需使用者手动更新或是安装新的软件。 因此, 云端运算 使得企业能够更迅速的部署应用程序, 并降低管理的复杂度及维 护成本, 及允许 IT 资源的迅速重新分配以因应企业需求的快速 改变。
【0003】 云端的概念对于使用者或企业的好处在于其无 须购置各类具有强大处理效能的硬设备和软件, 这些硬设备的维 护和软件的更新都交由服务商来进行, 使用者或企业则是尽量将 硬设备和软件 r虚拟化」 。 然而, 不论是用户或是企业用户在购 买軟件后会取得序号, 在安装软件时或启动程序后输入序号需经 过验证后才能使用该软件, 一般而言用户在购买软件后须等待 Email 收信取得序号或是经由实体商店取得序号, 需要数分钟到 数天不等的等待时间, 且有序号产生器来破解序号或是破解软件 验证机制等动作, 亦容易产生盗版的问题。
【0004】 请参阅图 1 ,其为习用许可一程序的流程的示意 图。 步骤 S101 , 客户端系统接收启动应用程序指令。 步骤 S102 , 客户端系统将应用程序加栽到存储器中, 存储器可包含硬盘或随 机存取存储器 (RAM) , 应用程序可通过网络从服务端的服务器先 下载到客户端系统的硬盘, 再从硬盘将该应用程序加载到 RAM 以供执行。 应用程序也可以直接从企业内部文件服务器加载到客 户端系统的 AM中直接执行。 步骤 S103 , 应用程序判断是否通 过许可, 若有许可则进入步骤 S104 , 若未通过许可则进入步骤 S105。 步骤 S104 , 执行应用程序。 步骤 S105 , 应用程序要求用 户输入验证码, 当验证成功时, 进入步骤 S104; 当验证失败时, 进入步骤 S106。在步骤 S105执行应用程序完毕后或验证失败后, 则进入步骤 S106 , 结束该程序的流程。
【0005】 在习知许可程序的步骤中, 所有的应用程序是 先被加载到存储器中才进行许可的验证, 应用程序可轻易地被复 制出来窜改, 而绕过许可验证的动作, 因此容易造成软件盗版的 情况。 另一种习知技术中利用验证许可专用的程序来进行许可验 证,其并非交由客户端系统的驱动程序控制而使操作系统来验证, 因此许可验证的完整性与安全性皆降低, 造成盗版软件的猖獗。 而且此类的程序必须依据各种特定的应用程序来撰写以进行许可 验证, 若是应用程序文件的存取能通过必经之流程来存取, 就无 需根据不同的应用程序来撰写验证许可专用的程序。 故期望有一 种方法, 在软件加载硬盘或 RAM之前, 客户端系统的驱动程序 可通知操作系统进行许可验证后再允许软件加载 RAM,此可避免 盗版的问题。
【0006】 对于习知用于企业内部的软件之许可数量而 言, 通常是企业内部有几台计算机就买几个许可数量以供软件的 安装, 而且软件安装完后只能在被安装软件的计算机上使用, 由 于使用同一个序号安装在两个不同的计算机或装置上不符合软件 许可的规定, 因此若要在另外一台未安装计算机上使用, 则安装 在原计算机之软件需被反安装后, 然后软件才能安装在另一台计 算机上, 也就是软件的使用权必须跟着硬件装置而有所不同, 此 种许可方式的缺点是当企业内部的许可数量小于企业内部的计算 机数量时, 则仍需要购买所有计算机数量的许可数量, 许可方式 不具弹性。 故期望有一种许可方式与计算机或装置无关, 只需管 理许可数量即可。
【发明内容】
【0007】 依据上述构想, 本发明提出一种许可一程序的 方法, 该程序储存于一储存装置或一远程服务器中并包含多个执 行文件,该多个执行文件包含一第一执行文件与一第二执行文件, 该笫一执行文件包含一笫一包头, 该第二执行文件包含一第二包 头, 该方法包含下列步骤: 使一操作系统接收一程序启动指令并 启动该程序。 使该操作系统将该第一包头储存于该储存装置中以 读取该第一包头, 并使一许可验证组件中断该操作系统将该第一 执行文件加载到一随机存取存储器中执行。 使该许可验证组件与 该操作系统或该远程服务器配合, 以进行一许可验证。 当该第一 执行文件通过该许可验证后, 该许可验证组件允许该第一执行文 件加载到该随机存取存储器中执行。当该第二执行文件被使用时, 该操作系统读取该第二包头, 并由该许可验证组件与该操作系统 或该远程服务器配合, 以进行另一许可验证。
【0008】 依据上述构想, 本发明提出一种许可一程序的 方法, 包含下列步骤: 使一操作系统接收一程序启动指令并启动 该程序。 在该操作系统加载该程序前, 使一许可验证组件与该操 作系统本身或一远程服务器配合以进行一许可验证。 当该许可验 证通过后, 使该操作系统或一储存装置取得一令牌。
【0009】 依据上述构想, 本发明提出一种许可一程序的 装置, 该程序包含一包头, 该装置包含一储存装置、 一文件系统、 一操作系统、 以及一许可验证组件。 该文件系统配置于该储存装 置, 该操作系统接收一启动程序指令并启动该程序, 并将该包头 加载到该一随机存取存储器中以读取该包头。 该许可验证组件中 断该操作系统将该程序加载到该随机存取存储器中执行, 并与该 操作系统或一远程服务器配合, 以进行一许可验证。 其中当该许 可验证通过后, 该许可验证组件允许该程序继续加载到该随机存 取存储器中执行。
【0010】 依据上述构想, 本发明提出一种许可一程序的 方法, 包含下列步骤: 选取一特定程序。 由一本地操作系统本身 或一远程服务器进行一许可验证。 当该许可验证通过后, 许该操 作系统将该特定程序加载至一特定存储器。
【001 1】 依据上述构想, 本发明提出一种程序交易装置, 包含一第一存取组件、 一第二存取组件、 以及一许可验证组件。 该第一存取组件存取一远程链接库,该远程链接库包含多个程序。 该笫二存取组件供一本地操作系统存取, 以自该多个程序中选取 一特定程序。 该许可验证组件与该本地操作系统本身或一远程服 务器配合以进行一许可验证, 使得当该许可验证通过后, 许该特 定程序被执行。
【0012】 依据上述构想, 本发明提出一种许可一程序的 装置, 该装置包含一主机以及一行动装置 D 该主机包含一操作系 统与一驱动程序。 该行动装置包含该程序与一许可验证组件, 该 许可验证组件包含一固件, 其中当该行动装置与该主机耦接时, 该固件中断该程序从该行动装置传送至该主机, 且该驱动程序中 断该程序藉由该操作系统加载到一随机存取存储器执行, 该许可 验证组件被启动以使该操作系统经由该驱动程序而与该固件配合 来进行一许可验证, 当该许可验证通过后, 该固件允许该程序从 该行动装置传送到该主机, 且该驱动程序允许该程序藉由该操作 系统加载到该随机存取存储器中执行。
【0013】 依据上述构想, 本发明提出一种用于一程序交 易装置中许可一程序的方法, 该程序交易装置包含一主机与一行 动装置, 该主机包含一驱动程序、 一随机存取存储器、 以及一操 作系统, 该行动装置包含一许可验证组件与该程序, 该许可验证 组件包含一固件, 该方法包含下列步骤: 耦接该行动装置与该主 机。 该固件中断该程序从该行动装置传送至该主机, 且该驱动程 序中断该程序藉由该操作系统加载到该随机存取存储器执行。 该 许可验证组件被启动以使该操作系统经由该驱动程序而与该固件 配合来进行一许可验证。 当该许可验证通过后, 该固件允许该程 序从该行动装置传送到该主机, 且该驱动程序允许该程序藉由该 操作系统加载到该随机存取存储器执行。
【0014】 藉由本发明所提供的许可一程序的方法以及程 序交易平台, 企业用户购买之许可数量可弹性调配以减少不必要 的购买许可数量, 此对于企业用户可更经济地购买所需之软件来 安装, 而达到企业用户对于应用程序的许可数量需求。 另一方面, 对于提供应用程序的厂商而言, 更严密的许可验证可降低应用程 序盗版的机率, 此对提供应用程序的厂商更有保障。 本发明亦可 适用于一般用户。
【图式简单说明】
【0015】
图 1, 习用许可一程序的流程的示意图。
图 2, 本发明第一较佳实施例许可的流程的示意图。
图 3, 本发明第一较佳实施例一程序交易系统的示意图。 图 4, 本发明第二较佳实施例云端系统许可的示意图。
图 5, 本发明第三较佳实施例许可一程序的方法之示意图。 图 6, 本发明第四较佳实施例许可一程序的示意图。
图 7(a), 本发明另一较佳实施例许可一程序的系统的示意 图。
图 7(b), 本发明另一较佳实施例许可一程序的系统的示意 图。
图 8, 本发明另一较佳实施例许可一程序的方法之示意图。 图 9,本发明在一程序交易装置中许可一程序的方法之示意 图。
【实施方式】
【0016】 请参酌本发明的附图来阅读下面的详细说明, 其中本发明的附图是以举例说明的方式, 来介绍本发明各种不同 的实施例, 并供了解如何实现本发明。 本发明提供充分的实施例 来说明本发明的精神, 而各实施例之间并不互斥而可相互任意组 合形成新的实施例, 意即本发明不限于文中所载之实施例。
【0017】 请参阅图 2,其为本发明第一较佳实施例许可的 流程的示意图。 客户端系统在使用应用程序交易平台之前须安装 主应用程序, 主应用程序免费提供给用户下栽安装, 主应用程序 包含了沟通操作系统与硬件装置的驱动程序、 以及客户端系统的 操作系统所需读取之存储器空间的信息。 步骤 S201 : 客户端系统 接收启动应用程序指令。 步骤 S202 , 判断许可。 在步骤 S202中, 在存取购买的应用程序的文件之前由客户端系统的操作系统将许 可之数据传送至远程服务器来进行许可验证。 在未通过许可验证 之前, 当客户端系统的操作系统的流程进行到读取购买的应用程 序文件的流程时, 驱动程序会停止读取购买的应用程序文件, 此 时由客户端系统的操作系统来进行许可验证。当许可验证成功时, 则该驱动程序允许继续读取购买的应用程序文件, 进入步骤 S203; 当许可验证成功时, 则进入步骤 S204。 步骤 S203, 该驱 动程序将购买的应用程序文件交给客户端系统的操作系统控制。 步骤 S204 , 该远程服务器要求用户提供账号与密码来登入该远程 服务器的许可系统。 步骤 S205 , 该远程服务器检查该账号的付款 状态, 当该账号的付款状态是已经付款的状态时, 则进入步骤 S203 , 然后依序进入步骤 S206、 S207; 当该账号的付款状态是未 付款的状态时, 则进入步骤 S207。 步骤 S206该操作系统将购买 的应用程序文件加载到客户端系统的随机存取存储器 (RAM)中执 行。 步骤 S207结束主应用程序。
【0018】 请参阅图 3,其为本发明第一较佳实施例一程序 交易系统 30的示意图。 该程序交易系统 30包含一程序交易装置 32以及远程服务器 305。该程序交易装置 32包含一第一存取组件、 一第二存取组件、 以及一许可验证组件 307。 例如, 该第一存取 组件为储存装置 306, 且该第二存取组件为随机存取存储器 304。 该第一存取组件存取远程服务器 305的远程链接库, 该远程链接 库包含多个程序, 也就是想要购买的应用程序。 该第二存取组件 供本地操作系统 302存取, 以自该多个程序中选取一特定程序。 该许可验证组件 307与该本地操作系统本身 302或远程服务器 305 配合以进行一许可验证, 使得当该许可验证通过后, 许该特定程 序被执行。
【0019】 在图 3中, 该程序交易装置 32更包含一主应用 程序 301、 一本地操作系统 302、 一驱动程序 309、 以及一文件系 统 303。 当所要购买的应用程序被选取以被执行时, 本地操作系 统 302会读取该购买的应用程序的包头(Header) , 以确认该购买 的应用程序所需之存储器大小等信息, 然后分配 (allocate)给该购 买的应用程序一个新的程序(process) , 并启动该新的程序, 此时 许可验证组件 307被启动而传送验证信息 2, 以向远程服务器 305 进行许可验证, 许可验证组件 307在被通知通过许可验证后, 传 送控制讯息 1, 2, 以及 3的其中之一以分别控制储存装置 306、 文 件系统 303、 以及驱动程序 309的其中之一, 以允许将该购买的 应用程序文件从该远程服务器 305储存到储存装置 306、 将该购 买的应用程序文件通过该驱动程序 309从该储存装置 306储存到 该文件系统 303、 以及由本地操作系统 302将该购买的应用程序 文件从文件系统 303加载到该随机存取存储器 304以供执行。 在 另一较佳实施例中许可验证组件 307亦可传送验证信息 1向本地 操作系统 302进行许可验证, 在许可验证通过后, 同样地, 许可 验证组件 307传送控制讯息 1以及控制讯息 2以允许将该购买的 应用程序文件从远程服务器 305的链接库加载到随机存取存储器 304中执行。 在图 3中储存装置 306与随机存取存储器 304之间 的虛线代表该购买的应用程序文件在其间是间接存取, 也就是该 购买的应用程序文件之数据经过储存装置 306、 驱动程序 309、 文 件系统 303、 操作系统 302之后加栽到该随机存取存储器 304来 执行。
【0020】 在图 3中,储存装置 306可以是远程服务器 305 的硬盘、 本机硬盘、 一专用的随机存取存储器区块、 或其任意组 合。 购买的应用程序文件储存的地方因设计而有所不同, 而文件 系统 303则分配在哪里存取购买的应用程序文件。 为了使本地操 作系统 302可存取特定位置的特定文件之数据, 该文件系统 303 被仿真于该储存装置 306上用来接收本地操作系统 302的指令以 存取特定位置的特定文件之数据。 该许可验证组件 307可包含驱 动程序与主应用程序 301的一部分, 或该主应用程序 301可包含 该驱动程序与该许可验证组件 307 , 该许可验证组件 307的任务 在于与该本地操作系统 302或该远程服务器 305配合以验证许可, 并在通过许可验证后, 该许可验证组件 307允许该购买的应用程 序文件储存到储存装置 306、 或从储存装置 306读取至文件系统
303、 或让操作系统 302从文件系统 303加载至随机存取存储器
304, 其依照该许可验证组件 307是否能控制到储存装置 306、 文 件系统 303、 远程服务器 305 的硬盘而定。 本发明主要是在通过 许可验证之前, 该许可验证组件 307禁止该购买的应用程序文件 从该储存装置 306传送到该文件系统 303 ,或使本地操作系统 302 禁止该购买的应用程序文件从该文件系统 303加载到该随机存取 存储器 304中。
【0021】 当该购买的应用程序文件被加载到随机存取存 储器 304时, 本地操作系统 302会根据该购买的应用程序文件的 包头所纪录的一应用程序进入点来呼叫该应用程序进入点, 然后 该操作系统 302将执行权交由该新的程序来处理。
【0022】 请参阅图 4,其为本发明第二较佳实施例云端系 统 40许可的示意图。 云端系统 40包含在企业的外部环境的一公 有云 42以及在企业内部的一私有云 44。 私有云 44包含一软件主 机 441、一局域网络 442、 以及多个计算机主机 443, 444, 445, 446, 447。 该公有云 42包含一云端主机 421。 在云端主机 421上的应 用程序软件可在企业购买一特定数量的应用程序软件许可后分布
(distribute)至企业的软件主机 441,软件主机 441再将该特定数量 的应用程序软件分布至多个计算机主机 443, 444, 445, 446, 447。 在图 4中只显示云端主机 421通过一因特网 422联机至一个企业 的软件主机 441, 在另一较佳实施例中, 云端主机 421可通过因 特网联机至多个软件主机, 而该多个软件主机中的每一软件主机 由各个不同的企业所拥有。
【0023】 在图 4中,云端主机 421与企业内软件主机 441 之间的许可验证以及购买的应用程序文件之使用可由云端主机 421管理。 云端主机 421拥有一第一密钥, 其作为对许可数量的 签章之用途, 企业内的软件主机 441拥有一第二密钥, 其作为验 证该许可数量之用途。企业须先向服务端购买特定数量的许可后, 云端主机 421才会将许可数量之数据使用该第一密钥加密, 再将 加密后的许可数量之数据作签章认证, 所以一旦许可数量之数据 被窜改,经加密后的许可数量之数据会与签章认证过的数据不同。 经签章认证后的信息经由因特网 422 传送至企业内的软件主机 441, 软件主机 441利用该第二密钥解密该经签章认证后的信息, 以验证许可数量, 故当许可数量被窜改时, 则在验证时该经签章 认证后的信息不符合,云端主机 421会直接拒绝所有许可的动作。 若是签章符合时, 则购买的应用程序文件可藉由因特网 422下载 至企业内部的软件主机 441, 或是企业的信息人员将该经签章认 证后的信息储存至另外一台计算机, 再利用另外一台计算机经由 因特网 422来下载该购买的应用程序, 这样的软件主机 441的脱 机下载可以避免软件主机 441被骇或中毒的风险。
【0024】 在图 4 中, 企业内部的软件主机 441可管理云 端主机 421认证之许可数量。 在一较较佳实施例中, 企业内部的 局域网络 422内共有 5台计算机主机 443, 444, 445, 446, 447, 但 是同时使用到该购买的应用程序文件只需要 3套, 因此只需购买
3个许可数量, 例如, 计算机主机 443, 444先安装主应用程序后 同时在使用同一个购买的应用程序, 软件主机 441会纪录该购买 的应用程序已经被多少个计算机主机所使用, 并将软件主机 441 内许可数量的计数减少 2, 而当计算机主机 445安装主应用程序 后要使用同一个购买的应用程序时候, 则许可数量的计数再减少 1。当计算机主机 446安装主应用程序后要使用同一个购买的应用 程序时候, 许可数量的计数已经变成负的, 其表示软件主机 441 验证许可数量已经超过, 便不会让计算机主机 446执行。 当计算 机主机 443不使用该购买的应用程序时, 如同图 3中储存于储存 装置 306之购买的应用程序文件不会被本地操作系统 302加载到 随机存取存储器 304中执行, 软件主机 441 内许可数量增加 1, 因此计算机主机 446或 447的其中之一可以使用同一个购买的应 用程序。
【0025】 在一较佳实施例中, 在图 3 中的程序交易装置 32为该软件主机 441, 远程服务器 305为该云端主机 421。 在另 一较佳实施例中, 程序交易装置 32为多个计算机主机 443, 444, 445, 446, 447的任一台, 远程月良务器 305为该软件主机 441。软件 主机 441内部的许可猃证组件 307在许可验证未通过下则不允许 购买的应用程序被本地操作系统 302加载到随机存取存储器 304 中执行。 类似地, 多个计算机主机 443, 444, 445, 446, 447的任一 台在未通过许可数量的验证之前, 在其内部的许可验证组件 307 亦不允许购买的应用程序储存至储存装置 306或是加载到随机存 取存储器 304中。
【0026】 当多个计算机主机 443, 444, 445, 446, 447在不 同局域网络时, 因应网络速度较慢, 延迟较高, 在许可验证通过 后可将购买的应用程序文件先储存于储存装置 306中, 再将购买 的应用程序文件经由文件系统 303与本地操作系统 302从储存装 置 306加载至随机存取存储器中 304。 也就是 RAM中以供执行。
【0027】 在企业内部使用计算机主机的人须登录其企业 内部的账号, 此账号根据不同的身分而具有不同的权限, 当计算 机主机 443〜447的其中之一通过许可验证后, 软件主机 441会发 出一令牌, 该令牌具有相关于该账号的权限, 通过许可的计算机 主机的本地操作系统 302或许可验证组件 307便才艮据该令牌来决 定购买的应用程序文件如何被处理, 例如将购买的应用程序文件 加栽到随机存取存储器 304中, 或是中断购买的应用程序文件的 加载。 同样地, 云端主机 421亦可作为许可验证的服务器。 当企 业用户以具有特定权限的账号登录软件主机 441后, 在公有云 42 的云端主机 421会才艮据特定权限来许可软件主机 441 , 以使企业 用户所购买的应用程序文件下载至软件主机 441。 当然软件主机 441 中的本地操作系统 302或许可验证组件 307亦会才艮据该令牌 来决定购买的应用程序文件如何被处理, 例如将购买的应用程序 文件加载到软件主机 441的随机存取存储器 304中, 或是中断购 买的应用程序文件的加载。
【0028】 购买的应用程序文件经过许可后会储存于储存 装置 306中。 为了避免应用程序文件被复制出来使用, 这些文件 都有特定密钥加密来加以保护,而该特定密钥在该令牌 (token)中, 有该令牌购买的应用程序文件才可允许被下载。 当购买的应用程 序文件在计算机主机 443被执行时,启动的令牌会被软件主机 441 纪录下来, 启动的令牌会保留于纪录中, 即许可数量的计数会被 軟件主机 441记录下来, 若纪录被删除则购买的应用程序文件无 法被读取。 如果许可数量在与云端主机断线的情况下被窜改, 许 可验证组件 307会禁止购买的应用程序文件从软件主机 441的远 程服务器 305被读取到计算机主机 443的随机存取存储器 304中。 【0029】 许可验证依照购买应用程序文件的使用之多寡 可分为完全许可与部分许可, 当购买的应用程序包舍多种不同功 能的多个个应用程序时, 该多个个应用程序可依照其功能分成不 同的文件, 这样就可以依文件来进行部分许可。 当只有购买应用 程序的一部分功能时, 则部分许可可适用。
【0030】 请参阅图 5,其为本发明第三较佳实施例许可一 程序的方法之示意图。 该程序储存于一储存装置或一远程服务器 中并包含多个执行文件, 该多个执行文件包含一第一执行文件与 一第二执行文件, 该第一执行文件包含一第一包头, 该第二执行 文件包含一第二包头, 该方法包含下列步骤: 步骤 S501 , 使一操 作系统接收一程序启动指令并启动该程序。 步骤 S502 , 使该操作 系统将该第一包头加载到该储存装置中以读取该第一包头, 并使 一许可验证组件中断该操作系统将该第一执行文件加载到一随机 存取存储器中。 步骤 S503 , 使该许可猃证组件与该操作系统或该 远程服务器配合, 以进行一许可验证。 步骤 S504 , 当该第一执行 文件通过该许可验证后, 该许可验证组件允许该第一执行文件加 载到该随机存取存储器中执行。 步骤 S505, 当该第二执行文件被 使用时, 该操作系统读取该第二包头, 并由该许可验证组件与该 操作系统或该远程服务器配合, 以进行另一许可验证。
【0031】 在图 5 中, 当该许可验证未通过时, 该操作系 统读取一毁损文件, 以结束该购买的应用程序, 或使该操作系统 无法读取该购买的应用程序而使该购买的应用程序发生错误, 以 结束该购买的应用程序程序 β 该许可验证依照使用的有效期间可 分为一永久许可验证、 一租用许可验证、 以及一试用许可验证, 该许可验证包含其中之一。 当该许可验证为该永久许可验证时, 该程序允许被无限期使用, 当该许可验证为该租用许可验证时, 在一特定的时间间隔内该程序允许被使用, 当该许可验证为该试 用许可验证时, 在一试用时间到期时该程序被停止使用。
【0032】 该许可验证更包含一网络许可或一电话许可, 该网络许可利用验证一第一许可码来进行许可脸证, 该第一许可 码包含一个人隐私相关讯息, 该个人隐私相关讯息包含身分证字 号、 生日、 或其任意组合, 该电话许可利用一电话号码来进行许 可验证, 当该电话许可被验证时, 该电话号码用以取得一第二许 可码, 该第二许可码被用来通过该电话许可的许可验证。 藉由个 人隐私相关讯息来验证可避免将序号或是许可码分享, 而避免程 序在未付费的情况下被盗用的问题。
【0033】 当该许可验证通过后, 该操作系统可取得一令 牌 (token)。 该令牌包含一匿名令牌以及一非匿名令牌。 该匿名令 牌用于一公用计算机, 该非匿名令牌用于一私人计算机。 令牌的 用途在于使购买的应用程序文件允许存取, 匿名令牌的用途在于 使购买的应用程序文件允许存取, 但一旦计算机关机, 该购买的 应用程序文件就会被清除, 此适用于该公用计算机。 而非匿名令 牌的用途在于使购买的应用程序文件允许存取, 但一旦计算机关 机, 该购买的应用程序文件不会被清除, 此适用于该私人计算机。
【0034】 请参阅图 6,其为本发明第四较佳实施例许可一 程序的示意图。 许可一程序的方法, 包含下列步骤: 步骤 S601 , 使一操作系统接收一程序启动指令并启动该程序。 步骤 S602 , 在 该操作系统加载该程序前, 使一许可验证组件与该操作系统本身 或一远程服务器配合以进行一许可验证。 步骤 S603 , 当该许可验 证通过后, 使该操作系统取得一令牌。
【0035】 该令牌包含了加密密钥, 有了加密密钥才能将 购买的应用程序文件解密以供读取。 该许可验证包含一永久许可 验证、 一租用许可验证、 以及一试用许可验证的其中之一。 当该 许可验证为该租用许可验证或该试用许可验证时, 该许可验证组 件与该远程服务器配合以进行该许可验证。 当该许可验证为该永 久许可验证, 且该远程服务器无法联机时, 该许可验证组件与该 操作系统配合以进行该许可验证, 在此状况下, 虽可进行临时的 许可验证, 但固定一段时间后, 例如在一个星期后强制要求联机 到远程服务器进行许可验证, 以确保购买的应用程序不被盗用。
【0036】 在图 6 中, 该方法更包含下列步骤: 当该匿名 令牌被检验通过且该程序关闭时,该程序的数据恢复为一默认值。 当该非匿名令牌被检验通过且该程序关闭时, 该程序的数据维持 其原状态。
【0037】 请参阅图 7(a) ,其为本发明另一较佳实施例许可 一程序的系统 50的示意图, 其包含许可一程序的装置 52以及一 远程服务器 506。 许可一程序的装置 52包含一文件系统 501、 ― 储存装置 507、 一操作系统 502、 以及一许可猃证组件 503。 远程 服务器 506的软件库中包含该程序 505 , 该程序 505 包含一包头 5050。该操作系统 502接收一启动程序指令 504并启动该程序 505, 并将该包头 5050储存于该储存装置 508中以供该操作系统 502读 取该包头 5050。 该许可验证组件 503中断该操作系统 502将该程 序 505加载到随机存取存储器 508执行, 并与该操作系统 502或 远程服务器 506配合, 以进行一许可验证。 当该许可验证通过后, 该许可验证组件 503允许该程序 505继续加载到该随机存取存储 器 508中执行。
【0038】 在另一较佳实施例中, 该程序 505 尚未储存到 储存装置 501中, 但是该许可验证组件 503中断该程序 505储存 到储存装置 507的动作, 该许可验证组件 503与该操作系统 502 或远程服务器 506配合, 以进行该许可验证。 当该许可验证通过 后, 该许可验证组件 503允许该程序 505储存至该储存装置 507, 并由操作系统 502将该程序 505从文件系统 501加载到该随机存 取存储器 508中执行。
【0039】 请参阅图 7(b) , 其为本发明另一较佳实施例许 可一程序的系统 60的示意图, 其包含许可一程序的装置 62以及 一远程服务器 606。 许可一程序的装置 62包含一行动装置 601以 及一主机 611。 该主机 611包含一操作系统 602、 驱动程序 608、 以及随机存取存储器 612。 该行动装置 601 包含一固件 (Firmware)607、 以及程序 609, 该程序 609包含一包头 6090。 在 一较佳实施例中, 该操作系统 602接收一启动程序指令 604并启 动该程序 609, 并读取该包头 6090。
【0040】 在图 7(b)中, 操作系统 602与行动装置 601之 间由一驱动程序 608来控制,该固件 607包含该许可验证组件 603, 该固件 607与该驱动程序 608合作以传送以及控制该程序 609。 当行动装置 601与该主机 611耦接时, 在许可验证之前, 该程序 609的包头 6090藉由该驱动程序 608、 该操作系统 602而在随机 存取存储器 612先被读取, 以确认该程序 609所需之存储器大小 等信息, 然后该操作系统 604分配 (allocate)给该程序 609—个新 的程序并启动之, 此时许可验证组件 603被启动以使该操作系统 604经由该驱动程序 608而与该固件 607配合来进行许可验证。 在许可验证通过之前, 固件 607中断该程序 609从该行动装置传 送至该主机 611 , 驱动程序 608中断操作系统 604将程序 609加 载到随机存取存储器 612执行。
【0041】 许可验证通过后该固件 607允许该程序 609从 该行动装置传送至该主机 611 而不会被中断, 该驱动程序 608允 许该程序 609藉由操作系统 602加载到到随机存取存储器 612执 行, 而不会被该驱动程序 608中断, 在另一较佳实施例中, 许可 验证可由许可验证组件 603与远程服务器 606或操作系统 602配 合来进行。 【0042】 图 7(b)中, 行动装置 601可为一随身硬盘, 该 操作系统 602包含: 嵌入式操作系统、 Windows操作系统、 Linux 操作系统、 以及 Solaris操作系统的其中之一。
【0043】 请参阅图 8,其为本发明另一较佳实施例许可一 程序的方法之示意图。 该方法包含下列步骤: 步骤 S801 , 选取一 特定程序。 步骤 S802 , 由一本地操作系统本身或一远程服务器进 行一许可验证。 步骤 S803 , 当该许可验证通过后, 许该操作系统 将该特定程序加载至一特定存储器。
【0044】 在图 8 中, 该特定存储器由一用户选定一存储 器路径, 该方法更包含: 使该特定程序从一云端主机储存至一软 件主机中。 从该软件主机传送该特定程序至一局域网络主机。 该 方法更包含: 中断该程序的执行, 待该许可验证通过后该许可验 证组件允许该程序继续执行。
【0045】 请参阅图 9, 其为本发明在一程序交易装置 62 中许可一程序 609的方法,该程序交易装置 62包含一主机 611与 一行动装置 601, 该方法包含下列步骤: 步骤 S901 , 耦接该行动 装置 601与该主机 611。 步骤 S902 , 该行动装置 601中的一固件 607中断该程序 609从该行动装置 601传送至该主机 611 ,且该主 机 611中的一驱动程序 608中断该程序 609藉由该主机 611中的 一操作系统 602加载到该主机 611中的一随机存取存储器 612执 行。 步骤 S903 , 该行动装置 601中的一许可验证组件 603被启动 以使该操作系统 602经由该驱动程序 608而与该固件 607配合来 进行一许可验证。 步骤 S904 , 当该许可验证通过后, 该固件 607 允许该程序 609从该行动装置 601传送到该主机 611 , 且该驱动 程序 608允许该程序 609藉由该操作系统 602加载到该随机存取 存储器 612执行。 【0046】 实施例
【0047】 1. 一种许可一程序的方法, 该程序储存于一储 存装置或一远程服务器中并包含多个执行文件, 该多个执行文件 包舍一第一执行文件与一第二执行文件, 该第一执行文件包含一 第一包头, 该第二执行文件包含一第二包头, 该方法包含下列步 骤: 使一操作系统接收一程序启动指令并启动该程序。 使该操作 系统将该第一包头储存于该储存装置中以读取该第一包头, 并使 一许可验证组件中断该操作系统将该第一执行文件加载到一随机 存取存储器中执行。 使该许可验证组件与该操作系统或该远程服 务器配合, 以进行一许可验证。 当该第一执行文件通过该许可验 证后, 该许可验证组件允许该第一执行文件加载至该随机存取存 储器中执行。 当该第二执行文件被使用时, 该操作系统读取该第 二包头,并由该许可验证组件与该操作系统或该远程服务器配合, 以进行另一许可验证。
【0048】 2. 如实施例 1所述的方法, 该方法更包含下列 步骤: 当该许可验证未通过时, 该操作系统读取一毁损文件, 以 结束该程序, 或使该操作系统无法读取该程序而使该程序发生错 误, 以结束该程序。 当该第二执行文件通过该另一许可验证后, 该许可验证组件允许该第二执行文件加载到该随机存取存储器 中。
【0049】 3. —种许可一程序的方法, 包含下列步骤: 使 一操作系统接收一程序启动指令并启动该程序。 在该操作系统加 载该程序前, 使一许可验证组件与该操作系统本身或一远程服务 器配合以进行一许可验证。 当该许可验证通过后, 使该操作系统 或一储存装置取得一令牌。
【0050】 4. 如实施 3所述的方法, 其中: 该许可验证组 件中断该操作系统将该程序加载, 待该许可验证通过后该许可验 证组件允许该操作系统将该程序继续加载。 该令牌包含一匿名令 牌以及一非匿名令牌。 该匿名令牌用于一公用计算机, 该非匿名 令牌用于一私人计算机。 该许可验证包含一永久许可验证、 一租 用许可验证、 以及一试用许可验证的其中之一。 当该许可验证为 该租用许可脸证或该试用许可验证时, 该许可验证组件与该远程 服务器配合以进行该许可验证。当该许可验证为该永久许可验证, 且该远程服务器无法联机时, 该许可验证组件与该操作系统配合 以进行该许可验证。 该方法更包含下列步骤: 当该匿名令牌被检 验通过且该程序关闭时, 该程序的数据恢复为一默认值。 当该非 匿名令牌被检验通过且该程序关闭时, 该程序的数据维持其原状 态。
【0051】 5. —种许可一程序的装置,该程序包含一包头, 该装置包含一储存装置、 一文件系统、 一操作系统、 以及一许可 验证组件。 该操作系统接收一启动程序指令并启动该程序, 并将 该包头储存至该储存装置中以供该操作系统读取该包头。 该许可 验证组件中断该操作系统将该程序加载到一随机存取存储器中执 行, 并与该操作系统或一远程服务器配合, 以进行一许可验证。 其中当该许可验证通过后, 该许可验证组件允许该程序继续加载 到该随机存取存储器中执行。
【0052】 6. 如实施例 5所述的装置, 其中该装置更包含 一驱动程序, 该许可验证组件在被通知通过许可验证后, 传送一 第一控制讯息、 一第二控制讯息、 以及一第三控制讯息的其中之 一以分别控制该储存装置、 该文件系统、 以及该驱动程序的其中 之一, 以允许将该程序从该远程服务器储存到储存装置、 将该程 序通过该驱动程序从该储存装置储存到该文件系统、 以及由该操 作系统将该程序从文件系统加载到该随机存取存储器中执行。 当 该许可验证未通过时, 该操作系统读取一毁损文件, 以结束该程 序, 或使该操作系统无法读取该程序而使该程序发生错误, 以结 束该程序。 该许可验证的方式包含一永久许可验证、 一租用许可 验证、 以及一试用许可验证的其中之一。 当该许可验证为该永久 许可验证时, 该程序允许被无限期使用。 当该许可验证为该租用 许可验证时, 在一特定的时间间隔该程序允许被使用。 当该许可 验证为该试用许可验证时, 在一试用时间到期时该程序被停止使 用。 该许可验证更包含一网络许可或一电话许可, 该网络许可的 方式利用验证一第一许可码来进行许可验证, 该第一许可码包含 一个人隐私相关讯息, 该个人隐私相关讯息包含身分证字号、 生 日、 或其任意組合, 该电话许可的方式利用一电话号码来进行许 可验证, 当该电话许可被验证时, 该电话号码用以取得一第二许 可码, 该第二许可码被用来通过该电话许可的许可验证。
【0053】 7. —种许可一程序的方法, 包含下列步骤: 选 取一特定程序。 由一本地操作系统本身或一远程服务器进行一许 可验证。 当该许可验证通过后, 许该操作系统将该特定程序加载 至一特定存储器。
【0054】 8. 如实施例 7所述的方法,其中该方法更包含: 使该特定程序从一云端主机储存至一软件主机中。 从该软件主机 传送该特定程序至一局域网络主机。 该方法更包含: 中断该程序 的执行, 待该许可验证通过后该许可验证组件允许该程序继续执 行。 该许可验证验证个人机密信息, 该个人机密信息包含身分证 字号、 生日、 或其任意组合。 该特定存储器由一用户选定一存储 器路径。
[0055 ] 9.一种程序交易装置, 包含一第一存取组件、 一 第二存取组件、 以及一许可验证组件。 该第一存取組件存取一远 程链接库, 该远程链接库包含多个程序。 该第二存取组件供一本 地操作系统存取, 以自该多个程序中选取一特定程序。 该许可验 证组件与该本地操作系统本身或一远程服务器配合以进行一许可 验证, 使得当该许可验证通过后, 许该特定程序被执行。
[0056 ] 10. 如实施例 9所述的装置,其中该第一存取组 件为一代理服务器硬盘或一云端硬盘, 该第二存取组件为一随机 存取存储器 (RAM)。 该许可验证组件中断该本地操作系统将该程 序加载到该 RAM 中执行, 待该许可验证通过后该许可验证组件 允许该本地操作系统将该程序继续加载到该 RAM 中执行。 当该 程序交易装置为一软件主机时, 该远程服务器为一云端主机, 该 许可验证在该云端主机进行, 该程序在该软件主机被存取。 当该 程序交易装置为一软件主机, 且该远程服务器无法联机、 该远程 服务器为一云端主机时, 该许可验证在该软件主机进行, 该程序 在该计算机主机被存取。 当该程序交易装置为一计算机主机时, 该远程服务器为该软件主机, 该许可验证在该软件主机进行, 该 程序在该计算机主机被存取。 当该许可验证为该租用许可验证或 该试用许可验证时, 该许可验证组件与该远程服务器配合以进行 该许可验证。 当该许可验证为该永久许可验证, 且该远程 务器 无法联机时, 该许可验证组件与该操作系统配合以进行该许可验 证。 当该许可猃证未通过时, 由该操作系统读取一毁损文件, 直 到该许可验证通过时, 该许可验证组件允许该操作系统将该特定 程序加载到该第一存取组件或该第二存取组件中。 该许可验证包 含一永久许可验证、 一租用许可验证、 以及一试用许可验证的其 中之一。 当该许可验证为该永久许可验证时, 该程序允许被无限 期使用。 当该许可验证为该租用许可验证时, 在一特定的时间间 隔该程序允许被使用。 当该许可验证为该试用许可验证时, 在一 试用时间到期时该程序被停止使用。 该许可验证更包含一网络许 可或一电话许可, 该网络许可的方式利用验证一第一许可码来进 行许可验证, 该第一许可码包含一个人隐私相关讯息, 该个人隐 私相关讯息包含身分证字号、 生日、 或其任意组合, 该电话许可 的方式利用一电话号码来进行许可验证,当该电话许可被验证时, 该电话号码用以取得一第二许可码, 该第二许可码被用来通过该 电话许可的许可验证。
【0057】 11. 一种许可一程序的装置,该装置包含一主机 以及一行动装置。 该主机包含一操作系统与一驱动程序。 该行动 装置包含该程序与一固件, 该固件包含一许可验证组件其中当该 行动装置与该主机耦接时, 该固件中断该程序从该行动装置传送 至该主机, 且该驱动程序中断该程序藉由该操作系统加载到一随 机存取存储器执行, 该许可验证组件被启动以使该操作系统经由 该驱动程序而与该固件配合来进行一许可验证, 当该许可验证通 过后, 该固件允许该程序从该行动装置传送到该主机, 且该驱动 程序允许该程序藉由该操作系统加载到该随机存取存储器中执 行。
【0058】 12. —种在一程序交易装置中许可一程序的方 法, 该程序交易装置包含一主机与一行动装置, 该方法包含下列 步骤: 耦接该行动装置与该主机。 该行动装置中的一固件中断该 程序从该行动装置传送至该主机, 且该主机中的一驱动程序中断 该程序藉由该主机中的一操作系统加载到该主机中的一随机存取 存储器执行。 该行动装置中的一许可验证组件被启动以使该操作 系统经由该驱动程序而与该固件配合来进行一许可验证。 当该许 可验证通过后, 该固件允许该程序从该行动装置传送到该主机, 且该驱动程序允许该程序藉由该操作系统加载到该随机存取存储 器执行。
【0059】 综上所述, 本发明的说明与实施例已揭露于上, 然其非用来限制本发明, 凡习知此技艺者, 在不脱离本发明的精 神与范围之下, 当可做各种更动与修饰, 其仍应属在本发明专利 的涵盖范围之内。
【符号说明】
【0060】
301 : 主应用程序 302: 本地操作系统
302: 文件系统 304: 随机存取存储器
305: 远程服务器 306: 储存装置
307: 许可验证组件 30: 程序交易系统
40: 云端系统 32: 程序交易装置
42: 公有云 44: 私有云
421 : 云端主机 422: 因特网
4 1 : 软件主机 442 : 局域网络
443, 444, 445, 446, 447: 计算机主机 50, 60: 许可一程序的系统
501 : 文件系统 52, 62 : 许可一程序的装置
502: 操作系统 503, 603: 许可验证組件
504, 604: 启动程序指令 505, 609: 程序
506: 远程服务器 5050, 6090: 包头
507: 储存装置 508: 随机存取存储器
602: 操作系统
601: 行动装置 607: 固件
611 : 主机 309, 608: 驱动程序
【生物材料寄存】
国内寄存信息 【请依寄存机构、 日期、 号码顺序注记】 国外寄存信息 【请依寄存国家、 机构、 曰期、 号码顺序注
【序列表】 (请换页单独记载)

Claims

权 利 要 求
1. 一种许可程序的方法, 该程序储存于储存装置或远程服 务器中并包含多个执行文件, 多个执行文件包含第一执行文件与 第二执行文件, 该第一执行文件包含第一包头, 该第二执行文件 包含第二包头, 该方法包含下列步骤:
使操作系统接收程序启动指令并启动该程序;
使该操作系统将该第一包头储存于该储存装置中以读取该 第一包头, 并使许可验证组件中断该操作系统将该第一执行文件 加载至随机存取存储器中执行;
使该许可验证组件与该操作系统或该远程服务器配合, 以 进行许可验证;
当该第一执行文件通过该许可验证后, 该许可验证组件允 许该第一执行文件加载到该随机存取存储器中执行; 以及
当该第二执行文件被使用时,该操作系统读取该第二包头, 并由该许可验证组件与该操作系统或该远程服务器配合, 以进行 另一许可验证。
2. 如权利要求 1所述的方法, 该方法还包含下列步骤: 当该许可验证未通过时, 该操作系统读取毁损文件以结束 该程序, 或使该操作系统无法读取该程序而使该程序发生错误, 以结束该程序; 以及
当该第二执行文件通过该另一许可验证后, 该许可验证组 件允许该第二执行文件加栽到该随机存取存储器中执行。
3. 一种许可程序的方法, 包含下列步骤:
使操作系统接收程序启动指令并启动该程序; 在该操作系统加载该程序前, 使许可验证组件与该操作系 统本身或远程服务器配合以进行许可验证; 以及
当该许可验证通过后,使该操作系统或储存装置取得令牌。
4. 如权利要求 3所述的方法, 其中:
该许可验证组件中断该操作系统将该程序加载, 待该许可 验证通过后该许可验证组件允许该操作系统将该程序继续加载; 该令牌包含匿名令牌以及非匿名令牌;
该匿名令牌用于公用计算机, 该非匿名令牌用于私人计算 机;
该许可验证包含永久许可验证、 租用许可验证、 以及试用 许可验证的其中之一;
当该许可验证为该租用许可验证或该试用许可验证时, 该 许可验证组件与该远程服务器配合以进行该许可验证;
当该许可验证为该永久许可验证, 且该远程服务器无法联 机时, 该许可验证组件与该操作系统配合以进行该许可验证; 以 及
该方法还包含下列步骤:
当该匿名令牌被检验通过且该程序关闭时, 该程 序的数据恢复为默认值; 以及
当该非匿名令牌被检验通过且该程序关闭时, 该 程序的数据维持其原状态。
5. 一种许可程序的装置, 该程序包含包头, 该装置包含: 储存装置;
文件系统, 配置于该储存装置;
操作系统, 接收启动程序指令并启动该程序, 并将该包头 储存于该储存装置中以供该操作系统读取该包头; 以及
许可验证组件, 中断该操作系统将该程序加载到随机存取 存储器中执行, 并与该操作系统或远程服务器配合, 以进行许可 验证,
其中当该许可验证通过后, 该许可验证组件允许该程序继 续加载到该随机存取存储器中执行。
6. 如权利要求 5所述的装置, 其中:
该装置还包含驱动程序, 该许可验证组件在被通知通过许 可验证后, 传送第一控制讯息、 第二控制讯息、 以及第三控制讯 息的其中之一以分别控制该储存装置、 该文件系统、 以及该驱动 程序的其中之一, 以允许将该程序从该远程服务器储存到储存装 置、 将该程序通过该驱动程序从该储存装置储存到该文件系统、 以及由该操作系统将该程序从文件系统加载到该随机存取存储器 中执行;
当该许可验证未通过时, 该操作系统读取毁损文件以结束 该程序, 或使该操作系统无法读取该程序而使该程序发生错误, 以结束该程序;
该许可验证的方式包含永久许可验证、 租用许可验证、 以 及试用许可验证的其中之一;
当该许可验证为该永久许可验证时, 该程序允许被无限期 使用;
当该许可验证为该租用许可验证时, 在特定的时间间隔该 程序允许被使用;
当该许可脸证为该试用许可验证时, 在试用时间到期时该 程序被停止使用; 以及
该许可验证还包含网络许可或电话许可, 该网络许可的方 式利用验证第一许可码来进行许可验证的, 该第一许可码包含个 人隐私相关讯息, 该个人隐私相关讯息包含身分证字号、 生日、 或其任意组合,该电话许可的方式利用电话号码来进行许可验证, 当该电话许可被验证时, 该电话号码用以取得第二许可码, 该笫 二许可码被用来通过该电话许可的许可验证。
7. 一种许可程序的方法, 包含下列步骤:
选取特定程序;
由本地操作系统本身或远程服务器进行许可验证; 以及 当该许可验证通过后, 许该操作系统将该特定程序加载至 特定存储器。
8. 如权利要求 7所述的方法, 其中:
该方法还包含:
使该特定程序从云端主机储存至软件主机中; 以 及
从该软件主机传送该特定程序至局域网络主机; 该方法还包含:
中断该程序的执行, 待该许可验证通过后该许可 验证组件允许该程序继续执行;
该许可验证验证个人机密信息, 该个人机密信息包含 身分证字号、 生日、 或其任意组合; 以及
该特定存储器由用户选定存储器路径。
9.一种程序交易装置, 包含:
第一存取组件, 存取远程链接库, 该远程链接库包含多个 程序; 第二存取组件, 供本地操作系统存取, 以自该多个程序中 选取特定程序; 以及
许可验证组件, 其与该本地操作系统本身或远程服务器配 合以进行许可验证, 使得当该许可验证通过后, 许该特定程序被 执行。
10. 如权利要求 9所述的装置, 其中:
该第一存取组件为代理服务器硬盘或云端硬盘, 该第二存 取组件为随机存取存储器 (RAM);
该许可验证组件中断该本地操作系统将该程序加载到该 RAM中执行,待该许可验证通过后该许可验证组件允许该本地操 作系统将该程序继续加载到该 RAM中执行;
当该程序交易装置为软件主机时, 该远程服务器为云端主 机, 该许可验证在该云端主机进行, 该程序在该软件主机被存取; 当该程序交易装置为软件主机,且该远程服务器无法联机、 该远程 I务器为云端主机时, 该许可验证在该软件主机进行, 该 程序在该计算机主机被存取;
当该程序交易装置为计算机主机时, 该远程服务器为该软 件主机, 该许可验证在该软件主机进行, 该程序在该计算机主机 被存取;
当该许可验证为该租用许可验证或该试用许可臉证时, 该 许可验证组件与该远程服务器配合以进行该许可验证;
当该许可验证为该永久许可验证, 且该远程^^务器无法联 机时, 该许可验证组件与该操作系统配合以进行该许可验证; 当该许可验证未通过时, 由该操作系统读取毁损文件, 直 到该许可验证通过时, 该许可验证组件允许该操作系统将该特定 程序加载到该第一存取组件或该第二存取组件中; 该许可验证包含永久许可验证、 租用许可验证、 以及试用 许可验证的其中之一;
当该许可验证为该永久许可验证时, 该程序允许被无限期 使用;
当该许可验证为该租用许可验证时, 在特定的时间间隔该 程序允许被使用;
当该许可验证为该试用许可验证时, 在试用时间到期时该 程序被停止使用; 以及
该许可验证还包含网络许可或电话许可, 该网络许可的方 式利用验证第一许可码来进行许可验证, 该第一许可码包含个人 隐私相关讯息, 该个人隐私相关讯息包含身分证字号、 生日、 或 其任意组合, 该电话许可的方式利用电话号码来进行许可验证, 当该电话许可被验证时, 该电话号码用以取得第二许可码, 该第 二许可码被用来通过该电话许可的许可验证。
11. 一种许可程序的装置, 包含:
主机, 包含操作系统、 随机存取存储器、 以及驱动程序; 行动装置, 与该主机耦接, 并包含
固件, 包含许可验证组件以进行许可验证,
其中当该行动装置与该主机藕接时, 该固件中断该程序从 该行动装置传送至该主机, 且该驱动程序中断该程序藉由该操作 系统加载到该随机存取存储器执行, 该许可验证组件被启动以使 该操作系统经由该驱动程序而与该固件配合来进行许可验证, 当 该许可验证通过后, 该固件允许该程序从该行动装置传送到该主 机, 且该驱动程序允许该程序藉由该操作系统加载到该随机存取 存储器执行。
12. 一种在程序交易装置中许可程序的方法, 该程序交易 装置包含主机与行动装置, 该方法包含下列步骤: 耦接该行动装置与该主机;
该行动装置中的固件中断该程序从该行动装置传送至该主 机, 且该主机中的驱动程序中断该程序藉由该主机中的操作系统 加载到该主机中的随机存取存储器执行;
该行动装置中的许可验证組件被启动以使该操作系统经由 该驱动程序而与该固件配合来进行许可验证; 以及
当该许可验证通过后, 该固件允许该程序从该行动装置传 送到该主机, 且该驱动程序允许该程序藉由该操作系统加栽到该 随机存取存储器执行。
PCT/CN2013/080695 2013-08-02 2013-08-02 许可程序的装置、程序交易装置及其许可程序的方法 WO2015013974A1 (zh)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2016530300A JP6931531B2 (ja) 2013-08-02 2013-08-02 プログラムをライセンスする装置
EP13890698.7A EP3029589B1 (en) 2013-08-02 2013-08-02 Device for permitting program, program transaction device and method for permitting program thereof
CN201380077685.3A CN105324774B (zh) 2013-08-02 2013-08-02 许可程序的装置、程序交易装置及其许可程序的方法
ES13890698T ES2964339T3 (es) 2013-08-02 2013-08-02 Dispositivo para permitir el programa, dispositivo de transacción del programa y procedimiento para permitir el programa del mismo
PCT/CN2013/080695 WO2015013974A1 (zh) 2013-08-02 2013-08-02 许可程序的装置、程序交易装置及其许可程序的方法
US14/909,529 US10223509B2 (en) 2013-08-02 2013-08-02 Device of licensing program, program transaction device and method of licensing program
SG11201600817SA SG11201600817SA (en) 2013-08-02 2013-08-02 Device for permitting program, program transaction device and method for permitting program thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2013/080695 WO2015013974A1 (zh) 2013-08-02 2013-08-02 许可程序的装置、程序交易装置及其许可程序的方法

Publications (1)

Publication Number Publication Date
WO2015013974A1 true WO2015013974A1 (zh) 2015-02-05

Family

ID=52430899

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2013/080695 WO2015013974A1 (zh) 2013-08-02 2013-08-02 许可程序的装置、程序交易装置及其许可程序的方法

Country Status (7)

Country Link
US (1) US10223509B2 (zh)
EP (1) EP3029589B1 (zh)
JP (1) JP6931531B2 (zh)
CN (1) CN105324774B (zh)
ES (1) ES2964339T3 (zh)
SG (1) SG11201600817SA (zh)
WO (1) WO2015013974A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180260539A1 (en) * 2017-03-08 2018-09-13 Microsoft Technology Licensing, Llc Device specific identity linked to user account
US10635787B2 (en) * 2017-04-19 2020-04-28 International Business Machines Corporation Analysis of output files
CN108933646B (zh) * 2018-06-14 2021-09-28 艾普阳科技(深圳)有限公司 一种授权许可服务的控制方法、客户端及备用服务器端

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102034059A (zh) * 2010-12-02 2011-04-27 东莞宇龙通信科技有限公司 应用程序管理方法、装置以及终端
CN102567685A (zh) * 2011-12-31 2012-07-11 常熟理工学院 基于非对称公钥密码体系的软件版权保护方法
CN102685727A (zh) * 2011-03-11 2012-09-19 中国移动通信有限公司 一种应用程序发送、运行方法、系统、服务器和终端

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5222134A (en) * 1990-11-07 1993-06-22 Tau Systems Corporation Secure system for activating personal computer software at remote locations
JPH07230380A (ja) * 1994-02-15 1995-08-29 Internatl Business Mach Corp <Ibm> 適用業務プログラムの利用管理方法およびシステム
US5838910A (en) * 1996-03-14 1998-11-17 Domenikos; Steven D. Systems and methods for executing application programs from a memory device linked to a server at an internet site
US6134659A (en) * 1998-01-07 2000-10-17 Sprong; Katherine A. Controlled usage software
AU7593601A (en) * 2000-07-14 2002-01-30 Atabok Inc Controlling and managing digital assets
US7515718B2 (en) * 2000-12-07 2009-04-07 Igt Secured virtual network in a gaming environment
US7742992B2 (en) * 2002-02-05 2010-06-22 Pace Anti-Piracy Delivery of a secure software license for a software product and a toolset for creating the software product
US7543140B2 (en) * 2003-02-26 2009-06-02 Microsoft Corporation Revocation of a certificate and exclusion of other principals in a digital rights management (DRM) system based on a revocation list from a delegated revocation authority
JP4597568B2 (ja) * 2003-07-15 2010-12-15 パナソニック株式会社 セキュアデバイス、情報処理端末、及び情報処理システム
EP1759477A4 (en) * 2004-06-22 2010-01-13 Nds Ltd SYSTEM FOR THE MANAGEMENT OF DIGITAL RIGHTS
US20060047604A1 (en) * 2004-08-31 2006-03-02 Kraft-Oz Oded S Methods and apparatus providing portable application and data
WO2006101549A2 (en) * 2004-12-03 2006-09-28 Whitecell Software, Inc. Secure system for allowing the execution of authorized computer program code
US7702590B2 (en) * 2005-09-19 2010-04-20 At&T Intellectual Property I, Lp Trial access for media files from a media list
US8417640B2 (en) * 2005-10-31 2013-04-09 Research In Motion Limited Secure license key method and system
EP1798653B1 (de) * 2005-12-16 2011-08-03 Aladdin Europe GmbH Verfahren, Computerprogrammprodukt und Vorrichtung zum Schützen eines einen Funktionsblock aufweisenden Programms
US20070143130A1 (en) * 2005-12-20 2007-06-21 Xstream Instructions, Ltd. Network of instruction stations
US7900243B2 (en) * 2006-10-19 2011-03-01 Oracle America, Inc. Method and system for managing execution of an application module
CN101067839A (zh) * 2007-04-27 2007-11-07 哈尔滨工业大学 互联网作业软件系统防盗版方法
JP2010108237A (ja) * 2008-10-30 2010-05-13 Nec Corp 情報処理システム
JP5263070B2 (ja) * 2009-08-13 2013-08-14 株式会社リコー プログラム導入支援装置、プログラム導入支援システム、プログラム導入支援方法、及びプログラム導入支援プログラム
US8752187B2 (en) * 2010-09-27 2014-06-10 Samsung Electronics Co., Ltd. Portable license server
US20120166619A1 (en) * 2010-12-23 2012-06-28 Microsoft Corporation Licensing and metering of virtualized applications
US20120216269A1 (en) * 2011-02-18 2012-08-23 Mitel Networks Corporation Software licensing in a virtualization environment
US8886910B2 (en) * 2011-09-12 2014-11-11 Microsoft Corporation Storage device drivers and cluster participation
US9032050B2 (en) * 2012-10-31 2015-05-12 Vmware, Inc. Systems and methods for accelerating remote data retrieval via peer nodes
US9436814B2 (en) * 2013-01-22 2016-09-06 Empire Technology Development Llc Fail-safe licensing for software applications

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102034059A (zh) * 2010-12-02 2011-04-27 东莞宇龙通信科技有限公司 应用程序管理方法、装置以及终端
CN102685727A (zh) * 2011-03-11 2012-09-19 中国移动通信有限公司 一种应用程序发送、运行方法、系统、服务器和终端
CN102567685A (zh) * 2011-12-31 2012-07-11 常熟理工学院 基于非对称公钥密码体系的软件版权保护方法

Also Published As

Publication number Publication date
EP3029589A1 (en) 2016-06-08
EP3029589B1 (en) 2023-08-30
CN105324774A (zh) 2016-02-10
CN105324774B (zh) 2018-05-04
US20160171190A1 (en) 2016-06-16
EP3029589A4 (en) 2017-03-15
JP6931531B2 (ja) 2021-09-08
ES2964339T3 (es) 2024-04-05
JP2016525753A (ja) 2016-08-25
SG11201600817SA (en) 2016-03-30
US10223509B2 (en) 2019-03-05

Similar Documents

Publication Publication Date Title
US10291619B2 (en) System, method, and device for delivering communications and storing and delivering data
JP6100834B2 (ja) マルチ・テナント・クラウドにおける顧客仮想計算機の保護
US9436968B1 (en) System and method for application license management in virtual environments
JP4974534B2 (ja) デジタルアプリケーションのライセンスを取得するためのコンピューティングデバイスおよび方法
TWI492085B (zh) 用於根據使用者識別符增強產品功能的方法、設備及電腦儲存媒體
US20170178263A1 (en) Multimedia content player with digital rights management while maintaining privacy of users
TWI542183B (zh) 由多租戶服務提供者所為之動態平台重新組配技術
JP7397557B2 (ja) セキュア実行ゲスト所有者環境制御
US20130144755A1 (en) Application licensing authentication
US11093587B2 (en) Software wrapper and installer using timestamp validation and system identification validation
JP2022522645A (ja) セキュア・ゲストのセキュア鍵をハードウェア・セキュリティ・モジュールに結びつけること
WO2007148602A1 (ja) 情報処理端末および状態通知方法
US20140208435A1 (en) Software modification for partial secure memory processing
US9886685B2 (en) Distributed digital rights-managed file transfer and access control
TW200834371A (en) Computerized apparatus and method for version control and management
JP6931531B2 (ja) プログラムをライセンスする装置
TWI659362B (zh) 將使用者裝置對定製作業系統影像啓動之技術
TWI617938B (zh) 授權程式的裝置、程式交易裝置及其授權程式的方法
TW201133268A (en) Content binding at first access
JP2017058711A (ja) ライセンス管理装置、ライセンス管理システム、ライセンス管理プログラムおよびライセンス管理方法
TW202305583A (zh) 軟體利用系統及軟體利用方法
CN116263817A (zh) 一种数据访问控制方法及相关系统
KR20110111988A (ko) 휴대용 단말기에 설치된 애플리케이션 실행 제어 방법 및 시스템

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201380077685.3

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13890698

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2016530300

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 14909529

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2013890698

Country of ref document: EP