Method and system for software activation

TWI938674BActive Publication Date: 2026-09-11GETAC TECH CORP
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
TW113142173
Authority / Receiving Office
TW · TW
Patent Type
Patents
Current Assignee / Owner
Filing Date
2024-11-04
Publication Date
2026-09-11
Estimated Expiration
2044-11-03

AI Technical Summary

Technical Problem

The one-time purchase model for hardware bundled with software lacks insight into customer usage and customization needs, leading to difficulty in building long-term customer relationships and inconvenient serial number collection for software installation.

Method used

A software activation method and system that verifies device information using past purchase orders, eliminating the need for customers to provide hardware serial numbers by generating authorization codes based on device serial numbers from previous orders.

Benefits of technology

Enhances customer loyalty and consumer experience by simplifying the procurement process and enabling customized software installation without requiring serial numbers, allowing for continuous product enhancements and tailored services.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure TWG2TB001910234_001
    Figure TWG2TB001910234_001
  • Figure TWG2TB001910234_002
    Figure TWG2TB001910234_002
  • Figure TWG2TB001910234_003
    Figure TWG2TB001910234_003
Patent Text Reader

Abstract

A software activation method includes the following steps: An activation server obtains an installer created based on the product number of an application from a customer's current order, and provides the installer and the activation program. A user device executes the installer to install or update the application, and executes the activation program after the installer is installed. While the user device executes the activation program and network access is granted, the activation server performs the following steps: Obtains a plurality of device serial numbers contained in the customer's past purchase orders. Based on the device serial numbers, verifies the device information of the user device to generate a verification status. If the verification status is successful, an authorization code is provided to the user device. The application on the user device is enabled to run based on the authorization code.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This case relates to a software activation method and system, and more particularly to a software activation method and system applicable to subscription services. Prior Technology

[0002] Currently, most hardware sales bundled with software are still based on a one-time outright purchase model. However, with the continuous development of artificial intelligence technologies (such as machine learning models, neural network-like models, and other model architectures), while the one-time purchase model can sell the product outright and generate revenue immediately in a single period, it doesn't provide much insight into how customers will use the product in real-world applications or how to enhance future software features. This makes it difficult to focus on the complete customer journey and build long-term, stable customer relationships.

[0003] In other words, there is no one-size-fits-all solution suitable for software. For example, if a single standard version of the AI ​​model cannot meet the needs of customers in different application scenarios, and there are subsequent customization requirements for third-party software, it is still necessary to provide timely fine-tuning and corresponding technical integration to generate corresponding independent software installation files.

[0004] Furthermore, if a customer needs to purchase software after buying hardware, in the past, the customer had to provide the hardware serial number or the original order number for binding, charging, and software installation. However, collecting the complete serial number to start the machine is inconvenient for end customers or users who are out on duty, which reduces the consumer experience.

[0005] Therefore, how to provide a software enabling method to solve the above problems is an important issue in this field. Summary of the Invention

[0006] This disclosure provides a software activation method comprising the following steps: An activation server obtains an installer created based on the product number of an application from a customer's current order, and provides both the installer and the activation program. The user device executes the installer to install or update the application, and executes the activation program after the installer is installed. While the user device executes the activation program and network access is granted, the activation server performs the following steps: Obtains a plurality of device serial numbers contained in past purchase orders from the customer. Based on the device serial numbers, verifies the device information of the user device to generate a verification status. If the verification status is successful, an authorization code is provided to the user device. The application on the user device is enabled to run based on the authorization code.

[0007] This disclosure provides a software activation system comprising an activation server coupled to a network, obtaining an installer created based on the product number of an application from a customer's current order, and providing the installer and activation program through the network. The installer is executed by a user device to install or update the application, and after the installer is installed, the user device executes the activation program. When the user device executes the activation program and grants network access, the activation server performs the following steps: Obtaining a plurality of device serial numbers contained in past purchase orders from the customer; verifying device information of the user device based on these device serial numbers to generate a verification status; if the verification status is successful, providing an authorization code to the user device, and enabling the execution of the application on the user device based on the authorization code.

