Server for providing beta version of application, and operating method thereof

A server-based infrastructure generates activation codes based on device and server information to securely and efficiently distribute beta versions of applications, addressing security and compatibility issues in existing methods.

WO2025095740A1PCT designated stage expired Publication Date: 2025-05-08SAMSUNG ELECTRONICS CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/KR2024/096111
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-12-28
Filing Date
2024-08-29
Publication Date
2025-05-08

AI Technical Summary

Technical Problem

The challenge lies in securely distributing beta versions of applications to users across various electronic devices without compromising security, as existing methods often rely on personal user information and may result in incompatible installations due to device type variations.

Method used

The proposed solution involves a server-based infrastructure that generates activation codes based on device and server information, enabling targeted beta testing by certifying whether the electronic device is suitable for installing the beta version of the application.

Benefits of technology

This approach ensures secure and targeted beta testing by eliminating the need for personal user information and preventing incompatible installations, thereby enhancing the efficiency and security of beta testing processes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure KR2024096111_08052025_PF_FP_ABST
    Figure KR2024096111_08052025_PF_FP_ABST
Patent Text Reader

Abstract

A server and an operating method thereof are provided. The server comprises: a memory for storing one or more instructions; and one or more processors for executing the one or more instructions stored in the memory, wherein the processors execute the one or more instructions so as to acquire a plurality of activation codes on the basis of information related to a beta test of an application. On the basis of the plurality of activation codes and the information related to the beta test, the processors perform authentication corresponding to whether input information including an input code for the beta test received from an electronic device is valid for the beta test. On the basis of the authentication result, the processors control that a beta version of the application is provided to the electronic device.
Need to check novelty before this filing date? Find Prior Art

Description

A server and its operation method for providing a beta version of an application.

[0001] The various disclosed embodiments relate to a server and a method of operating the same, and more particularly to a server and a method of operating the same for providing a beta version of an application for beta testing.

[0002] With the diversification of electronic devices, different types of extensions or files are required for a single application depending on the type of device. Furthermore, as applications are continuously developed and updated, beta versions of the applications are provided to users for beta testing. The process of selecting users for beta version distribution poses the burden of having to use their personal information. Furthermore, as users use multiple electronic devices, rather than just one, attempts to install beta versions that are inappropriate for their specific device type can lead to security issues.

[0003] To address issues arising from the use of user personal information or the installation of beta versions inappropriate for electronic devices, the present disclosure provides an infrastructure that enables beta testing using information from electronic devices and servers, without using the user's personal information. The present disclosure provides a method for conducting large-scale beta testing for precisely targeted audiences by issuing an activation code based on information from the electronic device and server, and verifying the suitability of the electronic device on which the beta version of the application is to be installed.

[0004] According to one embodiment of the present disclosure, a server includes a memory storing one or more instructions, and one or more processors executing one or more instructions stored in the memory, wherein the one or more processors obtain a plurality of activation codes based on information regarding beta testing of an application by executing the one or more instructions. The one or more processors perform authentication corresponding to whether input information including an input code for beta testing received from an electronic device is valid for beta testing based on the plurality of activation codes and the information regarding beta testing. The one or more processors control the electronic device to provide a beta version of an application for beta testing based on the result of the authentication performed.

[0005] A method of operating a server according to one embodiment of the present disclosure includes a step of obtaining a plurality of activation codes based on information regarding beta testing of an application. The method of operating the server includes a step of performing authentication based on the plurality of activation codes and the information regarding the beta testing, in response to whether input information including an input code for beta testing received from an electronic device is valid for beta testing. The method of operating the server includes a step of controlling the electronic device to provide a beta version of an application for beta testing based on a result of the authentication performed.

[0006] According to one embodiment of the present disclosure, a computer-readable recording medium having recorded thereon a program for executing the method described in the present disclosure on a computer may be provided.

[0007] FIG. 1 is a diagram illustrating an operation of a server according to one embodiment of the present disclosure to provide a beta version of an application.

[0008] FIG. 2 is a schematic block diagram of a server and an electronic device according to one embodiment of the present disclosure.

[0009] FIG. 3 is a flowchart illustrating an operation of a server providing a beta version of an application according to one embodiment of the present disclosure.

[0010] FIG. 4 is a diagram illustrating the overall flow of a server performing a beta test according to one embodiment of the present disclosure.

[0011] FIG. 5 is a diagram illustrating information transmitted and received to provide a beta version of an application according to one embodiment of the present disclosure.

[0012] FIG. 6 is a flowchart illustrating operations after provision of a beta version of an application according to one embodiment of the present disclosure is completed.

[0013] FIG. 7 is a flowchart illustrating an operation when information regarding a beta test is updated according to one embodiment of the present disclosure.

[0014] FIG. 8A is a diagram for explaining an operation when information for reducing the beta test scale is included in update information according to one embodiment of the present disclosure.

[0015] FIG. 8b is a diagram for explaining an operation when information for expanding a beta test scale is included in update information according to one embodiment of the present disclosure.

[0016] FIG. 9 is a diagram illustrating subject-specific operations for providing a beta version of an application according to one embodiment of the present disclosure.

[0017] FIG. 10 is a diagram for explaining subject-specific operations when information regarding a beta test according to one embodiment of the present disclosure is updated.

[0018] FIG. 11 is a diagram for explaining subject-specific operations when a beta test is terminated by an electronic device according to one embodiment of the present disclosure.

[0019] FIG. 12 is a diagram for explaining subject-specific operations when a beta test is terminated by an external device according to one embodiment of the present disclosure.

[0020] FIG. 13 is an example diagram for entering an input code for installing a beta version according to one embodiment of the present disclosure.

[0021] FIG. 14 is an exemplary diagram of updatable information according to a beta testing phase according to one embodiment of the present disclosure.

[0022] FIG. 15 is a detailed block diagram of an electronic device according to one embodiment of the present disclosure.

[0023] Hereinafter, embodiments of the present disclosure are described in detail with reference to the attached drawings.

[0024] The present disclosure may be subject to various modifications and embodiments. Specific embodiments are illustrated in the drawings and described in detail herein. However, this is not intended to limit the embodiments of the present disclosure, and it should be understood that the present disclosure encompasses all modifications, equivalents, and alternatives falling within the spirit and technical scope of the various embodiments.

[0025] In describing the embodiments, detailed descriptions of related known technologies are omitted if they are deemed to unnecessarily obscure the gist of the present disclosure. Furthermore, numbers (e.g., "first," "second," etc.) used throughout the description of the specification are merely identifiers used to distinguish one component from another.

[0026] The terms used in the embodiments of this specification have been selected from widely used, current terms, taking into account the functions of the present disclosure. However, these terms may vary depending on the intentions of those skilled in the art, precedents, the emergence of new technologies, etc. Furthermore, in certain cases, terms may be arbitrarily selected by the applicant, and in such cases, their meanings will be described in detail in the description of the relevant embodiments. Therefore, the terms used in this disclosure should not be defined simply as names of terms, but rather based on the meanings of the terms and the overall content of the present disclosure.

[0027] The scope of the present disclosure may be indicated by the claims that follow rather than the detailed description above. Various features mentioned in one claim category of the present disclosure (e.g., in a method claim) may also be claimed in another claim category (e.g., in a system claim). Furthermore, an embodiment of the present disclosure may include not only combinations of features specified in the appended claims, but also various combinations of individual features within the claims. The scope of the present disclosure should be interpreted to include all changes or modifications derived from the meaning and scope of the claims and their equivalent concepts.

[0028] In addition, components expressed as 'unit', 'module', etc. in the present disclosure may be two or more components combined into one component, or one component may be divided into two or more components with more detailed functions. These functions may be implemented by hardware or software, or a combination of hardware and software. In addition, each component described below may additionally perform some or all of the functions performed by other components in addition to its own main function, and of course, some of the main functions performed by each component may be dedicated and performed by other components.

[0029] Singular expressions may include plural expressions unless the context clearly indicates otherwise. Terms used herein, including technical or scientific terms, have the same meaning as commonly understood by a person of ordinary skill in the art described herein.

[0030] Throughout this disclosure, unless specifically stated otherwise, "or" is inclusive and not exclusive. Thus, unless explicitly stated otherwise or the context dictates otherwise, "A or B" can mean "A, B, or both." As used herein, the phrases "at least one of" or "one or more of" can mean that different combinations of one or more of the listed items can be used, or that only any one of the listed items is required. For example, "at least one of A, B, and C" can include any of the following combinations: A, B, C, A and B, A and C, B and C, or A and B and C.

[0031] It will be appreciated that each block of the flowchart drawings and combinations of the flowchart drawings can be performed by computer program instructions. These computer program instructions can be installed in a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing equipment, such that the instructions, when executed by the processor of the computer or other programmable data processing equipment, create a means for performing the functions described in the flowchart block(s). These computer program instructions can also be stored in a computer-available or computer-readable memory that can direct a computer or other programmable data processing equipment to perform the functions in a specific manner, such that the instructions stored in the computer-available or computer-readable memory can produce an article of manufacture that includes instruction means for performing the functions described in the flowchart block(s). Since the computer program instructions may be installed on a computer or other programmable data processing device, a series of operational steps may be performed on the computer or other programmable data processing device to create a computer-executable process, and the instructions that cause the computer or other programmable data processing device to perform the steps for performing the functions described in the flowchart block(s) may also provide steps for performing the functions described in the flowchart block(s).

[0032] Additionally, each block may represent a module, segment, or portion of code that contains one or more executable instructions for performing a specific logical function(s). It should also be noted that in some alternative implementation examples, the functions described in the blocks may occur out of order. For example, two blocks depicted in succession may actually be executed substantially concurrently, or the blocks may sometimes be executed in reverse order, depending on their respective functions.

[0033] When a part of the specification is said to "include" a component, this does not exclude other components, but rather implies the inclusion of other components, unless otherwise specifically stated. Furthermore, terms such as "part," "module," etc., used throughout the specification refer to a unit that processes at least one function or operation, which may be implemented in hardware, software, or a combination of hardware and software.

[0034] Below, embodiments of the present disclosure are described in detail with reference to the attached drawings so that those skilled in the art can easily implement the present disclosure. However, the present disclosure may be implemented in various different forms and is not limited to the embodiments described herein. In addition, for the purpose of clearly explaining the present disclosure in the drawings, parts irrelevant to the description are omitted, and similar parts are designated with similar reference numerals throughout the specification.

[0035] The terms used in this disclosure will be briefly explained, and an embodiment of the present invention will be specifically described.

[0036] The terms described below are defined based on their functions within the present invention, and may vary depending on the intent or custom of the user or operator. Therefore, their definitions should be based on the contents of this specification.

[0037] In this disclosure, "beta testing" may refer to testing conducted prior to commercialization of a product, software, program, or application. "Beta testing" may refer to a stage in which feedback is provided to evaluate defects, inconveniences, and the value of a beta version of a product or application upon commercialization.

