CN113742660B - Application program license management system and method - Google Patents

Application program license management system and method Download PDF

Info

Publication number
CN113742660B
CN113742660B CN202110919260.9A CN202110919260A CN113742660B CN 113742660 B CN113742660 B CN 113742660B CN 202110919260 A CN202110919260 A CN 202110919260A CN 113742660 B CN113742660 B CN 113742660B
Authority
CN
China
Prior art keywords
license
data
application program
application
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110919260.9A
Other languages
Chinese (zh)
Other versions
CN113742660A (en
Inventor
李鑫
胡伟琪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Innovation Co
Original Assignee
Alibaba Singapore Holdings Pte Ltd
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 Alibaba Singapore Holdings Pte Ltd filed Critical Alibaba Singapore Holdings Pte Ltd
Priority to CN202110919260.9A priority Critical patent/CN113742660B/en
Publication of CN113742660A publication Critical patent/CN113742660A/en
Application granted granted Critical
Publication of CN113742660B publication Critical patent/CN113742660B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/12Protecting executable software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • G06F21/445Program or device authentication by mutual authentication, e.g. between devices or programs

Landscapes

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

Abstract

The application discloses an application program license management system, comprising: the license side car container, the application program interface server and the license server are arranged on a license manager of the cloud; the license side car container is used for obtaining a first license verification request message sent by the application program and sending a second license verification request message to the application program interface server; the application program interface server is used for creating a user-defined resource instance aiming at the license token according to the second license verification request message, and storing the license data to be verified carried by the second license verification request message into the user-defined resource instance; the license server is used for obtaining license data to be verified, obtaining license validity data, verifying the license data to be verified according to the license validity data, and obtaining a first verification result; and the license manager is used for obtaining the license validity data according to the validity data acquisition request message and returning the license validity data to the license server.

Description

Application program license management system and method
Technical Field
The application relates to the technical field of computers, in particular to an application program license management system and two application program license management methods.
Background
With the development of wireless communication technologies such as 4G/5G, a distributed application architecture is gradually used by users, and mainly, computing resources are deployed on edge computing nodes close to the users. The distributed application architecture has the advantages of reducing response delay, reducing network overhead between the user equipment and the cloud, enhancing privacy data protection and the like. Common application types are CDN (Content Delivery Network ), artificial intelligence, transcoding and uploading of video streams, etc.
In the Edge environment, in order to improve the efficiency application of the application program/software engineering, the application program/software engineering is generally deployed in a cluster in a container mode, for example, the application program/software engineering is deployed in an ack@edge (Edge container service) cluster in a container mode, at this time, a machine in the cluster is actually provided by a user and joins the ack@edge cluster, and the user has complete access control authority for an API Server (Application Programming Interface Server, application program interface Server) of the Edge cluster and a Server in the cluster. This presents License management problems for the application software, for example, the user may get a link to the application image, running the application outside the cluster; the user has authority to access the API Server to perform capacity expansion operation on the application in the cluster, so that the application is operated in a license violation mode.
The current general License scheme in the industry is to collect the hardware fingerprint information such as the Series Number and the MAC address (Media Access Control Address) of the server and calculate a License by combining the information such as the user mail address, and when the application software runs, the hardware information of the application software is read and compared with the data reserved in the License information, if the application software does not accord with the data, the starting fails, and the binding running of the application and the hardware equipment is ensured by the mode.
However, the existing License scheme has several drawbacks:
(1) Under the traditional scheme, license and hardware equipment are bound, so that an application container cannot be subjected to cross-host scheduling in a cluster, and the Kubernetes cluster cannot be subjected to high-availability scheduling under the condition that a host is on-line; or in this case License authorization of the servers of the entire cluster.
(2) In the edge computing scene, based on the security problem, HTTP access of the public network cannot be directly opened, that is, other public network service ports are basically inaccessible except access of an API Server of the cloud, so that License information synchronization by accessing a License Server deployed in the cloud is not possible.
(3) The License manager cannot collect the License use condition during the running under the traditional scheme, that is, if the user performs the configuration lifting operation on the server running the application, for example, upgrades the server of 4C8G to 8C16G, the License manager does not grasp the information.
Disclosure of Invention
The embodiment of the application provides an application program license management system, which aims to solve the problems in the prior art. The embodiment of the application also provides two application program license management methods.
The embodiment of the application provides an application program license management system, which comprises the following components: the license side car container, the application program interface server and the license server which are deployed in the edge container cluster and correspond to the application program, and the license manager which is deployed in the cloud;
the license side car container is used for obtaining a first license verification request message sent by an application program and sending a second license verification request message to the application program interface server;
the application program interface server is used for creating a user-defined resource instance aiming at the license token according to the second license verification request message, and storing license data to be verified, which is carried by the second license verification request message, into the user-defined resource instance;
the license server is used for accessing the user-defined resource instance, obtaining the license data to be verified, sending a valid data obtaining request message for obtaining license valid data corresponding to the application program to the license manager, obtaining the license valid data corresponding to the application program returned by the license manager, verifying the license data to be verified according to the license valid data, obtaining a first verification result, and storing the first verification result into the user-defined resource instance;
The license manager is configured to obtain the license validity data according to the validity data obtaining request message, and return the license validity data to the license server;
the application program interface server is further used for obtaining the first verification result from the user-defined resource instance and returning the first verification result to the license side vehicle container;
the permitted side car container is further used for returning the first verification result to the application program.
Optionally, the license side vehicle container is specifically configured to obtain a first license verification request message sent by the application program when the application program is started;
the first verification result is used for determining whether to continue starting by the application program.
Optionally, the license server is specifically configured to access the user-defined resource instance to obtain the license data to be verified after monitoring that the user-defined resource instance is created.
Optionally, the license server is further configured to generate token data for license verification for the running of the application program, and provide the token data to the application program interface server;
the application program interface server is further used for sending the token data to the license sidecar container;
The permit sidecar container is also used for sending the token data to the application program.
Optionally, the first license verification request message carries the token data, the license data to be verified includes the token data, and the license validity data includes validity period information of the token data;
the license server is specifically configured to determine whether the token data included in the license data to be verified is valid according to validity period information included in the license validity data, obtain a first determination result, and generate the first verification result according to the first determination result.
Optionally, the permission data to be verified includes cluster information of the electronic device where the application program is located when started;
the license server is specifically configured to determine whether the cluster information is the same as the cluster information of the edge container cluster, obtain a second determination result, and generate the first verification result according to the second determination result.
Optionally, the license data to be verified includes user information for using the application program, and the license validity data includes user information for being licensed to use the application program;
The license server is specifically configured to determine whether the user information of the application program is the same as at least one user information in the user information of the application program that is licensed to use, obtain a third determination result, and generate the first verification result according to the third determination result.
Optionally, the license server is specifically configured to, if it is determined that the user information of the application program is the same as at least one user information in the user information of the application program that is licensed to use, determine whether the number of devices currently running the application program through the licensed user information exceeds a licensed device number threshold, obtain a fourth determination result, and generate the first verification result according to the fourth determination result, where the license validity data includes the licensed device number threshold.
Optionally, the license edge container is further configured to cache the token data.
Optionally, when the license server cannot perform information interaction with the license manager, the license server is further configured to send first indication information for indicating that the license side vehicle container verifies the license data to be verified to the application program interface server, or send first state information for indicating that the license server cannot verify the license data to be verified to the application program interface server, or send second state information for indicating that the license server cannot perform information interaction with the license manager to the application program interface server;
The application program interface server is further configured to send the first indication information, the first status information, or the second status information to the permitted sidecar container;
and the license side vehicle container is further used for verifying the license data to be verified according to the first indication information, the first state information or the second state information and the cached token data to obtain a second verification result, and returning the second verification result to the application program.
Optionally, the permission data to be verified includes the token data;
the license side vehicle container is specifically configured to determine whether the token data included in the license data to be verified is the same as the cached token data, obtain a sixth determination result, and obtain the second verification result according to the sixth determination result.
Optionally, the license server is further configured to obtain all user information of the application program being executed and/or operating environment data of all devices of the application program being executed, which are provided by the application program interface server, and send the all user information of the application program being executed and/or operating environment data of all devices of the application program being executed to the license manager;
The license manager is specifically configured to generate the license validity data according to the information of all users running the application program and/or the running environment data of all devices running the application program after the validity data acquisition request message is obtained.
The embodiment of the application provides an application program license management method, which comprises the following steps:
obtaining a second license verification request message sent by a license side vehicle container;
creating a user-defined resource instance for a license token according to the second license verification request message, and storing license data to be verified carried by the second license verification request message into the user-defined resource instance;
and obtaining a first verification result from the user-defined resource instance, and returning the first verification result to the allowable sidecar container.
The embodiment of the application provides an application program license management method, which comprises the following steps:
accessing a user-defined resource instance to obtain permission data to be verified;
sending a license manager a license availability data acquisition request message for acquiring license availability data corresponding to an application program to acquire the license availability data corresponding to the application program returned by the license manager;
And verifying the permission data to be verified according to the permission validity data to obtain a first verification result, and storing the first verification result into the user-defined resource instance.
Compared with the prior art, the application has the following advantages:
the embodiment of the application provides an application program license management system, which comprises the following components: the system comprises a license side car container corresponding to an application program, an application program interface server and a license server which are deployed in an edge container cluster, and a license manager deployed in a cloud; the license side car container is used for obtaining a first license verification request message sent by an application program and sending a second license verification request message to the application program interface server; the application program interface server is used for creating a user-defined resource instance aiming at the license token according to the second license verification request message, and storing license data to be verified, which is carried by the second license verification request message, into the user-defined resource instance; the license server is used for accessing the user-defined resource instance, obtaining the license data to be verified, sending a valid data obtaining request message for obtaining license valid data corresponding to the application program to the license manager, obtaining the license valid data corresponding to the application program returned by the license manager, verifying the license data to be verified according to the license valid data, obtaining a first verification result, and storing the first verification result into the user-defined resource instance; the license manager is configured to obtain the license validity data according to the validity data obtaining request message, and return the license validity data to the license server; the application program interface server is further used for obtaining the first verification result from the user-defined resource instance and returning the first verification result to the license side vehicle container; the permitted side car container is further used for returning the first verification result to the application program. According to the method and the device for verifying the license by the cloud computing, the user-defined resource instance carrying the license data to be verified is created through the license side vehicle container and the application program interface server, the license data to be verified is verified through the license validity data stored in the cloud, and license verification of the application program under the limited access scene of the edge computing public network is achieved.
Drawings
Fig. 1 is a schematic diagram of an application scenario provided in a first embodiment of the present application.
Fig. 2 is a flowchart of an application license management system according to the first embodiment of the present application.
Fig. 3 is a flowchart of an application license management method according to a second embodiment of the present application.
Fig. 4 is a flowchart of an application license management method according to a third embodiment of the present application.
Fig. 5 is a schematic diagram of a software application license management apparatus according to a fourth embodiment of the present application.
Fig. 6 is a schematic diagram of a software application license management apparatus according to a fifth embodiment of the present application.
Fig. 7 is a schematic diagram of an electronic device according to a sixth embodiment of the present application.
Detailed Description
In the following description, numerous specific details are set forth in order to provide a thorough understanding of embodiments of the present application. The embodiments of the present application may be embodied in many other forms other than those described herein and similarly generalized by those skilled in the art may be made without departing from the spirit of the embodiments of the present application and the embodiments of the present application are therefore not limited to the specific implementations disclosed below.
In order to enable those skilled in the art to better understand the solution of the present application, the following describes in detail a specific application scenario of an embodiment thereof based on the application license management system provided in the present application, as shown in fig. 1, which is a schematic diagram of the application scenario provided in the first embodiment of the present application.
The present scenario corresponds to the software application license management system provided in the first embodiment of the present application, in the present scenario, a user uses application software through a software application license, and the software application license is still within the validity period. The user sends a verification request to the License server by starting an application program, specifically, in the process of starting the application program, the application program adds License verification logic in a starting code and requests a port of a local host, sends the verification request and sends the verification request to a License Sidecar container (License Sidecar), the License Sidecar container accesses an application program interface server after receiving the verification request, the application program interface server creates a user-defined resource instance (Custom Resource Definition) aiming at a License token according to the verification request, then obtains a creation completion instruction corresponding to the user-defined resource instance, and stores License data to be verified into the user-defined resource instance according to the creation completion instruction. The side car container refers to a side car of client logic for realizing specific verification code verification, the side car is a mode of application deployment, and a part of logic is transferred from the application to the side car to be realized.
After the application program interface Server stores the License data to be verified into the user-defined resource instance, a creation completion instruction of the License data to be verified is correspondingly generated, the creation completion instruction is sent to a License Server (License Server), and the License Server obtains the License data to be verified according to the creation completion instruction after detecting that the user-defined resource instance is created. And, the License server transmits a License data acquisition request message for acquiring License validity data corresponding to the application program to a License Manager (License Manager) to acquire the License validity data stored by the License Manager deployed in the cloud. And then, verifying the license data to be verified through the license validity data to obtain a first verification result, and storing the first verification result into the user-defined resource instance. And then, the license side vehicle container monitors the first verification result and sends the first verification result back to the application program, and the application program determines whether to continue starting or stopping operation according to the verification result.
It should be added that, based on the license side car container, all user-defined resource instances in the application program interface service module can be cached, so that when the network is weak or end-network (as indicated by a dotted arrow in fig. 1, the edge is not communicated with the cloud), the verification of the license data to be verified can be completed by caching all user-defined resource instances in the application program interface service module.
In correspondence to the above scenario, the first embodiment of the present application provides an application license management system, as shown in fig. 2, and fig. 2 is a schematic diagram of an application license management system provided in the first embodiment of the present application.
In a first embodiment of the present application, the system comprises: license side container 201, application program interface server 202 and license server 203 corresponding to application programs deployed in the edge container cluster, and license manager 204 deployed in the cloud.
In the first embodiment of the present application, the cluster may be an edge container cluster (acknowledg container@edge cluster). The permit sidecar container 201 is an auxiliary container in the container group, the sidecar container is a sidecar of client logic for realizing specific verification code verification, the sidecar is a mode of application deployment, and a part of logic is migrated from the application to the sidecar to be realized. In the first embodiment of the present application, the license side container 201 is deployed in the same container group as the component application instance, and is responsible for communicating with the license server and fulfilling the responsibilities of application license verification and the like. The application program interface server provides the addition, deletion and verification of various resource objects, and is a data bus and a data center of the whole system. Authentication authorization, data verification and cluster state change of cluster management are provided; a hub that provides data interaction and communication between other modules (other modules query or modify data through the application interface server, only the application interface server directly operates etcd). In a first embodiment of the present application, an application program interface server is configured to create a user-defined resource instance for a license token, and store license data to be verified into the user-defined resource instance. The license server is deployed in a hosting component in the ACK/ACK@edge cluster and is responsible for application program license validity verification, token generation and the like, and CPU usage of the container group instance is counted regularly and reported to the license manager.
The corresponding functional roles of license edge container 201, application program interface server 202, license server 203, and license manager 204 deployed at the cloud will be described in detail below.
In the first embodiment of the present application, the License Sidecar container 201 (License Sidecar) is configured to obtain a first License verification request message sent by an application program, and send a second License verification request message to the application program interface server 202. Wherein the first license verification request message and the second license verification request message are the same license verification request message.
Specifically, in the first embodiment of the present application, the license edge container 201 is specifically configured to obtain the first license verification request message sent by the application program at the time of startup. During the starting process of the application program, the application program adds license verification logic in the starting code, requests a port of the local host, sends a first verification request and sends the first verification request to the license sidecar container 201, and the license sidecar container 201 sends a second license verification request message to the application program interface Server 202 (API Server, application Programming Interface Server) after receiving the first verification request.
In the first embodiment of the present application, the application program interface server 202 is configured to create a user-defined resource instance for a license token according to a second license verification request message, and store license data to be verified carried by the second license verification request message into the user-defined resource instance.
In the first embodiment of the present application, the license server 203 is configured to access the user-defined resource instance and obtain the license data to be verified. Specifically, after the user-defined resource instance is created, the License Server 203 (License Server) may monitor that the user-defined resource instance is created, and then access the user-defined resource instance to obtain the License data to be verified.
After obtaining the License data to be verified, the License server 203 is further configured to send a License Manager 204 (License Manager) a request message for obtaining License validity data corresponding to the application program, obtain License validity data corresponding to the application program returned by the License Manager 204, verify the License data to be verified according to the License validity data, obtain a first verification result, and store the first verification result in the user-defined resource instance. The first verification result is used for determining whether the application program continues to start.
Further, the license server 203 is further configured to generate token data for license verification for the running of the application program, and provide the token data to the application program interface server 202. Correspondingly, the application program interface server 202 is further configured to send token data to the permitted side car container 201, and the permitted side car container 201 is further configured to send the token data to the application program, so that the application program operates according to the token data. Of course, in the first embodiment of the present application, the license edge container 201 is also used to cache the token data.
In the first embodiment of the present application, the first license verification request message carries the token data, and based on the first license verification request message and the second license verification request message being the same license verification request message, the second license verification request message also carries the token data, and based on the second license verification request message carries the license data to be verified, so the license data to be verified includes the token data, and the license validity data includes validity period information of the token data. Correspondingly, the license server 203 is specifically configured to determine whether token data included in license data to be verified is valid according to validity period information included in the license validity data, obtain a first determination result, and generate the first verification result according to the first determination result.
For example, where the validity period information is a period of use for producing a license calibration for the software application, e.g., the period of time for which the validity period information is specified is from 6 months 2020 to 9 months 2020, then the token data included in the license data to be verified cannot be used any further after less than 6 months 2020 or more than 9 months 2020. For example, if the validity period information included in the license data is from 6 months in 2020 to 9 months in 2020, the token data included in the license data to be verified is from 7 months in 2020 to 8 months in 2020, after verification, a first determination result is obtained, and the first verification result is generated according to the first determination result.
In the first embodiment of the present application, the permission data to be verified includes cluster information of the electronic device to which the application program is started, and the corresponding permission server 203 is specifically configured to determine whether the cluster information is the same as the cluster information of the edge container cluster, if so, obtain a second determination result, and generate the first verification result according to the second determination result.
In the first embodiment of the present application, the license data to be verified includes user information of an application program, the license validity data includes user information of the application program to be licensed, and the corresponding license server 203 is specifically configured to determine whether the user information of the application program is the same as at least one user information in the user information of the application program to be licensed, and if so, obtain a third determination result, and generate the first verification result according to the third determination result. Specifically, the license server 203 is specifically configured to, if it is determined that the user information of the application program is the same as at least one user information in the user information of the application program that is licensed to use, determine whether the number of devices currently running the application program through the licensed user information exceeds a licensed device number threshold, obtain a fourth determination result if not, and generate the first verification result according to the fourth determination result, where the license validity data includes the licensed device number threshold.
For example, the threshold number of licensed devices is 5, if the number of devices currently running the application program through the licensed user information is 3, after the judgment, the number of devices currently running the application program through the licensed user information does not exceed the threshold number of licensed devices, a fourth judgment result is obtained, and the first verification result is generated according to the fourth judgment result. Conversely, if the threshold number of licensed devices is 5, the number of devices currently running the application through the licensed user information is 6 (verified when the sixth software application license is used to launch after the first five software application licenses are simultaneously launched), after which the launch is verified to be over-rated.
In a first embodiment of the present application, the license data to be verified includes running environment data of a device requesting running of the application; the running environment data at least comprises CPU running data and storage data of a memory. Correspondingly, the license server 203 is specifically configured to, if it is determined that the user information of the application program is the same as at least one user information in the user information of the application program that is licensed to be used, determine whether the operating environment data of the device that requests to operate the application program meets the operating environment condition of the device that operates the application program corresponding to the licensed user information, obtain a fifth determination result, and generate the first verification result according to the fifth determination result, where the license validity data includes the operating environment condition of the device that operates the application program corresponding to the licensed user information. Specifically, when a user purchases a right to use a software application, it is determined whether CPU operation data of a device requesting to operate the application program satisfies an operation speed condition of the device for the application program, or whether storage data of a memory of the device requesting to operate the application program satisfies a storage capacity condition of the device for the application program, or the like.
After the license server 203 obtains the first verification result, the application program interface server 202 is further configured to obtain the first verification result from the user-defined resource instance, return the first verification result to the license side car container 201, and correspondingly, the license side car container 201 is further configured to return the first verification result to the application program.
In the first embodiment of the present application, the permission data to be verified includes cluster information to which the electronic device where the application program is located when started belongs, and the corresponding permission server 203 is specifically configured to determine whether the cluster information is the same as the cluster information of the edge container cluster, obtain a second determination result, and generate the first verification result according to the second determination result. By collecting the cluster information, software application permission and hardware equipment are unbinding, and the application can be freely migrated on a server in the cluster, namely, the cross-host scheduling of the application in the cluster is realized, and the cluster performs high-availability scheduling on the application under the condition that the host is started.
In the first embodiment of the present application, the license server 203 is further configured to send, when the license server 203 cannot perform information interaction with the license manager 204 (for example, in the case of weak network or off-network), first indication information for indicating that the license side car container 201 verifies the license data to be verified to the application program interface server 202, or send, to the application program interface server 202, first status information for indicating that the license server 203 cannot verify the license data to be verified, or send, to the application program interface server 202, second status information for indicating that the license server 203 cannot perform information interaction with the license manager 204; correspondingly, the application program interface server 202 is further configured to send the first indication information, the first status information, or the second status information to the permitted side car container 201; the license side vehicle container 201 is further configured to verify the license data to be verified according to the first indication information, the first state information or the second state information, obtain a second verification result, and return the second verification result to the application program. Further, the license data to be verified includes the token data, and the corresponding license edge container 201 is specifically configured to determine whether the token data included in the license data to be verified is the same as the cached token data, obtain a sixth determination result, and obtain the second verification result according to the sixth determination result.
In the first embodiment of the present application, the license manager 204 is configured to obtain the license validity data according to the validity data obtaining request message, and return the license validity data to the license server 203. Wherein, in correspondence with the foregoing, in the first embodiment of the present application, the license server 203 is further configured to obtain all user information of the running application program and/or operating environment data of all devices of the running application program, which are provided by the application program interface server 202, and send the all user information of the running application program and/or the operating environment data of all devices of the running application program to the license manager 204. Correspondingly, the license manager 204 is specifically configured to generate the license validity data according to the information of all the users running the application program and/or the running environment data of all the devices running the application program after the validity data acquisition request message is obtained.
In a first embodiment of the present application, further includes: the license database is deployed at the cloud and is used for storing all or part of data in the license validity data; the license manager 204 is further configured to obtain all or part of the license validity data from the license database according to the validity data acquisition request message. It should be added that, after the license server 203 reads the license data to be verified of the related application program, the license server 203 will upload the license data to be verified to the cloud end at regular time and store the license data in a database of the cloud end, so that the related information of the software application license is stored in the cloud end, and statistics and collection of specification information of all application instances using a certain software application license in the cluster are completed. Moreover, this stored information may be used as license validity data for next verification of the software application license.
A first embodiment of the present application provides an application license management system, including: a license side container 201 corresponding to an application, an application interface server 202 and a license server 203 deployed in an edge container cluster, and a license manager 204 deployed in the cloud; the license sidecar container 201 is configured to obtain a first license verification request message sent by an application program, and send a second license verification request message to the application program interface server 202; the application program interface server 202 is configured to create a user-defined resource instance for the license token according to the second license verification request message, and store license data to be verified, which is carried by the second license verification request message, into the user-defined resource instance; the license server 203 is configured to access the user-defined resource instance, obtain the license data to be verified, send a valid data obtaining request message to the license manager 204, obtain license valid data corresponding to the application program returned by the license manager 204, verify the license data to be verified according to the license valid data, obtain a first verification result, and store the first verification result in the user-defined resource instance; the license manager 204 is configured to obtain the license validity data according to the validity data obtaining request message, and return the license validity data to the license server 203; the application program interface server 202 is further configured to obtain the first verification result from the user-defined resource instance, and return the first verification result to the permitted sidecar container 201; the permitted sidecar container 201 is further configured to return the first verification result to the application program. In the first embodiment of the present application, a user-defined resource instance carrying license data to be verified is created by the license side vehicle container 201 and the application program interface server 202, and the license data to be verified is verified by the license validity data stored in the cloud, so that license verification of an application program in a limited access scene of an edge computing public network is realized.
In correspondence to the above system, a second embodiment of the present application provides an application license management method, where an execution subject of the method is an application program interface server. As shown in fig. 3, fig. 3 is a flowchart of an application license management method according to a second embodiment of the present application. The method comprises the following steps:
step S301, obtaining a second license verification request message sent by the license edge container.
In this step, the permitted side container is an auxiliary container in the container set, the side container refers to a side vehicle of client logic for realizing verification of a specific verification code, the side vehicle is a mode of application deployment, and a part of logic is migrated from the application to the side vehicle to be realized. The License Sidecar container (License Sidecar) is used for obtaining a first License verification request message sent by the application program and sending a second License verification request message to the application program interface server. Wherein the first license verification request message and the second license verification request message are the same license verification request message.
Step S302, a user-defined resource instance aiming at the license token is created according to the second license verification request message, and the license data to be verified carried by the second license verification request message is stored in the user-defined resource instance.
In the step, the second license verification request message carries license data to be verified, after the second license verification request message is obtained, a user-defined resource instance aiming at the license token can be created according to the second license verification request message, and the license data to be verified carried by the second license verification request message is stored in the user-defined resource instance.
Step S303, a first verification result is obtained from the user-defined resource instance, and the first verification result is returned to the allowable sidecar container.
In this step, the first verification result is obtained by verifying the license data to be verified in the user-defined resource instance through the license validity data, specifically, whether the token data included in the license data to be verified is valid or not is judged according to the validity period information included in the license validity data, a first judgment result is obtained, and the first verification result is generated according to the first judgment result. For example, where the validity period information is a period of use for producing a license calibration for the software application, e.g., the period of time for which the validity period information is specified is from 6 months 2020 to 9 months 2020, then the token data included in the license data to be verified cannot be used any further after less than 6 months 2020 or more than 9 months 2020. For example, if the validity period information included in the license data is from 6 months in 2020 to 9 months in 2020, the token data included in the license data to be verified is from 7 months in 2020 to 8 months in 2020, after verification, a first determination result is obtained, and the first verification result is generated according to the first determination result. And returning the first verification result to the allowable side vehicle container after the first verification result is obtained.
Corresponding to the above system, a third embodiment of the present application provides an application license management method, which is applied to a license server. Fig. 4 is a flowchart of an application license management method according to a third embodiment of the present application. The method comprises the following steps:
step S401, accessing a user-defined resource instance to obtain license data to be verified.
In the step, the user-defined resource instance is created based on the application program interface server according to the verification request, a creation completion instruction corresponding to the user-defined resource instance is obtained, and the permission data to be verified is stored in the user-defined resource instance according to the creation completion instruction. And after the license server monitors the user-defined resource instance, accessing the user-defined resource instance to obtain license data to be verified.
Step S402, sending a validity data acquisition request message for acquiring the license validity data corresponding to the application program to a license manager so as to acquire the license validity data corresponding to the application program returned by the license manager.
After obtaining the license data to be verified, a validity data obtaining request message for obtaining license validity data corresponding to the application program may be issued to the license manager. The license manager is a manager deployed in the cloud and is used for providing validity data of license validity data corresponding to the application program. The validity data may verify the license data to be verified. See step S403 for details.
Step S403, verifying the license data to be verified according to the license validity data, obtaining a first verification result, and storing the first verification result into the user-defined resource instance.
Specifically, whether token data included in license data to be verified is valid or not is judged according to validity period information included in the license data, a first judgment result is obtained, and the first verification result is generated according to the first judgment result. For example, where the validity period information is a period of use for producing a license calibration for the software application, e.g., the period of time for which the validity period information is specified is from 6 months 2020 to 9 months 2020, then the token data included in the license data to be verified cannot be used any further after less than 6 months 2020 or more than 9 months 2020. For example, if the validity period information included in the license data is from 6 months in 2020 to 9 months in 2020, the token data included in the license data to be verified is from 7 months in 2020 to 8 months in 2020, after verification, a first determination result is obtained, and the first verification result is generated according to the first determination result. And returning the first verification result to the allowable side vehicle container after the first verification result is obtained.
In the first embodiment of the present application, the license data to be verified includes user information of an application program, the license validity data includes user information of the application program to be licensed, and the corresponding license server is specifically configured to determine whether the user information of the application program is the same as at least one user information in the user information of the application program to be licensed, and if so, obtain a third determination result, and generate the first verification result according to the third determination result. Specifically, the license server is specifically configured to, if it is determined that the user information of the application program is the same as at least one user information in the user information of the application program that is licensed to use, determine whether the number of devices currently running the application program through the licensed user information exceeds a licensed device number threshold, obtain a fourth determination result if not, and generate the first verification result according to the fourth determination result, where the license validity data includes the licensed device number threshold.
For example, the threshold number of licensed devices is 5, if the number of devices currently running the application program through the licensed user information is 3, after the judgment, the number of devices currently running the application program through the licensed user information does not exceed the threshold number of licensed devices, a fourth judgment result is obtained, and the first verification result is generated according to the fourth judgment result. Conversely, if the threshold number of licensed devices is 5, the number of devices currently running the application through the licensed user information is 6 (verified when the sixth software application license is used to launch after the first five software application licenses are simultaneously launched), after which the launch is verified to be over-rated.
In a third embodiment of the present application, the license data to be verified includes running environment data of a device requesting running of the application; the running environment data at least comprises CPU running data and storage data of a memory. Correspondingly, the license server is specifically configured to, if it is determined that the user information of the application program is the same as at least one user information in the user information of the application program that is licensed to be used, determine whether the operating environment data of the device that requests to operate the application program meets the operating environment condition of the device that operates the application program corresponding to the licensed user information, obtain a fifth determination result, and generate the first verification result according to the fifth determination result, where the license validity data includes the operating environment condition of the device that operates the application program corresponding to the licensed user information. Specifically, when a user purchases a right to use a software application, it is determined whether CPU operation data of a device requesting to operate the application program satisfies an operation speed condition of the device for the application program, or whether storage data of a memory of the device requesting to operate the application program satisfies a storage capacity condition of the device for the application program, or the like.
After the license server obtains the first verification result, the application program interface server is further configured to obtain the first verification result from the user-defined resource instance, return the first verification result to the license side vehicle container, and correspondingly, the license side vehicle container is further configured to return the first verification result to the application program.
In a third embodiment of the present application, the permission data to be verified includes cluster information to which the electronic device where the application program is located when started belongs, and the corresponding permission server is specifically configured to determine whether the cluster information is the same as the cluster information of the edge container cluster, obtain a second determination result, and generate the first verification result according to the second determination result. By collecting the cluster information, software application permission and hardware equipment are unbinding, and the application can be freely migrated on a server in the cluster, namely, the cross-host scheduling of the application in the cluster is realized, and the cluster performs high-availability scheduling on the application under the condition that the host is started.
The fourth embodiment of the present application corresponds to the application license management method provided in the second embodiment of the present application, and provides an application license management device. Since the device embodiment is substantially similar to the second embodiment, the description is relatively simple, and reference is made to the description of the second embodiment for relevant points. The device embodiments described below are merely illustrative.
Fig. 5 is a schematic diagram of an application license management apparatus according to a fourth embodiment of the present application. The application license management apparatus includes: a second license verification request message obtaining unit 501 configured to obtain a second license verification request message sent by the license side vehicle container; a to-be-verified license data processing unit 502, configured to create a user-defined resource instance for a license token according to the second license verification request message, and store to-be-verified license data carried by the second license verification request message into the user-defined resource instance; and the first verification result processing unit 503 is configured to obtain a first verification result from the user-defined resource instance, and return the first verification result to the allowable sidecar container.
The fifth embodiment of the present application corresponds to the application license management method provided in the third embodiment of the present application, and provides an application license management device. Since the device embodiment is substantially similar to the third embodiment, the description is relatively simple, and reference is made to the description of the third embodiment for relevant points. The device embodiments described below are merely illustrative.
Fig. 6 is a schematic diagram of an application license management apparatus according to a fifth embodiment of the present application. The application license management apparatus includes: the to-be-verified license data obtaining unit 601 is configured to access a user-defined resource instance to obtain to-be-verified license data; a license validity data processing unit 602, configured to send, to a license manager, a license validity data acquisition request message for acquiring license validity data corresponding to an application program, so as to obtain license validity data corresponding to the application program returned by the license manager; and a first verification result processing unit 603, configured to verify the license data to be verified according to the license validity data, obtain a first verification result, and store the first verification result into the user-defined resource instance.
The sixth embodiment of the present application also provides an electronic device corresponding to the application license management methods of the second and third embodiments of the present application. Fig. 7 is a schematic view of an electronic device according to a sixth embodiment of the present application, as shown in fig. 7. The electronic device includes: a processor 701; the memory 702 is used for storing a computer program, and the computer program is executed by the processor to execute the application program license management methods of the second embodiment and the third embodiment.
The seventh embodiment of the present application provides a computer storage medium storing a computer program that is executed by a processor to perform the application license management methods of the second and third embodiments, corresponding to the application license management methods of the second and third embodiments of the present application.
While the preferred embodiment has been described, it is not intended to limit the invention thereto, and any person skilled in the art may make variations and modifications without departing from the spirit and scope of the present invention, so that the scope of the present invention shall be defined by the claims of the present application.
In one typical configuration, a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
The memory may include volatile memory in a computer-readable medium, random Access Memory (RAM) and/or nonvolatile memory, such as Read Only Memory (ROM) or flash memory (flash RAM). Memory is an example of computer-readable media.
Computer readable media, including both non-transitory and non-transitory, removable and non-removable media, may implement information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of storage media for a computer include, but are not limited to, phase change memory (PRAM), static Random Access Memory (SRAM), dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), read Only Memory (ROM), electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), digital Versatile Discs (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices, or any other non-transmission medium, which can be used to store information that can be accessed by a computing device. Computer readable media, as defined herein, does not include non-transitory computer readable media (transmission media), such as modulated data signals and carrier waves.
It will be appreciated by those skilled in the art that embodiments of the present application may be provided as a method, system, or computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.

Claims (14)

1. An application license management system, comprising: the license side car container, the application program interface server and the license server which are deployed in the edge container cluster and correspond to the application program, and the license manager which is deployed in the cloud;
the license side car container is used for obtaining a first license verification request message sent by an application program and sending a second license verification request message to the application program interface server;
the application program interface server is used for creating a user-defined resource instance aiming at the license token according to the second license verification request message, and storing license data to be verified, which is carried by the second license verification request message, into the user-defined resource instance;
The license server is used for accessing the user-defined resource instance, obtaining the license data to be verified, sending a valid data obtaining request message for obtaining license valid data corresponding to the application program to the license manager, obtaining the license valid data corresponding to the application program returned by the license manager, verifying the license data to be verified according to the license valid data, obtaining a first verification result, and storing the first verification result into the user-defined resource instance;
the license manager is configured to obtain the license validity data according to the validity data obtaining request message, and return the license validity data to the license server;
the application program interface server is further used for obtaining the first verification result from the user-defined resource instance and returning the first verification result to the license side vehicle container;
the permitted side car container is further used for returning the first verification result to the application program.
2. The application license management system of claim 1, wherein the license edge container is specifically configured to obtain a first license verification request message sent by the application at startup;
The first verification result is used for determining whether to continue starting by the application program.
3. The application license management system of claim 1, wherein the license server is configured to access the user-defined resource instance to obtain the license data to be verified, in particular after monitoring that the user-defined resource instance is created.
4. The application license management system of claim 1, wherein the license server is further configured to generate token data for license verification for operation of the application, and provide the token data to the application interface server;
the application program interface server is further used for sending the token data to the license sidecar container;
the permit sidecar container is also used for sending the token data to the application program.
5. The application license management system of claim 4, wherein the first license verification request message carries the token data, the license data to be verified includes the token data, and the license validity data includes validity period information of the token data;
The license server is specifically configured to determine whether the token data included in the license data to be verified is valid according to validity period information included in the license validity data, obtain a first determination result, and generate the first verification result according to the first determination result.
6. The application license management system according to claim 1, wherein the license data to be verified includes cluster information to which the electronic device in which the application is located when started belongs;
the license server is specifically configured to determine whether the cluster information is the same as the cluster information of the edge container cluster, obtain a second determination result, and generate the first verification result according to the second determination result.
7. The application license management system according to claim 1, wherein the license data to be verified includes user information for using the application program, and the license validity data includes user information for being licensed to use the application program;
the license server is specifically configured to determine whether the user information of the application program is the same as at least one user information in the user information of the application program that is licensed to use, obtain a third determination result, and generate the first verification result according to the third determination result.
8. The application license management system according to claim 7, wherein the license server is configured to, in particular, determine whether or not the number of devices currently running the application through the licensed user information exceeds a licensed device number threshold, if it is determined that at least one of the user information using the application and the user information licensed to use the application is identical, obtain a fourth determination result, and generate the first verification result according to the fourth determination result, wherein the license validity data includes the licensed device number threshold.
9. The application license management system of claim 4, wherein,
the permit sidecar container is also used for caching the token data.
10. The application license management system according to claim 9, wherein the license server is further configured to send first instruction information for instructing the license edge container to verify the license data to be verified to the application program interface server, or send first status information for indicating that the license server cannot verify the license data to be verified to the application program interface server, or send second status information for indicating that the license server cannot interact with the license manager to the application program interface server, when the license server cannot interact with the license manager;
The application program interface server is further configured to send the first indication information, the first status information, or the second status information to the permitted sidecar container;
and the license side vehicle container is further used for verifying the license data to be verified according to the first indication information, the first state information or the second state information and the cached token data to obtain a second verification result, and returning the second verification result to the application program.
11. The application license management system of claim 10, wherein the license data to be verified includes the token data;
the license side vehicle container is specifically configured to determine whether the token data included in the license data to be verified is the same as the cached token data, obtain a sixth determination result, and obtain the second verification result according to the sixth determination result.
12. The application license management system according to claim 1, wherein the license server is further configured to obtain all user information of the application program being executed and/or operating environment data of all devices of the application program being executed, which are provided by the application program interface server, and send the all user information of the application program being executed and/or operating environment data of all devices of the application program being executed to the license manager;
The license manager is specifically configured to generate the license validity data according to the information of all users running the application program and/or the running environment data of all devices running the application program after the validity data acquisition request message is obtained.
13. An application license management method, which is applied to the application license management system according to any one of claims 1 to 12, wherein an execution subject of the method is an application program interface server, comprising:
obtaining a second license verification request message sent by a license side vehicle container;
creating a user-defined resource instance for a license token according to the second license verification request message, and storing license data to be verified carried by the second license verification request message into the user-defined resource instance;
and obtaining a first verification result from the user-defined resource instance, and returning the first verification result to the allowable sidecar container.
14. An application license management method, characterized in that the method is applied to an application license management system according to any one of claims 1 to 12, the method being applied to a license server, comprising:
Accessing a user-defined resource instance to obtain permission data to be verified;
sending a license manager a license availability data acquisition request message for acquiring license availability data corresponding to an application program to acquire the license availability data corresponding to the application program returned by the license manager;
and verifying the permission data to be verified according to the permission validity data to obtain a first verification result, and storing the first verification result into the user-defined resource instance.
CN202110919260.9A 2021-08-11 2021-08-11 Application program license management system and method Active CN113742660B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110919260.9A CN113742660B (en) 2021-08-11 2021-08-11 Application program license management system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110919260.9A CN113742660B (en) 2021-08-11 2021-08-11 Application program license management system and method

Publications (2)

Publication Number Publication Date
CN113742660A CN113742660A (en) 2021-12-03
CN113742660B true CN113742660B (en) 2023-07-25

Family

ID=78730773

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110919260.9A Active CN113742660B (en) 2021-08-11 2021-08-11 Application program license management system and method

Country Status (1)

Country Link
CN (1) CN113742660B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114745431B (en) * 2022-03-18 2023-09-29 上海道客网络科技有限公司 Non-invasive authority authentication method, system, medium and equipment based on side car technology
CN114363172B (en) * 2022-03-21 2022-06-10 中国工商银行股份有限公司 Decoupling management method, device, equipment and medium for container group
CN116127418B (en) * 2023-04-14 2023-06-27 深圳竹云科技股份有限公司 Container application authorization method and device and computer equipment

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9009655D0 (en) * 1989-10-02 1990-06-20 Sun Microsystems Inc Method for protecting against the unauthorized use of software in a computer network environment
CN1831836A (en) * 2006-04-12 2006-09-13 北京金山软件有限公司 Method and system of saftware using license
EP1881432A1 (en) * 2006-06-21 2008-01-23 Bizextender Aps A software distribution system with a software key containing an ID of the distributor
CN103838987A (en) * 2013-06-24 2014-06-04 电子科技大学 Software license dynamic authorization management method based on local area network
CN104573493A (en) * 2014-12-25 2015-04-29 北京深思数盾科技有限公司 Software protection method and system
CN108268767A (en) * 2016-12-30 2018-07-10 北京国双科技有限公司 Web application authorization method and device
CN109241705A (en) * 2018-08-29 2019-01-18 中科鼎富(北京)科技发展有限公司 A kind of software authorization method and system
CN109672675A (en) * 2018-12-20 2019-04-23 成都三零瑞通移动通信有限公司 A kind of WEB authentication method of the cryptographic service middleware based on OAuth2.0
CN111131242A (en) * 2019-12-24 2020-05-08 北京格林威尔科技发展有限公司 Authority control method, device and system
CN112417385A (en) * 2020-11-24 2021-02-26 国网北京市电力公司 Safety control method and system
CN112596740A (en) * 2020-12-28 2021-04-02 北京千方科技股份有限公司 Program deployment method and device
CN112887334A (en) * 2021-03-04 2021-06-01 浪潮云信息技术股份公司 Distributed authentication method and system in limited environment

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10180809B2 (en) * 2006-05-17 2019-01-15 Richard Fetik Secure application acceleration system, methods and apparatus
US9892390B2 (en) * 2007-12-12 2018-02-13 Microsoft Technology Licensing, Llc Digital content packaging, licensing and consumption
US10044701B2 (en) * 2016-05-24 2018-08-07 Vantiv, Llc Technologies for token-based authentication and authorization of distributed computing resources
JP6779700B2 (en) * 2016-08-04 2020-11-04 古野電気株式会社 Control device authentication system, control device authentication method, and control device program
TW202021384A (en) * 2018-11-23 2020-06-01 財團法人工業技術研究院 Network service system and network service method
US10893116B1 (en) * 2019-07-03 2021-01-12 Nutanix, Inc. Apparatuses and methods for edge computing application deployment in an IoT system

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9009655D0 (en) * 1989-10-02 1990-06-20 Sun Microsystems Inc Method for protecting against the unauthorized use of software in a computer network environment
US5138712A (en) * 1989-10-02 1992-08-11 Sun Microsystems, Inc. Apparatus and method for licensing software on a network of computers
CN1831836A (en) * 2006-04-12 2006-09-13 北京金山软件有限公司 Method and system of saftware using license
EP1881432A1 (en) * 2006-06-21 2008-01-23 Bizextender Aps A software distribution system with a software key containing an ID of the distributor
CN103838987A (en) * 2013-06-24 2014-06-04 电子科技大学 Software license dynamic authorization management method based on local area network
CN104573493A (en) * 2014-12-25 2015-04-29 北京深思数盾科技有限公司 Software protection method and system
CN108268767A (en) * 2016-12-30 2018-07-10 北京国双科技有限公司 Web application authorization method and device
CN109241705A (en) * 2018-08-29 2019-01-18 中科鼎富(北京)科技发展有限公司 A kind of software authorization method and system
CN109672675A (en) * 2018-12-20 2019-04-23 成都三零瑞通移动通信有限公司 A kind of WEB authentication method of the cryptographic service middleware based on OAuth2.0
CN111131242A (en) * 2019-12-24 2020-05-08 北京格林威尔科技发展有限公司 Authority control method, device and system
CN112417385A (en) * 2020-11-24 2021-02-26 国网北京市电力公司 Safety control method and system
CN112596740A (en) * 2020-12-28 2021-04-02 北京千方科技股份有限公司 Program deployment method and device
CN112887334A (en) * 2021-03-04 2021-06-01 浪潮云信息技术股份公司 Distributed authentication method and system in limited environment

Also Published As

Publication number Publication date
CN113742660A (en) 2021-12-03

Similar Documents

Publication Publication Date Title
CN113742660B (en) Application program license management system and method
CN108683747B (en) Resource obtaining, distributing and downloading method, device, equipment and storage medium
CN107948203B (en) A kind of container login method, application server, system and storage medium
CN111708991B (en) Service authorization method, device, computer equipment and storage medium
JP5522307B2 (en) System and method for remote maintenance of client systems in electronic networks using software testing with virtual machines
US20220075653A1 (en) Scheduling method and apparatus, and related device
CN106127368B (en) Data storage method for enterprise resource management system
CN112513813A (en) Performing auxiliary functions in an on-demand network code execution system
US20130212650A1 (en) Distribution of variably secure resources in a networked environment
CN109587146A (en) Method for managing object and system based on block chain
CA2717139A1 (en) Peer to peer software license management system for temporarily relocating available software licenses
CN109120614B (en) Service processing method and device based on distributed system
US11916922B2 (en) Digital content access control
CN113271289A (en) Method, system and computer storage medium for resource authorization and access
CN112511565B (en) Request response method and device, computer readable storage medium and electronic equipment
WO2018036328A1 (en) Multi-application-oriented user data management method and system
CN107566329A (en) A kind of access control method and device
CN115694699A (en) Time delay parameter acquisition method and device, electronic equipment and storage medium
WO2004079483A2 (en) Method and apparatus for authorizing execution for applications in a data processing system
US9128780B2 (en) Validating license servers in virtualized environments
WO2024006624A1 (en) Isolated runtime environments for securing secrets used to access remote resources from compute instances
KR102247132B1 (en) Extended Authentication Method for Resource Access Control in a Cloud Environment Composed of Multiple Edge Servers
CN114356355A (en) Data burning method, device, equipment and storage medium
CN112579525A (en) WEB-based unified file processing method and system
US20220245252A1 (en) Seamless firmware update mechanism

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40069108

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240229

Address after: # 03-06, Lai Zan Da Building 1, 51 Belarusian Road, Singapore

Patentee after: Alibaba Innovation Co.

Country or region after: Singapore

Address before: Room 01, 45th Floor, AXA Building, 8 Shanton Road, Singapore

Patentee before: Alibaba Singapore Holdings Ltd.

Country or region before: Singapore