[0008] In summary, the software activation method and system disclosed herein verify the device information of the user device to be activated based on the device serial number contained in the previous orders of the same customer, thereby eliminating the step of the customer having to provide the serial number of the device to be activated when providing the purchase list, thus improving the consumer experience and customer loyalty. Simple Explanation of the Diagram

[0009] To make the above and other objects, features, advantages and embodiments of this disclosure more apparent and understandable, the accompanying drawings are described below: Figure 1 is a schematic diagram of the sales management architecture of a subscription service according to some embodiments disclosed herein. Figure 2 is a schematic diagram of a software enabling system according to some embodiments of the present disclosure. Figures 3A and 3B are schematic diagrams of software activation methods according to some embodiments of this disclosure. Figures 4A and 4B are schematic diagrams of software activation methods according to some embodiments of this disclosure. Implementation

[0010] The following detailed description provides examples with reference to the accompanying drawings. However, the provided examples are not intended to limit the scope of this disclosure, and the description of the structural operation is not intended to limit the order of execution. Any structure resulting from the recombination of elements and producing a device with equivalent functionality is within the scope of this disclosure. Furthermore, the illustrations are for illustrative purposes only and are not drawn to their original dimensions. For ease of understanding, the same or similar elements will be labeled with the same symbols in the following description.

[0011] Unless otherwise specified, the terms used throughout this specification and the claims generally have their ordinary meaning in the context of the art, the disclosure, and the specific content. Furthermore, the terms "comprising," "including," "having," "containing," etc., used herein are open-ended terms, meaning "including but not limited to." Additionally, the term "and / or" as used herein includes any one or more of the related listed items and all combinations thereof.

[0012] Please refer to Figure 1, which is a schematic diagram of a sales management architecture 100 for a subscription service according to some embodiments of this disclosure. In some embodiments, purchasing personnel and members of the sales team can communicate using computing devices 102 and 104 connected to an access point and network 114, respectively, to order software. For example, purchasing personnel fill out a purchase order (e.g., a web form) via computing device 102 and transmit the purchase order information via network 114 to the computing device 104 used by members of the sales team. In some embodiments, the purchase order includes product item number (e.g., software product identifier), product quantity (e.g., number of devices to install the product), and customer email address information, but does not include the customer's hardware serial number or original hardware order number.

[0013] In some embodiments, members of the sales team can use computing device 104 to search for a customer's past purchase orders based on the email domain of the customer's email address. In some embodiments, past purchase orders may be orders for devices and / or software that the customer has previously ordered, and then the device serial numbers of all devices purchased by the customer can be obtained based on the records of the customer's past purchase orders and / or past sales orders. Each device serial number includes at least one of a device serial number, a central processing unit identifier, and a motherboard identifier.

[0014] In some embodiments, both the current purchase order and past purchase orders each contain a customer's email address. In some embodiments, the email domain name of the email address represents the organization or company that owns the email address, where the email domain name is the portion of the email address following the "@" symbol. In some embodiments, the email domain name represents a local government agency that owns the email address. In some embodiments, the email domain name contains information about a city or region. For example, suppose a mat email domain name is represented as OO.org, where "OO" represents an abbreviation for a city or region. Thus, branches (e.g., departments) within a company or organization can be distinguished by email address, and past purchase orders of the customer can be searched based on the email domain name of the email address in the current purchase order. Therefore, customers do not need to provide the serial number of the hardware or the original order number of the hardware in the current purchase order, thereby improving the customer's purchasing process and increasing customer loyalty and consumer experience.

[0015] In some embodiments, members of the sales team can use computing device 104 to input and generate sales orders and software delivery numbers. The sales order includes device serial numbers, product codes (e.g., software product identifiers), quantities (e.g., the number of devices with the product installed), and the customer's email address for all devices purchased by a customer (e.g., a branch of an organization or a branch of a company). In some embodiments, customer information, order quantities, and shipping dates can be queried based on the software delivery number.