[0038] In this disclosure, an "activation code" may refer to a code required to activate a product, software, program, or application. The "activation code" may be used to determine whether to allow installation of the product, software, program, or application. The "activation code" may be composed of, but is not limited to, multiple numbers, multiple letters, or a combination thereof.

[0039] In this disclosure, "input code" may refer to a code entered by a user to activate a product, software, program, or application. If the "input code" matches the "activation code," the user may be authorized to install the product, software, program, or application.

[0040] In this disclosure, a "beta version" may refer to a trial product, software, program, or application distributed to users for beta testing. A "beta version" may be distributed to users subject to beta testing, distinct from a "general version."

[0041] In this disclosure, "model information" refers to information about the model of an electronic device, which can be identified by a model number issued to each electronic device. "Model information" may include information about the type of electronic device, the year of release of the electronic device, and the functions it supports. The model number indicating the "model information" may be composed of, but is not limited to, multiple numbers, multiple letters, or a combination thereof.

[0042] In this disclosure, "firmware information" may refer to information regarding permanent software embedded in an electronic device. Even for the same electronic device, the functions or performance of the electronic device, or the type of software used, may vary depending on the firmware.

[0043] In this disclosure, the 'scale of beta testing' may mean the number of objects (e.g., devices, electronic devices, accounts, etc.) that are the target of beta testing.

[0044] In this disclosure, 'rollback' may mean returning a product, software, program, or application to a previous state based on a database.

[0045] FIG. 1 is a diagram illustrating an operation of a server providing a beta version of an application according to one embodiment of the present disclosure.

[0046] Referring to FIG. 1, a server (100) can provide a beta version (40) of an application to an electronic device (200). The server (100) can generate an activation code (20) based on information (10) regarding a beta test obtained from an external device (300), and provide the beta version (40) to the electronic device (200) through an authentication procedure performed based on input information (30) obtained from the electronic device (200). Hereinafter, the application in the present disclosure can be replaced with a product, software, program, etc.

[0047] The server (100) can obtain information (10) regarding beta testing from an external device (300). An external user operating the external device (300) may refer to a client wishing to perform a beta test of an application. For example, the external user may refer to a developer of the application or a service provider regarding the application. In one embodiment, the external device (300) may limit the target audience of the beta version of the application to be provided. The external device (300) may generate information (10) regarding beta testing that includes information regarding the target audience of the beta version of the application. In one embodiment, the information (10) regarding beta testing may include information regarding the target group of the beta test. The information (10) regarding beta testing may include, but is not limited to, at least one of model information of an electronic device subject to beta testing, firmware information of an electronic device subject to beta testing, information regarding the scale of the beta test, application version information, or country information. The information (10) regarding beta testing may include information regarding the period during which the beta test is performed. The server (100) may restrict the distribution and installation of the beta test application outside of the beta testing period. In one embodiment, information regarding the beta test may include information about the target group to which the beta version of the application will be automatically distributed.

[0048] In one embodiment, the external device (300) may request multiple beta tests for one application. The external device (300) may limit the target audience for each beta test and generate information (10) about the beta test. The external device (300) may determine the target scale of the beta test for each beta test. For example, the external device (300) may set the information (10) about the beta test to be conducted for 50,000 people for the a beta test for application A, select Korea and China as the target countries, and conduct the test for TVs with the model name 'KQxxx'. In addition, the external device (300) may set the information (10) about the beta test to be conducted for 10,000 people for the b beta test for application A, select the United States as the target country, and conduct the test for tablets with the model name 'SM-Txx'.

[0049] The server (100) can generate a plurality of activation codes (20) based on the information (10) about the beta test obtained from the external device (300). The server (100) can generate a number of activation codes (20) corresponding to the information about the target scale of the beta test included in the information (10) about the beta test. In one embodiment, the activation code (20) can be composed of a plurality of numbers, a plurality of letters, or a combination thereof. The activation code (20) can include an identifier for identifying the beta test. In one embodiment, the server (100) can generate an activation code list including a plurality of activation codes (20). In one embodiment, the prefix or suffix of the activation code (20) can include a number or letter that can identify the beta test. For example, in the case of an activation code (20) composed of a combination of a plurality of numbers and letters, the prefix can be set to include the code '16' to indicate that it is a beta test of application A. In one embodiment, the server (100) may store a plurality of activation codes along with status information for each activation code. The status information may indicate whether or not the activation code is in use. The server (100) may generate an activation code list that stores the plurality of activation codes along with status information for each activation code. For example, if a specific activation code has already been used by another electronic device or the server (100) forcibly deactivates or expires the activation code due to updated information regarding beta testing, the server (100) may also store the status of the activation code as being in use or inactive. In one embodiment, the server (100) may update application information based on the generated activation code information or activation code list.

[0050] The server (100) can provide a plurality of activation codes (20) generated based on information (10) regarding the beta test to an external device (300). The external device (300) can provide the plurality of activation codes (20) to a plurality of electronic devices that are the subject of the beta test.

[0051] An electronic device (200) may obtain input information (30) for beta testing from a user who wishes to install a beta version of an application, and provide the obtained input information (30) to a server (100). The input information (30) may include an input code for beta testing. The input information (30) may include at least one of model information of the electronic device, firmware information of the electronic device, information corresponding to whether an application is installed on the electronic device, version information of an application installed on the electronic device, or country information of the electronic device, but is not limited thereto.

[0052] The server (100) may perform authentication corresponding to whether the input information is valid for beta testing based on the input information (30), the activation code (20), and the information regarding the beta test (10) received from the electronic device (200). In one embodiment, the authentication corresponding to whether the input information is valid for beta testing may include authentication of whether the input code included in the input information (30) is a valid code issued by the server (100), authentication of whether the input code has a validity period for performing the corresponding beta test, and authentication of whether the input information (30) matches the information regarding the beta test (10).

[0053] In one embodiment, the server (100) may perform authentication based on the activation code (20) and the input code included in the input information (30) to determine whether the input code is a valid code issued by the server (100). The server (100) may perform authentication to determine whether the time at which the input information (30) was acquired from the electronic device (200) is within a valid period set by the external device (300) for performing the corresponding beta test. The server (100) may perform authentication by determining whether the model information of the electronic device, the firmware information of the electronic device, the version information of the application installed on the electronic device, or the country information of the electronic device included in the input information (30) matches the model information of the electronic device to be tested, the firmware information of the electronic device to be tested, the version information of the application, or the country information included in the information regarding the beta test (10).

[0054] In one embodiment, if the authentication procedure performed based on the input information (30), the activation code (20), and the information about the beta test (10) is successful, the server (100) may provide the electronic device (200) with a beta version (40) of the application. If the authentication procedure is successful, the server (100) may provide the electronic device (200) with information about the beta test (10). In one embodiment, if the authentication procedure is successful, the server (100) may provide a download file so that the electronic device (200) can download the information about the beta test (10). The server (100) may grant the electronic device (200) permission to download the information about the beta test (10). The electronic device (200) may store the provided information about the beta test (10) and use it when installing, deleting, or updating the beta version or the general version of the application. In one embodiment, the electronic device (200) may store the information (10) regarding the beta test provided in a secure storage. If the authentication procedure fails, the server (100) may transmit an indicator to the electronic device (200) indicating that the authentication procedure was not successfully performed. In one embodiment, the failure of the authentication procedure may include, but is not limited to, cases where the input code does not match any of a plurality of activation codes, matches an expired activation code, is not within the beta test validity period, or the input information does not match the information regarding the beta test.

[0055] In one embodiment, the electronic device (200) may perform the installation of a beta version (40) of an application received from the server (100), and when the installation is completed, may transmit information corresponding to the completion of the installation of the beta version to the server (100). The server (100) may deactivate an activation code corresponding to the input code among a plurality of activation codes (20) based on the information corresponding to the completion of the installation of the beta version received from the electronic device (200). In one embodiment, deactivating an activation code may mean expiring the activation code or processing it as completed. The server (100) may update status information about the activation code as it deactivates the activation code. The server (100) may update an activation code list as it deactivates the activation code. The server (100) may update information about the application as it deactivates the activation code. Hereinafter, specific operations according to the completion of the installation of the beta test are described with reference to FIG. 6.

[0056] In one embodiment, the server (100) may automatically distribute a beta version of an application to users based on information about a beta test of the application obtained from an external device (300). Based on the information about the beta test, the server (100) may automatically distribute the beta version of the application to some electronic devices without a separate authentication procedure. In one embodiment, the server (100) may determine targets for automatic distribution based on the information about the beta test. An electronic device that has received the beta version of the application automatically distributed from the server (100) may perform installation of the beta version. In one embodiment, if the installation of the beta version of the application fails, some electronic devices may provide information indicating this to the server (100). For example, the electronic device may fail to install the beta version of the application due to insufficient resources of the electronic device, unstable connection with the server, or other reasons. If the server (100) receives information about an installation failure from some electronic devices, it may not update application information.

[0057] In one embodiment, an external device (300) can update information regarding the application's beta testing. The external device (300) can change the scale of the beta testing or modify the information subject to the beta testing. In one embodiment, the information that can be updated may vary depending on the progress of the beta testing. Specific examples of information that can be updated based on the progress of the beta testing are detailed in FIG. 14.

[0058] In one embodiment, the external device (300) may provide update information regarding the beta test of the application to the server (100), and the server (100) may adjust the number of a plurality of activation codes (20) based on the update information. In one embodiment, the update information may include, but is not limited to, at least one of model information of the electronic device subject to the beta test, firmware information of the electronic device subject to the beta test, information regarding the target scale of the beta test, version information of the application, or country information. In one embodiment, the server (100) may update information of the application based on the update information.

[0059] For example, if the update information includes information corresponding to an expansion of the target size of the beta test, the server (100) may generate additional activation codes based on the update information. Alternatively, if the update information includes information corresponding to a reduction in the target size of the beta test, the server (100) may deactivate some of the multiple activation codes generated based on the update information. For a detailed description, please refer to FIGS. 7, 8A, and 8B.

[0060] In one embodiment, the beta version (40) of the application may be updated separately from the regular version of the application. If the beta version (40) of the application is updated based on feedback regarding the beta version (40), the update may be performed only for the beta version (40), regardless of the regular version of the beta test. Furthermore, if the regular version of the beta test is updated, the update may be performed independently of the beta version (40).

[0061] In one embodiment, when a beta test is terminated, the electronic device (200) may delete information (10) regarding the beta test and perform a rollback. Rollback may refer to restoring a product, software, program, or application to a previous state based on a database. In one embodiment, the termination of the beta test may include, but is not limited to, when the user deletes or terminates the beta version of the application from the electronic device (200), when the beta test is terminated at the request of an external device (300), or when the validity period for the beta test expires. In one embodiment, when there is an installation history for the application, the electronic device (200) may delete information (10) regarding the beta version of the application and perform a rollback to the regular version of the application. When there is no installation history for the application, the electronic device (200) may delete information (10) regarding the beta version of the application. Hereinafter, specific operations after the termination of the beta test will be described with reference to FIGS. 11 and 12.

[0062] FIG. 2 is a schematic block diagram of a server and an electronic device according to one embodiment of the present disclosure.

[0063] Referring to FIG. 2, the server (100) may include a processor (110), a memory (120), and a communication unit (130). However, not all of the illustrated components are essential components of the server (100). The server (100) may be implemented with more components than the illustrated components, or may be implemented with fewer components.

[0064] The processor (110) controls the overall operation of the server (100). For example, the processor (110) may perform the functions of the server (100) described in the present disclosure by executing one or more instructions stored in the memory (120). In this case, the memory (120) may store one or more instructions executable by the processor (110). In addition, the processor (110) may store one or more instructions in an internally provided memory, and execute one or more instructions stored in the internally provided memory to control the performance of the above-described operations. That is, the processor (110) may perform a predetermined operation by executing at least one instruction or program stored in the internal memory provided within the processor (110) or the memory (120).

[0065] The processor (110) may include one or more processors. At this time, one or more processors may be general-purpose processors such as a CPU, AP, or DSP (Digital Signal Processor), graphics-only processors such as a GPU or VPU (Vision Processing Unit), or artificial intelligence-only processors such as an NPU. If one or more processors are artificial intelligence-only processors, the artificial intelligence-only processors may be designed with a hardware structure specialized for processing a specific artificial intelligence model.

[0066] In one embodiment of the present disclosure, the processor (110) may receive information regarding a beta test from an external device (not shown) via the communication unit (130). The information regarding the beta test may include, but is not limited to, at least one of model information of an electronic device to be subjected to the beta test, firmware information of the electronic device to be subjected to the beta test, information regarding the target scale of the beta test, version information of an application, or country information. In one embodiment, the information regarding the beta test may include information regarding a target group to which a beta version of an application will be automatically distributed. The processor (110) may generate a plurality of activation codes for the beta test based on the received information regarding the beta test. In one embodiment, the processor (110) may determine the number of activation codes to be generated based on the target scale of the beta test set by the external device.

[0067] In one embodiment, the processor (110) may provide a plurality of activation codes to an external device through the communication unit (130). The processor (110) may receive input information including an input code for beta testing from the electronic device (200) through the communication unit (130). In one embodiment, the input information may include, but is not limited to, at least one of model information of the electronic device, firmware information of the electronic device, information corresponding to whether an application is installed on the electronic device, version information of an application installed on the electronic device, or country information of the electronic device.

[0068] In one embodiment, the processor (110) may perform authentication based on input information, a plurality of activation codes, and information about the beta test to determine whether the input information is valid for the beta test. If the input information is valid, the processor (110) may provide the electronic device (200) with a beta version of the application through the communication unit (130). The processor (110) may provide information about the beta version to the electronic device (200) that has successfully completed the authentication procedure through the communication unit (130). In one embodiment, the processor (110) may automatically distribute the beta version of the application to electronic devices subject to the beta test based on the information about the beta test without a separate authentication procedure through the communication unit (130).

[0069] In one embodiment, when the processor (110) receives an indication from the electronic device (200) via the communication unit (130) that the installation of the beta version has been completed, the processor (110) may deactivate the activation code corresponding to the input code. In one embodiment, deactivating the activation code may mean expiring the activation code or transitioning it to a used state. For specific operations, refer to FIGS. 6, 11, and 12 .

[0070] In one embodiment, the processor (110) may receive update information regarding exclusive services from an external device and adjust the number of activation codes based on the update information. For specific methods, see FIGS. 7, 8A, 8B, and 14.

[0071] The memory (120) can store a program for processing and controlling the processor (110), and can store data input to or output from the server (100). The memory (120) can include at least one type of storage medium among a flash memory type, a hard disk type, a multimedia card micro type, a card type memory (e.g., SD or XD memory, etc.), a RAM (Random Access Memory), a SRAM (Static Random Access Memory), a ROM (Read-Only Memory), an EEPROM (Electrically Erasable Programmable Read-Only Memory), a PROM (Programmable Read-Only Memory), a magnetic memory, a magnetic disk, and an optical disk.

[0072] In one embodiment of the present disclosure, the memory (120) may store information regarding a beta test under the control of the processor (110). In one embodiment, when multiple beta tests are performed for one application, the memory (120) may store information regarding the beta test for each beta test under the control of the processor (110). The memory (120) may store multiple activation codes generated based on the information regarding the beta test under the control of the processor (110), and may store information regarding the status of the multiple activation codes together. In one embodiment, the memory (120) may store an activation code list including multiple activation codes under the control of the processor (110). The activation code list may include information regarding the status of the multiple activation codes. For example, in the case of some activation codes, if they have been forcibly expired or used by another electronic device, the status information may be stored in a deactivated or used state, and in the case of activation codes that have not been used, the status information may be stored in an activated or pre-used state. In one embodiment, the memory (120) may store information about the application, including information about beta testing and information about activation codes or a list of activation codes, under the control of the processor (110).

[0073] In one embodiment, the memory (120) may store input information received from the electronic device (200) through the communication unit (130) under the control of the processor (110). The memory (120) may update and store information about the beta test based on update information about the beta test received from an external device through the communication unit (130) under the control of the processor (110).

[0074] The communication unit (130) may include one or more modules that enable wireless communication between the server (100) and the network where the electronic device (200) is located. The communication unit (130) may transmit and receive data or signals to and from the electronic device (200) via a wired or wireless network. The communication unit (130) according to one embodiment of the present disclosure includes at least one communication module, such as a short-range communication module, a wired communication module, a mobile communication module, a broadcast reception module, etc. Here, at least one communication module refers to a communication module that can transmit and receive data via a network that follows a communication standard, such as a tuner that performs broadcast reception, Bluetooth, WLAN (Wireless LAN) (Wi-Fi), Wibro (Wireless broadband), Wimax (World Interoperability for Microwave Access), CDMA, WCDMA, etc.

[0075] For example, the communication unit (130) may include a Wi-Fi module, a Bluetooth module, an infrared communication module, a wireless communication module, a LAN module, an Ethernet module, a wired communication module, etc. At this time, each communication module may be implemented in the form of at least one hardware chip. The Wi-Fi module and the Bluetooth module perform communication in the Wi-Fi method and the Bluetooth method, respectively. When using the Wi-Fi module or the Bluetooth module, various connection information such as the SSID and the session key may be first transmitted and received, and then communication may be established using this, and then various information may be transmitted and received. The wireless communication module may include at least one communication chip that performs communication according to various wireless communication standards such as Zigbee, 3G (3rd Generation), 3GPP (3rd Generation Partnership Project), LTE (Long Term Evolution), LTE-A (LTE Advanced), 4G (4th Generation), 5G (5th Generation), etc. The communication unit (130) may include a communication unit that performs communication with electronic devices and Bluetooth, etc., and an interface unit that connects with an external device.

[0076] In one embodiment of the present disclosure, the communication unit (130) may receive information regarding a beta test from an external device under the control of the processor (110) and may receive update information regarding the beta test. The communication unit (130) may transmit a plurality of activation codes generated by the processor (110) to the external device. In one embodiment, the communication unit (130) may receive input information including an input code from the electronic device (200) under the control of the processor (110). The communication unit (130) may receive a request for installing a beta version from the electronic device (200) under the control of the processor (110), and if the authentication procedure in the processor (110) is successful, provide the electronic device (200) with the beta version of the application. The communication unit (130) may receive an indicator indicating that the installation of the beta version has been completed from the electronic device under the control of the processor (110).

[0077] The electronic device (200) may include a processor (210), a memory (220), a communication unit (230), a sensor (240), and a user interface (250). However, not all of the illustrated components are essential components of the electronic device (200). The electronic device (200) may be implemented with more components than the illustrated components, or may be implemented with fewer components.

[0078] The processor (210) controls the overall operation of the electronic device (200). For example, the processor (110) may perform the functions of the server (100) described in the present disclosure by executing one or more instructions stored in the memory (120). In this case, the memory (120) may store one or more instructions executable by the processor (110). For the sake of brevity of the description, any content overlapping with the processor (110) of the server (100) will be omitted below.

[0079] In one embodiment of the present disclosure, the processor (210) may receive an input code from a user through the user interface (250). The processor (210) may transmit input information including the input code to the server (100) through the communication unit (230). If the authentication procedure for the beta test is successful, the processor (210) may receive a beta version of the application from the server (100) through the communication unit (230). The processor (210) may perform installation of the received beta version of the application, and if the installation is complete, may transmit an instruction to the server (100) through the communication unit (230) indicating that the installation of the beta version is complete.

[0080] In one embodiment, the processor (210) may perform a rollback when the beta test is terminated. The processor (210) may perform a rollback to the regular version depending on whether the regular version of the application is stored in the memory (220). When the beta test is terminated, the processor (210) may delete information regarding the beta version of the application from the memory (220).

[0081] The memory (220) can store a program for processing and controlling the processor (210), and can store data input to or output from the electronic device (200). In one embodiment, the memory (220) can include a separate secured storage. Hereinafter, for the sake of a brief description of the specification, any content overlapping with the memory (120) of the server (100) will be omitted.

[0082] In one embodiment of the present disclosure, the memory (220) may store input information including an input code received from a user under the control of the processor (210). The memory (220) may store information regarding a beta test of an application received from a server (100) through the communication unit (230) under the control of the processor (210). The memory (220) may store a beta version of an application received from a server (100) through the communication unit (230) under the control of the processor (210). In one embodiment, the memory (220) may store information regarding a beta test in a secure storage under the control of the processor (210). In one embodiment, if the electronic device (200) has a history of installing a general version of an application, the memory (220) may store information regarding the general version of the application under the control of the processor (210).

[0083] In one embodiment, the memory (220) may delete the beta version of the application and information about the beta test when the beta test is terminated under the control of the processor (210).

[0084] The communication unit (230) may include one or more modules that enable wireless communication between the server (100) and the network where the electronic device (200) is located. The communication unit (230) may transmit and receive data or signals to and from the server (100) via a wired or wireless network. Hereinafter, any content that overlaps with the communication unit (130) of the server (100) will be omitted.

[0085] In one embodiment of the present disclosure, the communication unit (230) may transmit input information including an input code obtained from a user through the user interface (250) to the server (100) under the control of the processor (210). If the authentication procedure for the beta test is successful, the communication unit (230) may receive the beta version of the application from the server (100) under the control of the processor (210). If the installation of the beta version of the application is completed in the electronic device (200), the communication unit (230) may transmit an indicator to the server (100) indicating that the installation of the beta version is completed under the control of the processor (210). In one embodiment, if the electronic device (200) terminates the beta test on its own, the communication unit (230) may transmit a request to the server (100) to delete the beta version under the control of the processor (210).

[0086] The sensor (240) can detect the user's voice, user's movement, user's image, and user's interaction. The sensor (240) can include one or more sensors. For example, the sensor (240) can include a distance sensor, an image sensor, an illuminance sensor, a gyro sensor, etc. The distance sensor can include a sensor for measuring the distance between the electronic device (200) and the user, such as an ultrasonic sensor, an infrared radiation (IR) sensor, or a time of flight (ToF) sensor. The image sensor can include a camera and can acquire the user's movement or the user's image.