[0016] In some embodiments, the management device 106 may be a server or computing device running enterprise resource planning. In some embodiments, the management device 106 notifies the sales team and conducts automated software transactions with customers based on sales orders and software delivery numbers.

[0017] In some embodiments, the enabling server 108 confirms the current order (e.g., a sales order and / or content queried via a software delivery number) and provides the SLA agreement to the customer via email. After the customer signs the SLA agreement, the enabling server 108 retrieves the installer created based on the product item number. In some embodiments, the application has multiple versions, such as a basic version, a professional version, a customized version, etc. In some embodiments, the product item number represents a particular version of the application. In some embodiments, a software engineer can use the computing device 110 to create an application with a corresponding version based on the product item number of the current order and store the application in a database DB on the enabling server 108.

[0018] In some embodiments, the enabling server 108 sends a link to the application with the corresponding version (which includes the application installer, enabler, and enablement library for representing product item numbers) to the customer's email address via email.

[0019] In some embodiments, user devices 112a-112c can download the application installer, launcher, and launcher library via the aforementioned link. In some embodiments, when user devices 112a-112c execute the installer, the launcher library is written to user devices 112a-112c. In some embodiments, after user devices 112a-112c complete the installation / update of the application through the installer, when user devices 112a-112c execute the launcher and allow network access, they send device information and the return value of the launcher library to the launcher server 108. The launcher server 108 then verifies the device information and return value sent by user devices 112a-112c based on the current order information (e.g., product number) and the device serial number obtained from past orders, and determines whether to provide an authorization code to user devices 112a-112c based on the verification status. In some embodiments, the device information of each of user devices 112a-112c includes at least one of the user device serial number, central processing unit identification, and motherboard identification. In some embodiments, the return value of the enabled library corresponds to the product code of the application. In some embodiments, the installer may be an automatic installer file (MSI file (a package of Windows Installer)). Thus, a non-serial number-bound subscription service can be implemented through the automatic installer file update mechanism.

[0020] In some embodiments, the computing devices disclosed herein (e.g., computing devices 102, 104, and 110 in Figure 1) may be electronic devices with storage, processing, and communication functions, such as tablet computers, computers, mobile devices, etc. In some embodiments, the user devices disclosed herein (e.g., computing devices 112a-112c in Figure 1) may be electronic devices with storage, processing, and communication functions, such as tablet computers, computers, mobile devices, etc.

[0021] Please refer to Figure 2. Figure 2 is a schematic diagram of a software activation system 200 according to some embodiments of the present disclosure. As shown in Figure 2, the software activation system 200 includes a management device 206 and an activation server 208. In some embodiments, the management device 206 and the activation server 208 in Figure 2 correspond to the management device 106 and the activation server 108 in Figure 1, respectively.

[0022] In some embodiments, management device 106 receives purchase orders 202 and sales orders 204, thereby automating transactions with customers. Next, server 208 is activated to perform steps 209-1 to 209-3.

[0023] In step 209-1, the current order is confirmed, and the product item number in the database is checked based on the customer's purchase information (e.g., the product item number / software product identification code entered by the customer in the purchase order).

[0024] In step 209-2, once the automated transaction is completed, the first automated email is sent. In some embodiments, the first automated email contains an SLA agreement, and step 209-3 is performed after the customer signs the SLA agreement.

[0025] In step 209-3, the installer created based on the product item number is obtained. For example, installer A, which has a basic version of the application, is created based on the product item number in customer CA's purchase order. Installer B, which has a professional version of the application, is created based on the product item number in customer CB's purchase order, and installer C, which has a customized version of the application, is created based on the product item number in customer CC's purchase order, and so on. Server 208 retrieves the application version corresponding to the product item number in the current order, and the installer, installer, and link to the enable library, as well as the SLA agreement sign-back link, are sent to the customer's email address via a second email 209-4.