[0087] The sensor (240) may not be built into the electronic device (200), but may be implemented as a camera of a terminal connected to the electronic device (200), a camera connected via USB, a sensor, a peripheral IoT (Internet of Things) device, etc.

[0088] The user interface (250) may include an input interface and / or an output interface. The user interface (250) may receive a user's input under the control of the processor (210). The user interface (250) may include at least one of a key pad, a dome switch, a touch panel (contact capacitance type, pressure resistive film type, infrared detection type, surface ultrasonic conduction type, integral tension measurement type, piezo effect type, etc.), a jog wheel, and a jog switch as an input interface, but is not limited thereto. The user interface (250) may also include a microphone. The microphone may receive an acoustic signal from an external device or a speaker (a user of the electronic device (200)). The microphone may receive an acoustic signal and convert it into audio data. The microphone may be built into the electronic device (200) or may be separately provided in a remote control.

[0089] The user interface (250) can output images, sounds, and data processed in the electronic device (200) under the control of the processor (210). The user interface (250) can include a display as an output interface.

[0090] The user interface (250) may include a display (e.g., a TV, a monitor, etc.) that outputs content received from an external device on a screen. The display may be provided on a display device separate from the electronic device (200). The separate display device may refer to a device capable of processing images, such as a TV or monitor, and may be connected to the electronic device (200) via a wired or wireless connection through the communication unit (1520) of the electronic device (200).

[0091] In one embodiment of the present disclosure, the user interface (250) may receive an input code for beta testing from a user under the control of the processor (210). The user interface (250) may receive an input signal for terminating the beta testing from the user under the control of the processor (210).

[0092] FIG. 3 is a flowchart illustrating an operation of a server providing a beta version of an application according to one embodiment.

[0093] Referring to FIG. 3, the server (100) can provide a beta version of the application to the electronic device (200) through an authentication procedure.

[0094] In step S310, the server (100) may obtain multiple activation codes based on information regarding the beta testing of the application. The beta testing of an application may refer to a test conducted before or after commercialization of the application to the general public to supplement the application, and may refer to a procedure for evaluating defects, inconveniences, and value upon commercialization of the beta version to be tested through feedback. The activation code may refer to a code issued for authentication to install the beta version of the application. In one embodiment, the activation code may be composed of multiple numbers, multiple letters, or a combination thereof.

[0095] In one embodiment, the server (100) may obtain information regarding a beta test of an application from an external device (300). An external user operating the external device (300) may refer to a client who wishes to perform a beta test of the application, and may include a developer of the application, a service provider for the application, etc. In one embodiment, the information regarding the beta test may include a period for which the beta test is to be performed. The information regarding the beta test may include information regarding a target group for the beta test. The information regarding the beta test may include, but is not limited to, at least one of model information of an electronic device subject to the beta test, firmware information of an electronic device subject to the beta test, information regarding the target scale of the beta test, application version information, or country information. In one embodiment, the information regarding the beta test may include information regarding a target group to which a beta version of the application will be automatically distributed.

[0096] In one embodiment, the server (100) can obtain information regarding multiple beta tests. When conducting multiple beta tests for a single application, the server (100) can obtain information regarding each beta test. When conducting beta tests for multiple applications, the server (100) can obtain information regarding the beta tests for each application.

[0097] In one embodiment, when information regarding a beta test is updated, the server (100) may obtain updated information regarding the beta test from an external device (300). The operation of obtaining the updated information will be described in detail below in FIG. 7.

[0098] In one embodiment, the server (100) may determine the number of activation codes to generate based on information regarding the target size of the beta test included in the information regarding the beta test. In one embodiment, the server (100) may provide the plurality of generated activation codes to the external device (300).

[0099] In one embodiment, the server (100) can generate activation codes for multiple beta tests. The server (100) can include an identifier for identifying the beta test in the activation codes to distinguish the activation codes for each beta test. In one embodiment, the activation codes can include an identifier for the beta test in a prefix or suffix. For example, the server can set the activation code for beta test a for application A to have a prefix of '11', and the activation code for beta test b to have a prefix of '90'.

[0100] In one embodiment, the server (100) may store activation code status information along with the activation code. The activation code status information may indicate whether the activation code has been used. For example, if a specific activation code has already been used by another electronic device or has been forcibly deactivated or expired due to updates to beta testing information, the server (100) may store the activation code's status, including whether it has been used or is in a deactivated state. If the activation code has not yet been used, the server (100) may store the pre-use status or the activated status.

[0101] In step S320, the server (100) may perform authentication based on a plurality of activation codes and information regarding the beta test to determine whether the input information including the input code for the beta test received from the electronic device (200) is valid for the beta test. The input code for the beta test is a code that the user inputs to activate the beta test of the application. If there is a corresponding code among the plurality of activation codes for the beta test, installation of the beta version of the application may be permitted.

[0102] In one embodiment, the electronic device (200) may receive an input code for beta testing from a user. The server (100) may receive input information from the electronic device (200) including the input code received by the electronic device (200) from the user. In one embodiment, the input information may include, but is not limited to, at least one of model information of the electronic device, firmware information of the electronic device, information corresponding to whether an application is installed on the electronic device, version information of an application installed on the electronic device, or country information of the electronic device.

[0103] In one embodiment, authentication corresponding to whether the input information is valid for beta testing may include authentication as to whether the input code is a valid code issued by the server (100), authentication as to whether the validity period for performing the beta test is within the validity period, and authentication as to whether the input information matches information regarding the beta test.

[0104] In one embodiment, the server (9100) may perform authentication based on the activation code and the input code included in the input information to determine whether the input code is a valid code issued by the server (100). The server (100) may perform authentication based on the time at which the input information (300) was acquired from the electronic device (200) to determine whether it is within a valid period set by the external device (300) for performing the corresponding beta test. The server (100) may perform authentication by determining whether information included in the input information (e.g., model information of the electronic device, firmware information of the electronic device, version information of an application installed on the electronic device, country information of the electronic device, etc.) and information included in the information regarding the beta test (e.g., model information of the electronic device to be tested, firmware information of the electronic device to be tested, burner information of the application, country information, etc.) match.

[0105] In step S330, the server (100) may provide the electronic device (200) with a beta version of the application for beta testing based on the authentication results obtained. The beta version may refer to an application version distributed to users for beta testing and may be managed separately from the general version of the application. In one embodiment, the beta version of the application may refer to a beta version package of the application.

[0106] In one embodiment, the server (100) may provide a beta version of an application to the electronic device (200) based on an application programming interface (API) call received from the electronic device (200) to install a beta version of the application.

[0107] In one embodiment, if the input information is valid for beta testing as a result of performing authentication, the server (100) may provide information regarding the beta test to the electronic device (200). The electronic device (200) may store the provided information regarding the beta test in a secure storage and use it when installing, updating, or deleting a beta version or a regular version of the application. In one embodiment, if the input information is valid for beta testing, the server (100) may provide a file so that the electronic device (200) can download information regarding the beta test. The server (100) may grant the electronic device (200) permission to download information regarding the beta test.

[0108] In one embodiment, if the server (100) performs authentication and the input information is found to be invalid for the beta test, the server (100) may provide the electronic device (200) with an instruction indicating that the beta test cannot be performed. For example, if the input information is invalid for the beta test, the input code does not match any of a plurality of activation codes for the beta test, the input code matches an activation code that has already expired, the beta test is not within the valid period, the information included in the input information (e.g., model information of the electronic device, firmware information of the electronic device, version information of an application installed on the electronic device, country information, etc.) does not match information regarding the beta test (e.g., model information of the electronic device subject to the beta test, firmware information of the electronic device subject to the beta test, information regarding the target scale of the beta test, version information of an application, country information, etc.), but is not limited thereto.

[0109] In one embodiment, the server (100) may automatically distribute a beta version of an application to electronic devices targeted for beta testing based on information about the beta test. If the information about the beta test includes automatic distribution information, the server (100) may provide the beta version of the application to the targeted electronic devices without a separate authentication procedure.

[0110] Below, the operation after the installation of the beta version of the application is completed is shown in FIG. 6 and FIG. 9, the operation when information about the beta version is updated is shown in FIG. 7, FIG. 8a, FIG. 8b, and FIG. 10, and the operation after the beta test is finished is shown in FIG. 11 and FIG. 12.

[0111] FIG. 4 is a diagram illustrating the overall flow of a server performing a beta test according to one embodiment of the present disclosure.

[0112] Referring to FIG. 4, the beta testing procedure of an application may include a beta test creation step, a beta test approval step, a beta test waiting step, a beta test execution step, and a beta test termination step.

[0113] An external device (300) can create (410) a beta test of an application. After the beta test is created, the external device (300) can provide information about the beta test to the server (100).

[0114] The beta test approval step (415) is a step in which the server (100) approves the beta test based on information about the beta test received from the external device (300), and may mean a state in which an activation code for the beta test has not been issued. In the beta test approval step, the server (100) can change all information about the beta test (e.g., beta test version, beta test target information, beta test scale information, beta test period, number of activation codes, identifier for beta test identification, etc.). After the beta test approval, the server (100) can generate multiple activation codes for the beta test based on the information about the beta test.

[0115] The beta test waiting stage (420) may refer to the stage before activation codes for beta testing are generated and beta testers are recruited. In the beta test waiting stage (420), as activation codes are generated, the server (100) may be restricted from changing information related to the beta test. In one embodiment, the server (100) may change the beta test to a higher version, update target information, change the beta test period, adjust the number of activation codes, etc.

[0116] The server (100) can recruit (425) beta testers who will be the subjects of the beta test. The server (100) can recruit (425) beta testers based on the beta test target group information included in the information regarding the beta test. The server (100) can distribute (440) an activation code for the beta test to the recruited beta testers.

[0117] The server (100) may perform an authentication procedure (445) based on input information including an input code obtained from an electronic device. In one embodiment, the input information may include at least one of model information of the electronic device, firmware information of the electronic device, information on whether an application is installed on the electronic device, version information of an application installed on the electronic device, or country information of the electronic device, but is not limited thereto. In one embodiment, authentication corresponding to whether the input code included in the input information is valid code issued by the server (100), authentication regarding whether the validity period for performing the corresponding beta test is within the validity period, and authentication regarding whether the input information matches information regarding the beta test.

[0118] If the authentication is successful, the server (100) can provide the beta version of the application to the electronic device (200), and the electronic device (200) can install (450) the beta version of the application. The electronic device (200) can perform a beta test (455) upon completing the installation of the beta version of the application. The beta test performing step may refer to a step of using the beta version after the installation of the application for beta testing is completed on the electronic device (200). In the beta test performing step (455), the server (100) may have restrictions on changing information regarding the beta test. In one embodiment, the server (100) may change the beta test to a higher version, add target information, change the end period of the beta test, increase the number of activation codes, etc.

[0119] The end of the beta test (460) step may mean that the beta test is terminated by an electronic device (200) or an external device (300) or that the beta test has ended due to the expiration of the beta test period. In the end of the beta test step, information about the beta test cannot be changed because feedback information about the beta test has already been collected.

[0120] Upon completion of the beta test (460), the server (100) can obtain feedback (465) on the results of the beta test. The server (100) can provide the feedback (465) on the results of the beta test to an external device (300) to perform an evaluation of the beta test.

[0121] FIG. 5 is a diagram illustrating information transmitted and received to provide a beta version of an application according to one embodiment of the present disclosure.

[0122] Referring to FIG. 5, information transmitted and received between a server (100), an electronic device (200), and an external device (300) to provide a beta version of an application is illustrated.

[0123] An external device (300) may create a beta test (510) by setting target information for the beta test to perform a beta test of an application. When creating a beta test, the external device (300) may provide the server (100) with information including a beta version of the application and information regarding the beta test. In one embodiment, the information regarding the beta test may include information regarding the target group for the beta test. The information regarding the beta test may include, but is not limited to, at least one of model information of the electronic device for the beta test, firmware information of the electronic device for the beta test, information regarding the target scale of the beta test, version information of the application, or country information. In one embodiment, the information regarding the beta test may include information regarding the period for which the beta test is performed. In one embodiment, the information regarding the beta test may include information regarding the target group to which the beta version of the application will be automatically distributed.

[0124] In one embodiment, the external device (300) can create multiple beta tests for a single application. The external device (300) can create beta tests for multiple applications. For example, the external device (300) can create beta tests 1 (530a) and 2 (530b) for application 1 (520a) and provide them to the server (100). The external device (300) can provide the beta tests for application 1 (520a) and the beta tests for application 2 (520b) to the server (100).

[0125] The server (100) may store the information received for each application and each beta test based on the information regarding the beta test received from the external device (300). The server (100) may generate multiple activation codes based on the information regarding the beta test received for each beta test. To identify the multiple beta tests, the activation codes may include an identifier for identifying the beta test. The server (100) may store an activation code list including the multiple activation codes together with the information stored for each beta test. In one embodiment, the activation code list may include status information for each activation code along with the multiple activation codes.

[0126] The electronic device (200) may provide input information (540) including an input code received from a user to the server (100). In one embodiment, the input information may include, but is not limited to, at least one of model information of the electronic device, firmware information of the electronic device, information corresponding to whether an application is installed on the electronic device, version information of an application installed on the electronic device, or country information of the electronic device.

[0127] The server (100) may perform an authentication procedure based on input information, an activation code, and information regarding the beta test received from the electronic device (200). In one embodiment, the authentication procedure may include an authentication procedure to determine whether the input code included in the input information is a valid code issued by the server (100), an authentication procedure to determine whether the input code is within a valid period for performing the beta test, and an authentication procedure to determine whether the input information matches the information regarding the beta test.

[0128] If the authentication procedure is successful, the server (100) may provide information regarding the beta test to the electronic device. In one embodiment, the server (100) may provide a file from which information regarding the beta test can be downloaded and grant download permission to the electronic device (200). If the authentication procedure is successful, the server (100) may provide (550) a beta version of the application to the electronic device (200). The electronic device (200) may install the beta version of the application received from the server (100) and perform beta testing.

[0129] In one embodiment, an external device (300) can update information regarding a beta test. The external device (300) can provide the updated information regarding the beta test to the server (100). Based on the received updated information regarding the beta test, the server (100) can update application information and beta test information. Based on the updated information regarding the beta test, the server (100) can reduce or expand the scale of the beta test. Specific operations are described below with reference to FIGS. 7 to 8b and FIG. 10 .

[0130] In one embodiment, when the beta test is terminated by the electronic device (200), the electronic device (200) can delete information related to the beta test and delete the beta version of the application. If a regular version of the application exists, the electronic device (200) can perform a rollback to the regular version of the application. For specific operations, refer to FIG. 11 below.

[0131] In one embodiment, when the beta test is terminated by the external device (300), the external device (300) can delete information about the beta test and instruct the server (100) to terminate the beta test. Based on the instruction to terminate the beta test, the server (100) can delete information about the beta test and instruct the electronic device (200) to terminate the beta test. The electronic device (200) can delete information about the beta test and delete the beta version of the application. If a general version of the application exists, the electronic device (200) can perform a rollback to the general version of the application. For specific operations, refer to FIG. 12 below.

[0132] FIG. 6 is a flowchart illustrating operations after provision of a beta version of an application according to one embodiment of the present disclosure is completed.

[0133] Referring to FIG. 6, the server (100) can deactivate the activation code when the installation of the beta version of the application is completed. The following is a description of the operation of the server (100) after step S340 of FIG. 3.

[0134] In step S610, the server (100) may receive information corresponding to the completion of installation of the beta version of the application from the electronic device. The electronic device (200) may perform installation of the beta version of the application received from the server (100).

[0135] In one embodiment, the electronic device (200) may update the regular version of an application to a beta version if the application has an installation history. In one embodiment, the electronic device (200) may install the beta version of an application separately from the regular version if the application has an installation history. In one embodiment, the electronic device (200) may install only the beta version of an application if the application has no installation history.

[0136] The electronic device (200) may generate information indicating that the installation of a beta version of an application has been completed. The information indicating that the installation of the beta version has been completed may include an indicator. For example, if the installation of the beta version has been completed, it may be indicated as '0' (or '1'), and if the installation of the beta version has failed or been interrupted and is not completed, it may be indicated as '1' (or '0').

[0137] The server (100) may receive information from the electronic device (200) that installation of the beta version of the application has been completed, and the information may include information about the input code of the electronic device (200).

[0138] In one embodiment, the server (100) may receive information indicating that the installation of a beta version of an application from an electronic device (200) has failed. For example, the electronic device may fail to install the beta version of the application due to insufficient resources, unstable connection with the server, or other reasons. If the server (100) receives information regarding an installation failure from some electronic devices, it may not update application information.

[0139] In step S620, the server (100) may deactivate an activation code corresponding to the input code among multiple activation codes based on information corresponding to the completion of the installation of the beta version of the application. Deactivating an activation code may mean expiring the activation code or switching it to a used state. In one embodiment, deactivating an activation code may mean switching the status information of the activation code to a used state or a disabled state.

[0140] In one embodiment, the server (100) may deactivate an activation code corresponding to an input code included in information corresponding to the completion of installation of the beta version. In one embodiment, the server (100) may deactivate an activation code corresponding to an input code included in input information received from the electronic device (200) in step S330. In one embodiment, the server (100) may update status information of the activation code according to the deactivation of the activation code. In one embodiment, the server (100) may transmit updated activation information to the external device (300) according to the deactivation of a specific activation code. In one embodiment, the server (100) may update an activation code list according to the deactivation of a specific activation code. The server (100) may transmit the updated activation code list to the external device (300). In one embodiment, the server (100) may update application information including information regarding the beta test and a list of activation codes.

[0141] FIG. 7 is a flowchart illustrating an operation when information regarding a beta test is updated according to one embodiment of the present disclosure.

[0142] Referring to FIG. 7, an external device may request changes to the purpose, target, or scale of the beta test of the application.

[0143] In step S710, the server (100) may obtain updated information regarding beta testing. The server (100) may obtain information regarding beta testing of an updated application from an external device (300). The server (100) has limitations regarding the information regarding beta testing that can be changed depending on the beta testing execution stage. For a detailed description, see FIG. 14.

[0144] In one embodiment, the update information regarding the beta test may include, but is not limited to, at least one of model information of the electronic device subject to the beta test, firmware information of the electronic device subject to the beta test, information regarding the target scale of the beta test, version information of the application, or country information.

[0145] In one embodiment, the external device (300) may generate update information for each beta test for multiple beta tests for a single application. The external device (300) may provide the server (100) with update information for each beta test. In one embodiment, the update information for each beta test may include information that identifies the beta test.

[0146] The server (100) may update information about the beta test based on the update information about the beta test acquired from the external device (300). In one embodiment, the update information about the beta test may include only information that is different from the information about the existing beta test. For example, if the model information of the electronic device that is the target of the beta test and the information about the target scale of the beta test have changed, the update information about the beta test may include only information about the model information and the target scale. Accordingly, the server (100) may update only the information about the model information and the target scale from the existing beta test information. In one embodiment, the update information about the beta test may include all information included in the information about the beta test as well as information that is different from the information about the existing beta test. For example, the update information about the beta test may include not only information about the model information and the target scale of the beta test that are different from the existing update information, but also firmware information about the electronic device that is the target of the beta test, application version information, and country information. Accordingly, the server (100) can replace information about the existing beta test with updated information about the beta test.

[0147] In step S720, the server (100) may adjust the number of activation codes based on the update information. Based on the update information, the server (100) may generate additional activation codes or deactivate some of the activation codes among the plurality of activation codes.

[0148] In one embodiment, if the information regarding the beta test includes information corresponding to an expansion of the target size of the beta test, the server (100) may generate an additional activation code based on the information regarding the target size of the beta test included in the updated information regarding the beta test. The server (100) may transmit the additionally generated activation code to an external user. The external device (300) may distribute the additional activation code to multiple users. The external device (300) may distribute the additional activation code to the target group included in the information regarding the beta test.

[0149] In one embodiment, if the information regarding the beta test includes information corresponding to a reduction in the target size of the beta test, the server (100) may deactivate some of the activation codes among the plurality of activation codes based on the information regarding the target size of the beta test included in the updated information regarding the beta test. The server (100) may provide an updated list of activation codes to the external device (300) as some of the activation codes among the plurality of activation codes are deactivated. In one embodiment, the external device (300) may transmit information indicating that the beta version cannot be used by users who have been distributed with some of the deactivated activation codes.

[0150] Below, specific examples are provided with reference to FIGS. 8a and 8b.

[0151] FIG. 8A is a diagram for explaining an operation when information for reducing the beta test scale is included in update information according to one embodiment of the present disclosure.

[0152] Referring to FIG. 8a, based on update information (810) provided by an external device (300), the server (100) can adjust the number of activation codes and provide information (830) regarding the activation codes to the external device (300).

[0153] The external device (300) can update information about the beta test to change the purpose, target, or scale of the beta test of the application. The external device (300) can provide update information (810) about the beta test to the server (100). In one embodiment, the update information about the beta test may include, but is not limited to, at least one of model information of the electronic device subject to the beta test, firmware information of the electronic device subject to the beta test, information about the scale of the beta test, version information of the application, or country information.

[0154] In one embodiment, multiple activation codes for beta testing may include an identifier to identify the beta test. The prefix or suffix of the activation code may include numbers or letters that identify the beta test. For example, the server (100) may generate multiple activation codes with a prefix of '12' to identify a beta test for application A.