[0026] In some embodiments, the client's purchasing / contact personnel can forward the second email 209-4 to the holder of the user device 212 via computing device 210. In other embodiments, the client's purchasing / contact personnel can open the second email 209-4 via computing device 210 and download the application installer, launcher, and launcher library via the aforementioned link to copy the application files to flash memory, thereby transferring the application files to the user device 212 using flash memory. In some embodiments, the computing device 210 of Figure 2 corresponds to the computing device 102 of Figure 1.

[0027] In some embodiments, user device 212 executes the application installer to update or install the application, and after the application update or installation is completed, user device 212 executes the application launcher. In some embodiments, when user device 212 executes the application launcher and allows network access, user device 212 performs step 214 to upload device information (e.g., device serial number), so that launch server 208 verifies the device information based on the device serial number in the customer's past orders. If the verification is successful, launch server 208 performs step 216 to provide an authorization code to user device 212 via the network. In some embodiments, user device 212 in Figure 2 corresponds to any one of user devices 112a-112c in Figure 1.

[0028] Please refer to Figures 3A and 3B. Figures 3A and 3B are schematic diagrams of a software activation method 300 according to some embodiments of this disclosure. In some embodiments, the software activation method 300 includes steps 320, 322, 324, 326, 328, 330, 332, 340, 342, 343, 344, 346, 348, 350, 351, 352, 354, 356, 358, 360, 361, 362, and 364.

[0029] In step 320, the customer's purchasing personnel use computing device 302 to send a purchase order containing product item number, product quantity and email information.

[0030] In step 322, the sales team uses computing device 304 to input / receive purchase orders.

[0031] In step 324, the sales team uses computing device 304 to search for the device serial number contained in the customer's past purchase orders based on the email domain name in the email address.

[0032] In step 326, a sales order is generated. In some embodiments, the sales order includes information such as the device serial number, product number (e.g., software product identifier), quantity (e.g., number of devices with the product installed) of all devices purchased by a customer (e.g., a branch of an organization or a branch of a company), and the customer's email address.

[0033] In step 328, after receiving a sales order, the management device 306 automatically sends a message to notify the sales team.

[0034] In step 330, a software delivery number is created. In some embodiments, customer information, order quantity, and shipping date can be queried based on the software delivery number.

[0035] In step 332, the management device 306 performs automatic transactions.

[0036] In step 340, the order prior to the confirmation is processed by the server 308 (e.g., purchase order, sales order, and / or content queried based on the software delivery number).

[0037] In step 342, the SLA protocol portal link is provided by the enabled server 308.

[0038] In step 343, the enabling server 308 sends a first automatic email containing an SLA protocol portal link.

[0039] In step 344, after the customer signs the SLA agreement, proceed to step 346, and the SLA agreement is completed.

[0040] In step 348, the installer created based on the product item number of the current order is obtained by the enabling server 308.

[0041] In step 350, the enabling server 308 provides links to the SLA migration back link, the application enabler, the installer, and the enable function library.

[0042] In step 351, the enabling server 308 sends a second automatic email containing a link to the SLA protocol portal and links to the application's enabler, installer, and enable function library.

[0043] In step 352, the customer's purchasing / contact personnel obtain the links to the application installer, enabler, and enable function library via computing device 302.

[0044] In step 354, the user device 312 installs / updates the application using an installer.

[0045] In step 356, the application is executed by the user device 312.

[0046] In step 358, the user device 312 sends the return value of the activation function library and device information to the activation server 308 via the network.

[0047] In step 358, the enabling server 308 verifies the returned value and device information based on the product item number in the current order and the device serial number included in previous purchase orders. If the verification passes in step 360, proceed to step 361.

[0048] In step 361, the authorization code is provided by enabling server 308 via the network.

[0049] In step 362, when the user device 312 executes the (installed / updated) application, the authorization code enables the application to execute.

[0050] In step 364, the software delivery is completed when the number of authorized devices (e.g., user devices) reaches the quantity of goods ( / order quantity).

[0051] Please refer to Figures 4A and 4B. Figures 4A and 4B are schematic diagrams of a software activation method 400 according to some embodiments of this disclosure. In some embodiments, the software activation method 400 includes steps 410, 420, 430, and 440, wherein step 430 includes steps 432 and 434, and step 440 includes steps 441, 442, 443, 445, and 446.