[0155] In one embodiment, if the update information (810) regarding the beta test includes information corresponding to a reduction in the target size of the beta test, the server (100) may deactivate some of the activation codes (820a) among the plurality of activation codes based on the information regarding the target size of the beta test included in the update information regarding the beta test. For example, if the information regarding the target size of the beta test includes information to reduce the size by 100, the server (100) may deactivate 100 activation codes among the plurality of activation codes. In one embodiment, the server (100) may update the status information of the activation codes as it deactivates some of the activation codes. In one embodiment, the server (100) may update the activation code list as it deactivates some of the activation codes.

[0156] The server (100) may provide information (830) regarding the updated activation code to the external device (300). In one embodiment, the information regarding the activation code may include a plurality of activation codes and status information regarding each activation code. In one embodiment, the information regarding the activation code may include a list of activation codes. Based on the information regarding the activation code received from the server (100), the external device (300) may provide information indicating to a user who has been distributed with a deactivated activation code that the beta version of the application cannot be used.

[0157] FIG. 8b is a diagram for explaining an operation when information for expanding a beta test scale is included in update information according to one embodiment of the present disclosure.

[0158] Referring to FIG. 8b, based on the update information (810) provided by the external device (300), the server (100) can adjust the number of activation codes and provide information (830) regarding the activation codes to the external device (300). For the sake of brevity of the description, any content overlapping with FIG. 8a is omitted.

[0159] In one embodiment, if the update information (810) regarding the beta test includes information corresponding to an expansion of the target scale of the beta test, the server (100) may generate additional activation codes (820b) based on the information regarding the target scale of the beta test included in the update information regarding the beta test. For example, if the information regarding the target scale of the beta test includes information to expand the scale by 100, the server (100) may generate 100 additional activation codes. In one embodiment, the server (100) may update the status information of the activation codes as it generates the additional activation codes. In one embodiment, the server (100) may update the activation code list as it generates the additional activation codes.

[0160] The server (100) may provide information (830) regarding update activation codes to the external device (300). In one embodiment, the information regarding the activation codes may include multiple activation codes and status information regarding each activation code. In one embodiment, the information regarding the activation codes may include a list of activation codes. Based on the information regarding the activation codes received from the server (100), the external device (300) may further distribute the activation codes to users who are subject to beta testing.

[0161] FIG. 9 is a diagram illustrating subject-specific operations for providing a beta version of an application according to one embodiment of the present disclosure.

[0162] Referring to FIG. 9, the server (100) can transmit and receive information about an external device (300) and an electronic device (200) to provide a beta version of an application to the electronic device (200). Hereinafter, for the sake of a brief description of the specification, any content overlapping with FIG. 3 and FIG. 6 will be omitted.

[0163] An external device (300) can create a beta test of an application (S905). In one embodiment, the external device (300) can create multiple beta tests for a single application, and can create multiple beta tests for multiple applications. The following operations relate to a single beta test.

[0164] An external device (300) may provide information about a beta test to the server (100) (S910). In one embodiment, the information about the beta test may include information about the target group for the beta test. The information about the beta test may include, but is not limited to, at least one of model information of the electronic device subject to the beta test, firmware information of the electronic device subject to the beta test, information about the target scale of the beta test, application version information, or country information. The information about the beta test may include information about the period during which the beta test is performed. In one embodiment, the information about the beta test may include information about the target group to which the beta version of the application will be automatically distributed.

[0165] The server (100) may generate a plurality of activation codes (S915) based on the acquired information about the beta test. The server (100) may generate a number of activation codes corresponding to the information about the target scale of the beta test included in the information about the beta test. In one embodiment, the plurality of activation codes may include an identifier that can identify the beta test. The server (100) may store the plurality of activation codes together with status information about each activation code. In one embodiment, the server (100) may generate an activation code list including the plurality of activation codes together with status information about each activation code.

[0166] The server (100) may transmit an activation code to an external device (300) (S920). In one embodiment, the server (100) may provide the external device (300) with a plurality of activation codes and status information for each activation code, or may provide a list of activation codes.

[0167] The external device (300) can distribute the acquired multiple activation codes to multiple users (S925). The external device (300) can distribute the activation codes to a target group included in the information regarding the beta test.

[0168] The electronic device (200) may obtain input information from the user (S930). The electronic device (200) may obtain input information including an input code from the user to install a beta version of an application. In one embodiment, the input information may include, but is not limited to, at least one of model information of the electronic device, firmware information of the electronic device, information corresponding to whether an application is installed on the electronic device, version information of an application installed on the electronic device, or country information of the electronic device.

[0169] The electronic device (200) may provide input information to the server (100) (S935). The server (100) may perform an authentication procedure based on the acquired input information to determine whether the information is valid for beta testing (S940). In one embodiment, the server may perform an authentication procedure based on the input information, the activation code, and the information regarding the beta test to determine whether the input information is valid for beta testing. In one embodiment, the authentication procedure may include an authentication procedure to determine whether the input code included in the input information is a valid code issued by the server (100), an authentication procedure to determine whether the input information is valid for a period of time for performing the beta test, and an authentication procedure to determine whether the input information matches the information regarding the beta test.

[0170] If the authentication procedure is successful, the server (100) can provide information about the beta test to the electronic device (200) (S945). The server (100) can provide information about the beta test obtained from an external device to the electronic device (200). The electronic device (200) can store the received information about the beta test in a secure storage (400) (S950). In one embodiment, the server (100) can provide a file from which information about the beta test can be downloaded and grant the electronic device (200) download permission. The electronic device (100) can use the stored information about the beta test when installing, deleting, or updating a beta version or a general version of an application.

[0171] The electronic device (200) can request the application server (100) to install a beta version of the application (S955). The electronic device (200) can call a beta version installation API to install the beta version of the application.

[0172] The server (100) can provide the electronic device (200) with a beta version of the application based on an API call to install the beta version of the application received from the electronic device (200) (S960). The electronic device (200) can perform installation of the beta version of the application obtained from the server (100) to complete the beta installation (S965).

[0173] When the installation of the beta version of the application is completed, the electronic device (200) may transmit information corresponding to the completion of the installation of the beta version to the server (100) (S970). Based on the information corresponding to the completion of the installation of the beta version received from the electronic device (200), the server (100) may deactivate an activation code corresponding to the input code of the electronic device among a plurality of activation codes. In one embodiment, the server (100) may update the status information of the activation code by deactivating the activation code corresponding to the input code.

[0174] In one embodiment, if the electronic device (200) fails to install a beta version of an application, it may transmit information indicating this to the server (100). For example, the electronic device may fail to install the beta version of the application due to insufficient resources, unstable connection with the server, or other reasons. If the server (100) receives information regarding an installation failure from the electronic device (200), it may not update the application information.

[0175] The server (100) may provide activation code update information to the external device (300) (S980). The server (100) may provide the external device (300) with a plurality of activation codes and status information for each updated activation code. In one embodiment, the server (100) may provide the external device (300) with an updated activation code list including a plurality of activation codes and status information for each activation code.

[0176] FIG. 10 is a diagram for explaining subject-specific operations when information regarding a beta test according to one embodiment of the present disclosure is updated.

[0177] Referring to FIG. 10, the operation of the server (100), the electronic device (200), and the external device (300) is described as the external device (300) updates information regarding the beta test. Hereinafter, for the sake of a brief description of the specification, any content overlapping with FIG. 7, FIG. 8a, and FIG. 8b is omitted.

[0178] An external device (300) may provide update information regarding beta testing of an application to the server (100) (S1010). The external device (300) may update the purpose, target, or scale of the beta testing of the application. In one embodiment, the update information regarding the beta testing may include, but is not limited to, at least one of model information of an electronic device subject to beta testing, firmware information of an electronic device subject to beta testing, information regarding the scale of the beta testing, application version information, or country information.

[0179] The electronic device (200) can load (S1020) information about beta testing stored in the secure storage (400) to obtain an updated version of an app from the server (100). The information about the beta testing is information that the server (100) received from the external device (300). The electronic device (200) can request (S1030) an app list from the server (100) along with the loaded beta testing information. The server (100) can request the app list from the external device (300) to determine whether an updated version exists and, if so, to update to the latest version.

[0180] The server (100) may provide a response with a list of apps that can be installed on the electronic device (200) based on the app list request received from the electronic device (200) (S1040). When providing the app list response, the server (100) may determine whether it can provide update information on the beta test received from the external device (300) based on the information on the beta test received from the electronic device (200). When the server (100) receives update information on the beta version of the application, it may compare the information with the information on the beta test obtained from the electronic device (200) to determine whether it can provide the update information to the electronic device (200). For example, the server (100) may determine whether information on the target group included in the update information matches information on the target group included in the information on the beta test obtained from the electronic device (200). If the server (100) determines that it can provide update information, it can provide an app list response including update information to the electronic device (200).

[0181] FIG. 11 is a diagram for explaining subject-specific operations when a beta test is terminated by an electronic device according to one embodiment of the present disclosure.

[0182] Referring to FIG. 11, the operation between the server (100) and the electronic device (200) is handled as the electronic device (200) ends the beta test.

[0183] The electronic device (200) may receive an input signal from a user to terminate a beta test. Based on the signal for terminating the beta test received from the user, the electronic device (200) may perform a step for terminating the beta test of the application (S1110). If information regarding the beta test is stored in the secure storage (400), the electronic device (200) may allow the termination of the beta test (S1120).

[0184] The electronic device (200) may call an Application Programming Interface (API) to the server (100) to delete the beta version of the application to terminate the beta test (S1130). The server (100) may, based on the API call, retrieve information about the application (S1140). The server (100) may retrieve information about the beta version of the application. The server (100) may retrieve information about whether a general version of the application is installed on the electronic device (200) (S1150).

[0185] In one embodiment, if the server (100) determines that the general version of the application is installed on the electronic device (200) based on the application information query result, the server (100) may call an API (S1160) to roll back the application from the beta version to the general version. The electronic device (200) may perform a rollback to the general version of the application based on the rollback API call. As the electronic device (200) rolls back to the general version of the application, the electronic device (200) may remove the beta version information of the application from the secure storage (400) (S1180).

[0186] In one embodiment, if the server (100) determines that the general version of the application is not installed on the electronic device (200) based on the information search result for the application, the server (100) may call an API for deleting the beta version of the application (S1170). In response to the API call for deleting the beta version of the application, the electronic device (200) may remove the beta version information of the application from the secure storage (400) (S1180).

[0187] FIG. 12 is a diagram for explaining subject-specific operations when a beta test is terminated by an external device according to one embodiment of the present disclosure.

[0188] Referring to FIG. 12, the operation of the server (100) and the electronic device (200) is dealt with as the external device (300) terminates the beta test.

[0189] The external device (300) may terminate the beta test of the application and delete information related to the beta test (S1210). The external device (300) may terminate the beta test if the feedback related to the beta test satisfies preset requirements or if the beta test becomes unnecessary. The external device (300) may instruct the server (100) to terminate the beta test (S1220).