[0052] In step 410, an activation server obtains an installer created based on a product number of an application from a current order of a customer, and provides the installer and an activation program.

[0053] In step 420, a user device executes the installer to install or update the application, and after the installer is completed, the enabler is executed.

[0054] In step 430, when the user device executes the activation procedure and allows network access, the activation server verifies the device information of the user device to generate an authentication status. In step 432, a plurality of device serial numbers contained in a past purchase order from the customer are obtained. In step 434, the device information of the user device is verified based on these device serial numbers to generate an authentication status.

[0055] In step 440, based on the verification status, the execution of the application on the user device is determined to be either valid or invalid. In step 441, it is determined whether the verification status is passed. If not, proceed to step 442 without providing an authorization code; otherwise, proceed to step 445 and provide an authorization code. In step 443, the absence of an authorization code will invalidate the execution of the application on the user device. In step 446, the presence of an authorization code will enable the execution of the application on the user device.

[0056] In summary, the subscription-based service sales management architecture 100 disclosed herein can be adjusted according to the specific usage of an enterprise. It features low initial costs, effective understanding of specific customer procurement needs, and the ability to provide customized software installation files for specific customer application scenarios. The software activation system 200 and software activation methods 300 and 400 disclosed herein can achieve non-serial number-bound subscription services through an automatic installation file update mechanism. Furthermore, the software activation methods 300 and 400 disclosed herein effectively simplify the information required for software product procurement, eliminating the need for customers to provide the hardware serial number or original hardware order number in advance for software installation and activation. Thus, by simplifying the procurement process and improving the software activation mechanism, this disclosure can increase customer loyalty and consumer experience, thereby providing continuously improved product functions and customized services over time and keeping pace with market changes, ultimately allowing customers to continuously enjoy the value of functional enhancements.

[0057] Although the present disclosure has been described above with reference to embodiments, it is not intended to limit the present disclosure. Any person skilled in the art may make various modifications and alterations without departing from the spirit and scope of the present disclosure. Therefore, the scope of protection of the present disclosure shall be determined by the claims attached.

[0058] To make the above and other objects, features, advantages and embodiments of this disclosure more apparent and understandable, the accompanying symbols are explained as follows. 100: Sales Management Structure 102, 104, 110: Computing devices 106: Management Equipment 108: Enable Server 112a~112c: User equipment 114: Internet 200: Software Activation System 202: Purchase Order 204: Sales Orders 206: Management Equipment 208: Enable Server 209-1: Steps 209-2: Steps 209-3: Steps A~C: Installation program CA~CB: Customer 209-4: Second Email 210: Computing device 212: User Equipment 214, 216: Steps 300: Software Activation Method 302, 304: Computing devices 306: Management Equipment 308: Enable server 312: User Equipment 320, 322, 324, 326, 328, 330, 332: Steps 340, 342, 343, 344, 346, 348, 350, 351, 352: Steps 354, 356, 357, 358, 360, 361, 362, 364: Steps 400: Software Activation Method 410, 420, 430, 432, 434, 440: Steps 441, 442, 443, 445, 446: Steps DB: Database

[0059] Domestic storage information (please note in order of storage institution, date, and number) none Overseas storage information (please note in the order of storage country, institution, date, and number) none

Claims

1. A software activation method, comprising: an activation server obtaining an installer created based on a product number of an application from a current order of a customer, and providing the installer and an activation program; and a user device executing the installer to install or update the application, and executing the activation program after the installation of the installer is completed, wherein when the user device executes the activation program and allows network access, the activation server performs the following steps: searching for a past purchase order containing a second email address of a first email address of the customer included in the current order, based on an email domain of the first email address of the customer, to obtain a plurality of device serial numbers contained in the past purchase order of the customer; verifying device information of the user device based on the device serial numbers to generate a verification status; and if the verification status is successful, providing an authorization code to the user device, wherein... This authorization code enables the application to run on the user's device.

2. The software activation method as described in claim 1, wherein each of the device serial numbers includes at least one of a device serial number, a central processing unit identifier, and a motherboard identifier, and wherein the device information of the user device includes at least one of a user device serial number, a central processing unit identifier, and a motherboard identifier.

3. The software activation method as described in claim 1, wherein the email domain name represents an organization or company that owns the first email address and the second email address.

4. The software activation method as described in request item 3, wherein the email domain name contains information about a city or a region.

5. The software activation method as described in claim 1, wherein the installer includes an activation function library created based on information of the current order, and wherein the software activation method further includes: writing the activation function library to the user device when the user device executes the installer; sending device information and a return value of the activation function library to the activation server when the user device executes the activation program and allows network access; and the activation server verifying the return value and the device information of the user device based on the information of the current order and the device serial numbers to generate the verification status.

6. The software activation method as described in claim 5, wherein the return value of the activation function library corresponds to the product number of the application.

7. The software activation method as described in claim 5, wherein when the user device executes the activation program and allows network access, the activation server further performs the following steps: verifying the returned value and the device information based on the product number and the device serial number to generate the verification status.

8. The software activation method as described in Request 1 further includes: if the verification status is failed, not providing the authorization code, thereby disabling the execution of the application on the user device.

9. The software activation method as described in claim 1 further includes: obtaining the quantity of a product in the current order from the activation server; and determining that the current order is completed when the number of authorized devices in the current order reaches the quantity of the product.

10. A software activation system comprising: an activation server coupled to a network, acquiring an installer created based on a product number of an application from a current order of a customer, and providing the installer and the activation program through the network, wherein the installer is executed by a user device to install or update the application, and after the installation of the installer is completed, the user device executes the activation program, and wherein when the user device executes the activation program and allows network access, the activation server performs the following steps: searching a past purchase order containing a second email address of a first email address of the customer included in the current order, based on an email domain of the first email address of the customer, to obtain a plurality of device serial numbers contained in the past purchase order of the customer; verifying device information of the user device based on the device serial numbers to generate a verification status; and if the verification status is successful, providing an authorization code to the user device, wherein... This authorization code enables the application to run on the user's device.

11. The software enabling system as claimed in claim 10, wherein each of the device serial numbers includes at least one of a device serial number, a central processing unit identifier, and a motherboard identifier, and wherein the device information of the user device includes at least one of a user device serial number, a central processing unit identifier, and a motherboard identifier.

12. The software-enabled system as described in claim 10, wherein the email domain name represents an organization or company that owns the first email address and the second email address.

13. The software-enabled system as described in request item 12, wherein the email domain name contains information about a city or a region.

14. The software activation system as described in claim 10, wherein the installer includes an activation function library created based on information from the current order, and wherein the activation server is further configured to perform the following steps: when the user device executes the installer, writing the activation function library to the user device; when the user device executes the activation program and allows network access, the user device sends device information and a return value of the activation function library to the activation server; and verifying the return value and the device information of the user device based on the information from the current order and the device serial numbers to generate the verification status.

15. The software activation system as described in claim 14, wherein the return value of the activation function library corresponds to the product number of the application.

16. The software activation system as described in claim 14, wherein when the user device executes the activation procedure and allows network access, the activation server further performs the following steps: verifying the returned value and the device information based on the product number and the device serial number to generate the verification status.

17. The software activation system as described in claim 10 further includes: if the verification status fails, the activation server does not provide the authorization code, thereby disabling the execution of the application on the user device.

18. The software activation system as described in claim 10, wherein the activation server is further configured to perform the following steps: obtaining a quantity of a product in the current order; determining that the current order is completed if the number of authorized devices in the current order reaches the quantity of the product.

Citation Information

Patent Citations

  • Software protection method and apparatus thereof

    CN1266618C

  • Code protection using online authentication and encrypted code execution

    TW201443680A

  • Information assurance system for secure program execution

    TW201740269A

  • Trusted local orchestration of workspaces

    TW202225967A

  • Device of licensing program, device of purchasing program and method of licensing program thereof

    TWI617938B