[0190] The server (100) can delete information about the beta test and update application information (S1230) in response to a beta test termination instruction from an external device (300). The server (100) can delete information about the beta test for which a termination instruction has been received. The server (100) can update application information by deleting information about the beta test. Based on the updated application information, the server (100) can inquire about information about whether a general version of the application is installed on the electronic device (200) (S1240).

[0191] In one embodiment, if the server (100) determines that the general version of the application is installed on the electronic device (200) based on the application information query result, the server (100) may call an API (S1160) to roll back the application from the beta version to the general version. The electronic device (200) may perform a rollback to the general version of the application based on the rollback API call. As the electronic device (200) rolls back to the general version of the application, the electronic device (200) may remove the beta version information of the application from the secure storage (400) (S1180).

[0192] In one embodiment, if the server (100) determines that the general version of the application is not installed on the electronic device (200) based on the information search result for the application, the server (100) may call an API for deleting the beta version of the application (S1170). In response to the API call for deleting the beta version of the application, the electronic device (200) may remove the beta version information of the application from the secure storage (400) (S1180).

[0193] FIG. 13 is an example diagram for entering an input code for installing a beta version according to one embodiment of the present disclosure.

[0194] Referring to FIG. 13, the electronic device (200) can receive an input code from a user through a user interface and perform beta version installation.

[0195] The electronic device (200) may provide an input window (1310) through which a user can input an input code via a user interface. The electronic device (200) may obtain the input code from the user via the input window (1310).

[0196] An electronic device (200) may provide input information including an input code to a server (100). The input information may include, but is not limited to, at least one of the input code, model information of the electronic device, firmware information of the electronic device, information corresponding to whether an application is installed on the electronic device, version information of an application installed on the electronic device, or country information of the electronic device.

[0197] The server (100) may perform authentication corresponding to whether the input information received from the electronic device (200) is valid for beta testing of the application. In one embodiment, authentication corresponding to whether the input information is valid for beta testing may include authentication regarding whether the input code included in the input information is a valid code issued by the server (100), authentication regarding whether the input information is valid for a period of time for performing the beta test, and authentication regarding whether the input information matches information regarding the beta test.

[0198] If the authentication process is successful, the server (100) may provide the electronic device (200) with a beta version of the application. While providing the beta version of the application, the server (100) may provide the electronic device (200) with a window (1320) requesting the user's consent to install the beta version of the application. If the electronic device (200) receives a signal regarding the user's consent to install the beta burner, it may perform the installation of the beta version of the application. Operations after the installation of the beta version will be described below with reference to FIGS. 1 to 12.

[0199] FIG. 14 is an exemplary diagram of updatable information according to a beta testing phase according to one embodiment of the present disclosure.

[0200] Referring to FIG. 14, a table (1400) regarding information that can be updated among information regarding beta testing according to the beta testing stage is illustrated.

[0201] The beta test approval stage may mean that an activation code for the beta test has not been issued. During the beta test approval stage, the server (100) can change all information related to the beta test. The server (100) can change the beta test version to a higher or lower version. The server (100) can update the beta test target information during the approval stage. In one embodiment, the server (100) can update the scale information regarding the beta test target to expand or reduce the scale of the target for the beta test. The server (100) can change the period during which the application is to beta tested. In one embodiment, the server (100) can expand or reduce the period during which the application is to beta tested. The server (100) can expand or reduce the number of activation codes as the scale of the beta test target is expanded or reduced. The server (100) can change the identifier for identifying the beta test. For example, the server (100) may change the prefix '10' included in the activation code to '97' to identify a beta test.

[0202] The beta test waiting stage may refer to the stage before activation codes for beta testing are generated and beta testers are recruited. During the beta test waiting stage, the server (100) may change some information regarding the beta test. The server (100) may change the beta test version to a higher version. The server (100) may update beta test target information during the waiting stage. In one embodiment, the server (100) may update the scale information regarding the beta test target to expand or reduce the scale of the target for the beta test. The server (100) may change the period during which the application's beta test is to be performed. In one embodiment, the server (100) may expand or reduce the period during which the application's beta test is to be performed. The server (100) may expand or reduce the number of activation codes as the scale of the beta test target is expanded or reduced. In one embodiment, the server (100) may generate additional activation codes when the scale of the beta test target is expanded. When reducing the target size for a beta test, the server (100) may deactivate some of the multiple activation codes. The server (100) cannot change the identifier used to identify the beta test during the standby phase, as the activation codes have already been issued.

[0203] The beta testing execution phase may refer to a phase of using the beta version after the installation of the beta version of the application for beta testing is completed on the electronic device (200). During the beta testing execution phase, the server (100) may partially change information regarding the beta test. The server (100) may change the beta test version to a higher version. The server (100) may add beta test target information during the waiting phase. In one embodiment, the server (100) may expand the target size of the beta test by adding information regarding the target size of the beta test. The server (100) may extend the period during which the beta test of the application is to be performed. In one embodiment, the server (100) may only change the end date during the period during which the beta test of the application is to be performed. The server (100) may increase the number of activation codes as the target size of the beta test is increased. In one embodiment, when the target size of the beta test is increased, the server (100) may generate additional activation codes. The server (100) cannot change the identifier for identifying the beta test as the activation code has already been issued during the execution phase.

[0204] The beta test termination stage may mean that the beta test has ended due to the electronic device (200) or external device (300) or the beta test period expiring. In the beta test termination stage, information about the beta test cannot be changed because feedback information about the beta test has already been collected.

[0205] Fig. 15 is a detailed block diagram of an electronic device according to one embodiment.

[0206] The electronic device (1500) of FIG. 15 may be an example of the electronic device (200) of FIG. 2.

[0207] Referring to FIG. 15, an electronic device (1500) may include a processor (1501) and a memory (1502). The processor (1501) and the memory (1502) included in the electronic device (1500) may correspond to the processor (210) and the memory (220) included in the electronic device (200) of FIG. 2. In addition, the communication unit (1520) included in the electronic device (1500) may correspond to the communication unit (230) included in the electronic device (200) of FIG. 2, and the sensor (1532) included in the electronic device (1500) may correspond to the sensor (240) of the electronic device (200) of FIG. 2. In addition, the user input unit (1590) included in the electronic device (1500) may be included in the user interface (250) of the electronic device (200) of FIG. 2.

[0208] An electronic device (1500) according to one embodiment may further include, in addition to a processor (1501) and a memory (1502), a tuner unit (1510), a communication unit (1520), a detection unit (1530), an input / output unit (1540), a video processing unit (1550), a display (1560), an audio processing unit (1570), an audio output unit (1580), and a user input unit (1590). However, the electronic device (1500) may be implemented with more components than the illustrated components, or may be implemented with fewer components.

[0209] The tuner unit (1510) can select and tune only the frequency of the channel to be received by the electronic device (2100) from among many radio wave components through amplification, mixing, resonance, etc. of broadcast content received via wire or wireless. The content received through the tuner unit (1510) is decoded and separated into audio, video, and / or additional information. The separated audio, video, and / or additional information can be stored in the memory (1502) under the control of the processor (1501).

[0210] The communication unit (1520) may include one or more modules that enable wired or wireless communication between devices external to the electronic device (1500) (e.g., another electronic device or server). The communication unit (1520) may include at least one of a wireless LAN module (1521), a Bluetooth module (1522), and an Ethernet module (1523) depending on the performance and structure of the electronic device (1500). Each communication module may be implemented in the form of at least one hardware chip.

[0211] The wireless LAN module (1521) can transmit and receive Wi-Fi signals with peripheral devices according to Wi-Fi communication standards. The Bluetooth module (1522) can be a BLE (Bluetooth Low Energy) communication module and can receive BLE signals. The Bluetooth module (1522) can continuously or temporarily scan for BLE signals to detect whether a BLE signal is received.

[0212] The communication unit (1520) may include a plurality of communication units for communicating with the remote control device (500). In one embodiment, the communication unit for communicating with the server (100) and the communication unit for communicating with the remote control device (500) may operate separately. In one embodiment, communication with the server (100) and communication with the remote control device (500) may operate through the same communication unit.

[0213] The detection unit (1530) detects the user's voice, the user's movement, the user's image, and the user's interaction, and may include a microphone (1531), a sensor (1532), and a light receiving unit (1533).

[0214] The microphone (1531) can receive an audio signal including a user's voice or noise, and can convert the received audio signal into an electrical signal and output it to the processor (1501). The microphone (1531) can receive an analog voice signal, and the processor (1501) can digitize the analog signal. The microphone (1531) can be provided in a remote control, a mobile terminal, an AI speaker, and a separate remote control device (500). For example, the mobile terminal can execute an application for remotely controlling the electronic device (1500). The mobile terminal can control the electronic device (1500) or perform a voice recognition function through the application. In this case, the microphone provided in the remote control device (500) can receive an analog voice signal including a user's voice or noise, and can convert the analog voice signal into a digital signal and transmit it to the electronic device (1500). The electronic device (1500) can receive a digital signal from the remote control device (500) using Bluetooth or Wi-Fi, etc., through the communication unit (1530). A separate remote control device (500) can include multiple communication units for transmitting and receiving data with the electronic device (1500).

[0215] The sensor (1532) detects the user's image, or the user's interaction, gesture, and touch, and may include a distance sensor, an image sensor, a gesture sensor, an illuminance sensor, and the like. The distance sensor may include various sensors that detect the distance between the electronic device (1500) and the user, such as an ultrasonic sensor, an IR (Infrared Radiation) sensor, and a TOF (Time Of Flight) sensor. The distance sensor detects the distance from the user and may transmit sensing data to the processor (1501).

[0216] The optical receiver (1533) can receive an optical signal (including a control signal). The optical receiver (1533) can receive an optical signal corresponding to a user input (e.g., touch, press, touch gesture, voice, or motion) from a control device such as a remote control or a mobile phone.

[0217] The input / output unit (1540) can receive video (e.g., dynamic image signal or still image signal), audio (e.g., voice signal or music signal), and additional information from an external device, etc. under the control of the processor (1501). The input / output unit (1540) can include a port for outputting video and audio together, and can include a port for outputting video and audio separately.

[0218] The input / output unit (1540) may include one of an HDMI port (High-Definition Multimedia Interface port, 1541), a component jack (component jack, 1542), a PC port (PC port, 1543), and a USB port (USB port, 1544). The input / output unit (1540) may include a combination of an HDMI port (1541), a component jack (1542), a PC port (1543), and a USB port (1544). In addition, the input / output unit (1540) may include one of a DP (Display Port), a Thunderbolt port, a VGA port, an RGB port, a D-SUB, and a DVI.

[0219] The video processing unit (1550) processes image data to be displayed by the display (1560) and can perform various image processing operations such as decoding, rendering, scaling, noise filtering, frame rate conversion, and resolution conversion on the image data.

[0220] The display (1560) can output content received from a broadcasting station or an external device such as an external server or an external storage medium on the screen. The content may be a media signal, and may include a video signal, an image, a text signal, etc. The display (1560) may be provided in a display device (400) separate from the electronic device (1500). The separate display device (400) may refer to a device capable of processing images, such as a TV or a monitor, and may be connected to the electronic device (1500) through the input / output unit (1540) of the electronic device (1500) or wirelessly connected through the communication unit (1520).

[0221] In one embodiment, the display (1560) may provide a notification pop-up to the user based on viewing sharing information provided from the server (100). The display (1560) may provide the user with content included in the viewing sharing information provided from the server (100) for sharing the viewing experience.

[0222] The audio processing unit (1570) performs processing on audio data. The audio processing unit (1570) can perform various processing such as decoding, amplification, and noise filtering on audio data.

[0223] The audio output unit (1580) can output audio included in content received through the tuner unit (1510) under the control of the processor (1501), audio input through the communication unit (1520) or the input / output unit (1540), and audio stored in the memory (1502). The audio output unit (1580) can include at least one of a speaker (1581), a headphone (1582), or an S / PDIF (Sony / Philips Digital Interface: output terminal) (1583).

[0224] The user input unit (1590) can receive user input for controlling the electronic device (1500). The user input unit (1590) can include various types of user input devices, including, but not limited to, a touch panel that detects a user's touch, a button that receives a user's push operation, a wheel that receives a user's rotation operation, a keyboard, a dome switch, a microphone for voice recognition, a motion detection sensor that senses motion, etc. When a remote control device or other mobile terminal controls the electronic device (1500), such as a remote control device, the user input unit (1590) can receive a control signal received from the remote control device.

[0225] The memory (1502) can store a program for processing and controlling the processor (1501), and can store data input to or output from the electronic device (1500). The memory (1502) can include at least one type of storage medium among a flash memory type, a hard disk type, a multimedia card micro type, a card type memory (e.g., SD or XD memory, etc.), a RAM (Random Access Memory), a SRAM (Static Random Access Memory), a ROM (Read-Only Memory), an EEPROM (Electrically Erasable Programmable Read-Only Memory), a PROM (Programmable Read-Only Memory), a magnetic memory, a magnetic disk, and an optical disk.

[0226] According to one embodiment of the present disclosure, a server includes a memory storing one or more instructions, and one or more processors executing one or more instructions stored in the memory, wherein the one or more processors can obtain a plurality of activation codes based on information regarding beta testing of an application by executing the one or more instructions. The one or more processors can perform authentication corresponding to whether input information including an input code for beta testing received from an electronic device is valid for beta testing based on the plurality of activation codes and the information regarding beta testing. The one or more processors can control the electronic device to provide a beta version of an application for beta testing based on the result of the authentication performed.

[0227] According to one embodiment, information about the beta test may include at least one of model information of an electronic device subject to the beta test, firmware information of the electronic device subject to the beta test, information about the target scale of the beta test, version information of the application, or country information.

[0228] According to one embodiment, the input information may include at least one of model information of the electronic device, firmware information of the electronic device, information corresponding to whether an application is installed on the electronic device, or country information of the electronic device.

[0229] In one embodiment, the plurality of activation codes may include an identifier for identifying the beta test.

[0230] In one embodiment, authentication corresponding to whether the beta test is valid may include authentication as to whether the input code is a valid code issued by the server, authentication as to whether the validity period for performing the beta test is within the validity period, and authentication as to whether the input information matches information regarding the beta test.

[0231] In one embodiment, one or more processors can control information about the beta test to be provided to the electronic device if the input information is valid for the beta test.

[0232] According to one embodiment, one or more processors may control an activation code corresponding to an input code among a plurality of activation codes to be deactivated based on information corresponding to the completion of installation of a beta version of an application received from an electronic device.

[0233] According to one embodiment, one or more processors may obtain update information regarding beta testing. The one or more processors may control the number of activation codes to be adjusted based on the update information.

[0234] According to one embodiment, the update information may include at least one of model information of an electronic device subject to beta testing, firmware information of an electronic device subject to beta testing, information regarding the target scale of the beta testing, version information of an application, or country information.

[0235] In one embodiment, one or more processors may generate additional activation codes based on the update information, if the update information includes information for expanding the target size of the beta test. One or more processors may deactivate some of the activation codes based on the update information, if the update information includes information for reducing the target size of the beta test.

[0236] A beta version of an application according to one embodiment may be updated separately from the regular version of the application.

[0237] An electronic device according to one embodiment of the present disclosure includes a memory storing one or more instructions, and one or more processors executing one or more instructions stored in the memory, wherein the one or more processors transmit input information including an input code for beta testing of an application to a server by executing the one or more instructions. The one or more processors receive information about the beta test from the server if the input information is valid for the beta test based on a plurality of activation codes of the beta test and information about the beta test. The one or more processors receive a beta version of an application for beta testing from the server. The plurality of activation codes are generated based on the information about the beta test.

[0238] A method of operating a server according to one embodiment of the present disclosure may include a step of obtaining a plurality of activation codes based on information regarding beta testing of an application. The method of operating the server may include a step of performing an authentication corresponding to whether input information including an input code for beta testing received from an electronic device is valid for beta testing, based on the plurality of activation codes and the information regarding the beta testing. The method of operating the server may include a step of controlling the electronic device to provide a beta version of an application for beta testing based on the authentication result performed.

[0239] A method of operating an electronic device according to one embodiment of the present disclosure may include a step of transmitting input information including an input code for beta testing of an application to a server. The method of operating the electronic device may include a step of receiving information about the beta test from the server if the input information is valid for the beta test based on a plurality of activation codes for the beta test and information about the beta test. The method of operating the electronic device may include a step of receiving a beta version of an application for beta testing from the server. The plurality of activation codes may be generated based on the information about the beta test.

[0240] A device-readable storage medium may be provided in the form of a non-transitory storage medium. Here, the term "non-transitory storage medium" simply means a tangible device that does not contain signals (e.g., electromagnetic waves). This term does not distinguish between cases where data is permanently stored in the storage medium and cases where data is temporarily stored. For example, a "non-transitory storage medium" may include a buffer in which data is temporarily stored.

[0241] According to one embodiment, the method according to various embodiments disclosed in the present document may be provided as included in a computer program product. The computer program product may be traded as a product between a seller and a buyer. The computer program product may be distributed in the form of a machine-readable storage medium (e.g., compact disc read-only memory (CD-ROM)), or may be distributed online (e.g., downloaded or uploaded) through an application store or directly between two user devices (e.g., smartphones). In the case of online distribution, at least a portion of the computer program product (e.g., a downloadable app) may be temporarily stored or temporarily generated in a machine-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or an intermediary server.

Claims

1. In the server (100), A memory (120) storing one or more instructions; and comprising one or more processors (110) for executing one or more instructions stored in the memory (120); The one or more processors (110) execute the one or more instructions, Based on information about the beta testing of the application, obtain multiple activation codes, Based on the above plurality of activation codes and the information regarding the beta test, authentication is performed corresponding to whether the input information including the input code for the beta test received from the electronic device is valid for the beta test, A server that controls the electronic device to be provided with a beta version of the application for beta testing based on the authentication result performed above.

2. In paragraph 1, The information about the beta test includes at least one of model information of the electronic device that is the subject of the beta test, firmware information of the electronic device that is the subject of the beta test, information about the scale of the beta test, version information of the application, or country information. A server wherein the input information includes at least one of model information of the electronic device, firmware information of the electronic device, information corresponding to whether the application of the electronic device is installed, version information of the application installed on the electronic device, or country information of the electronic device.

3. In either paragraph 1 or paragraph 2, The above multiple activation codes include an identifier for identifying the beta test, the server.

4. In any one of paragraphs 1 to 3, Authentication corresponding to whether the above beta test is valid includes authentication as to whether the input code is a valid code issued by the server, authentication as to whether the validity period for performing the beta test is within the validity period, and authentication as to whether the input information matches the information regarding the beta test.

5. In any one of paragraphs 1 to 4, The one or more processors (110) execute the one or more instructions, A server that controls information about said beta test to be provided to said electronic device if said input information is valid for said beta test.

6. In any one of paragraphs 1 to 5, The one or more processors (110) execute the one or more instructions, A server that controls, based on information corresponding to the completion of installation of the beta version of the application received from the electronic device, an activation code corresponding to the input code among the plurality of activation codes to be deactivated.

7. In any one of paragraphs 1 to 6, The one or more processors (110) execute the one or more instructions, Get updates on the above beta tests, Based on the above update information, the number of the plurality of activation codes is controlled to be adjusted, A server wherein the above update information includes at least one of model information of the electronic device subject to the beta test, firmware information of the electronic device subject to the beta test, information regarding the target scale of the beta test, version information of the application, or country information.

8. In the operating method of the server (100), Step (310) of obtaining multiple activation codes based on information about beta testing of the application; A step (320) of performing authentication corresponding to whether input information including an input code for the beta test received from an electronic device is valid for the beta test based on the plurality of activation codes and the information regarding the beta test; and A method comprising: a step (330) of controlling the electronic device to provide a beta version of the application for beta testing based on the authentication result performed above; 9. In paragraph 8, The information regarding the beta test includes at least one of model information of the electronic device subject to the beta test, firmware information of the electronic device subject to the beta test, information regarding the scale of the beta test, version information of the application, or country information. A method according to claim 1, wherein the input information includes at least one of model information of the electronic device, firmware information of the electronic device, information corresponding to whether the application of the electronic device is installed, version information of the application installed on the electronic device, or country information of the electronic device.

10. In either paragraph 8 or paragraph 9, A method wherein said plurality of activation codes include an identifier for identifying said beta test.

11. In any one of clauses 8 to 10, A method wherein the authentication corresponding to whether the above beta test is valid includes authentication as to whether the input code is a valid code issued by the server, authentication as to whether the validity period for performing the beta test is within the validity period, and authentication as to whether the input information matches the information regarding the beta test.

12. In any one of paragraphs 8 to 11, A method comprising: a step of controlling information about the beta test to be provided to the electronic device if the input information is valid for the beta test; 13. In any one of paragraphs 8 to 12, A method further comprising: a step of controlling an activation code corresponding to the input code among the plurality of activation codes to be deactivated based on information corresponding to the completion of installation of the beta version of the application received from the electronic device; 14. In any one of paragraphs 8 to 13, Step of obtaining update information regarding the above beta test; and A step of controlling the number of the plurality of activation codes to be adjusted based on the above update information is further included; A method wherein the update information includes at least one of model information of the electronic device subject to the beta test, firmware information of the electronic device subject to the beta test, information regarding the target scale of the beta test, version information of the application, or country information.

15. A computer-readable recording medium having recorded thereon a program for executing the method of any one of claims 8 to 14 on a computer.

Citation Information

Patent Citations

  • System for updating firmware of settop-box using TCP / ip

    KR101031215B1

  • Method, system, and computer-readable recording media for updating electronic control unit

    KR1020140132019A

  • Pervasive service providing device-specific updates

    KR1020150119056A

  • System and method for monitoring software

    US20040221170A1

  • Method for securely downloading from distributed download sources

    US20120290842A1