Method and system for identifying the app launch type

TW202642345AActive Publication Date: 2026-10-16COUPANG CORP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
TW114113924
Authority / Receiving Office
TW · TW
Patent Type
Applications
Current Assignee / Owner
Priority Date
2025-03-31
Filing Date
2025-04-14
Publication Date
2026-10-16
Estimated Expiration
2045-04-13

AI Technical Summary

Technical Problem

Existing technologies lack a method to effectively identify and distinguish between different application launch types, such as cold, warm, and resume types, which affects performance optimization and user experience.

Method used

A method and system that utilize application launch time logs, including OS and application versions, to determine if a preset event has occurred, thereby identifying the launch type as cold, warm, or resume by comparing application and OS versions, and monitoring system and power-on logs.

Benefits of technology

Enables accurate identification of application launch types, allowing for optimized performance and user experience by understanding performance degradation and improving the parts that need enhancement.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure TWG2TA001080337_001
    Figure TWG2TA001080337_001
  • Figure TWG2TA001080337_002
    Figure TWG2TA001080337_002
  • Figure TWG2TA001080337_003
    Figure TWG2TA001080337_003
Patent Text Reader

Abstract

There is provided a method for identifying an app launch type. The method includes obtaining a start time log for an app in response to input of a user request for launch of the app through a user device, obtaining an app launch log corresponding to the launch, the app launch log including an app version or an operating system (OS) version of the user device, deciding whether or not the start time log is a start time log first obtained after an event preset to corresponding to a cold type has occurred by deciding whether or not the event has occurred using the app launch log, and identifying a launch type of the launch corresponding to the start time log as the cold type when the start time log is the start time log first obtained after the event has occurred.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This disclosure relates to a method and system for identifying application startup types. [Previous Technology]

[0002] Application launch type refers to the different application launch methods presented to distinguish how users launch applications and / or according to the state of the application. Application launch type is one of the important factors to consider in order to optimize application performance and improve user experience.

[0003] Typically, application startup types can be divided into multiple startup types based on factors such as whether application resources have been loaded into memory and whether the program exists when the application starts.

[0004] Since the operation mode, resource loading, and memory usage of the computing system used for startup differ depending on the application startup type, by analyzing the application startup type, it is possible to understand the performance degradation that occurs in each type and analyze the parts that need to be improved.

[0005] Advanced Technology Documents

[0006] Patent Documents

[0007] (Patent Document 0001) Korean Patent Publication No. 10-2020-0125258 (Published on May 11, 2021) [Summary of the Invention]

[0008] Problem to be solved:

[0009] The technical problem to be solved by the embodiments disclosed herein is to provide a method for identifying an application launch type using the application start time, and a computing system for executing the method.

[0010] Another technical problem to be solved by the embodiments disclosed herein is to distinguish between cold and warm types, set an event corresponding to the cold type, and identify the application launch type by comparing the time when the set event occurs with the application launch time, as well as a computing system for executing the method.

[0011] The technical problems to be solved by this disclosure are not limited to those mentioned above. Other technical problems not mentioned can also be clearly understood by those skilled in the art to which this disclosure pertains based on the following detailed description.

[0012] The technical solution of the present invention is as follows:

[0013] According to one embodiment of the present disclosure, an application launch type identification method executed by a computing system is provided. The method may include the following steps: in response to an application launch request input by a user through a user device, obtaining an application launch time log; obtaining a first application launch log corresponding to the launch, wherein the first application launch log includes a first application version and a first operating system (OS) version of the user device; using the first application launch log to determine whether a preset event has occurred, so as to determine whether the launch time log is the first launch time log obtained after the event occurs; and if the launch time log is the first launch time log obtained after the event occurs, identifying the launch type corresponding to the launch time log as a cold type, wherein the event is preset to correspond to the cold type among a plurality of launch types.

[0014] According to several embodiments of the present disclosure, the step of using the first application startup log to determine whether a preset event has occurred, so as to determine whether the startup time log is the first startup time log obtained after the event has occurred, may include the following steps: obtaining the second application version corresponding to the startup that occurred before the startup corresponding to the startup time log; and determining whether the first application version and the second application version are different.

[0015] According to several embodiments of the present disclosure, the step of using the first application startup log to determine whether a preset event has occurred, so as to determine whether the startup time log is the first startup time log obtained after the event has occurred, may include the following steps: obtaining the second OS version of the user device corresponding to the startup that occurred before the startup corresponding to the startup time log; and determining whether the first OS version and the second OS version are different.

[0016] According to several embodiments of the present disclosure, the step of using the first application startup log to determine whether a preset event has occurred, so as to determine whether the startup time log is the first startup time log obtained after the event occurs, may include the following steps: obtaining the power-on log of the user device; and using the power-on log to determine whether the startup time log is the log obtained corresponding to the first startup after the user device has been restarted.

[0017] According to several embodiments of this disclosure, the event may be one of an application version update, an OS version update, or a restart of the user device.

[0018] According to several embodiments of the present disclosure, the step of using the first application startup log to determine whether a preset event has occurred, so as to determine whether the startup time log is the first startup time log obtained after the event has occurred, may include the following steps: identifying whether a program for startup has been created during the application startup time period corresponding to the startup time log; and if the program has been created, determining whether the event has occurred, wherein if the program has not been created, the startup type of the startup corresponding to the startup time log is identified as the resume type.

[0019] According to another embodiment of the present disclosure, an application launch type identification system is provided. The system may include at least one processor and at least one memory for storing instructions, which, when executed by the at least one processor, cause the at least one processor to perform a set of operations, wherein the set of operations may include the following operations: in response to an application launch request input by a user through a user device, obtaining an application launch time log; obtaining a first application launch log corresponding to the launch, wherein the first application launch log includes a first application version and a first operating system (OS) version of the user device; using the first application launch log to determine whether a preset event has occurred, so as to determine whether the launch time log is the first launch time log obtained after the event occurs; and if the launch time log is the first launch time log obtained after the event occurs, identifying the launch type corresponding to the launch time log as a cold type, wherein the event is preset to correspond to the cold type among a plurality of launch types.

[0020] According to several embodiments of the present disclosure, the operation of using the first application startup log to determine whether a preset event has occurred, so as to determine whether the startup time log is the first startup time log obtained after the event has occurred, may include the following operations: obtaining the second application version corresponding to the startup that occurred before the startup corresponding to the startup time log; and determining whether the first application version and the second application version are different.

[0021] According to several embodiments of the present disclosure, the operation of using the first application startup log to determine whether a preset event has occurred, so as to determine whether the startup time log is the first startup time log obtained after the event has occurred, may include the following operations: obtaining the second OS version of the user device that was started before the startup corresponding to the startup time log; and determining whether the first OS version and the second OS version are different.

[0022] According to several embodiments of the present disclosure, the operation of determining whether a preset event has occurred using the first application startup log to determine whether the startup time log is the first startup time log obtained after the event may include the following operations: identifying whether a program for startup has been created during the application startup time period corresponding to the startup time log; and if the program has been created, determining whether the event has occurred, wherein if the program has not been created, the startup type of the startup corresponding to the startup time log is identified as the resume type.

[0023] The above-mentioned technical problem-solving methods are only one part of the embodiments disclosed herein. Based on the following detailed description, other various embodiments reflecting the technical features of this disclosure can also be clearly understood by those skilled in the art to which this disclosure pertains.

Implementation Method

[0024] Hereinafter, preferred embodiments of the present disclosure will be described in detail with reference to the accompanying drawings. The advantages and features of the present disclosure, and how they are achieved, will become more apparent through reference to the accompanying drawings and the embodiments described in detail below. However, the present disclosure is not limited to the embodiments described below, and may be implemented in other different forms. The above embodiments are provided only to improve the present disclosure and to enable those skilled in the art to fully understand the scope of the present disclosure, and the embodiments are defined only by the scope of the appended claims.

[0025] To avoid obscuring the concepts disclosed herein, well-known technical features may be omitted or shown in the form of block diagrams illustrating the core functions of each technical feature. Throughout this disclosure, the same technical features are illustrated using the same reference numerals, even if they are indicated in different figures.

[0026] Unless otherwise defined, all terms (including technical and scientific terms) used in this specification shall be used in the sense commonly understood by one of ordinary skill in the art to which this disclosure pertains. Furthermore, commonly used terms that are defined in dictionaries should not be idealized or over-interpreted unless explicitly defined otherwise. The terminology used in this specification is for illustrative purposes and is not intended to limit the invention. In this disclosure, unless expressly specified herein, the singular form also includes the plural form.

[0027] Furthermore, the terminology used in this disclosure is only for illustrating specific embodiments and is not intended to limit the features, technical features, order, etc., described in this specification. The terms "comprises" and / or "comprising" as used in this disclosure refer to the presence of the described features, technical features, steps, operations, and / or combinations thereof, and do not exclude the presence or addition of more than one other feature, technical feature, step, operation, and / or combination thereof.

[0028] Furthermore, the terms first, second, A, B, (a), (b), etc., used in the following embodiments are only used to distinguish a certain constituent element from other constituent elements, and are not used to limit the nature, order, or sequence of the constituent elements. For example, without departing from the scope of the present disclosure, a first constituent element may be referred to as a second constituent element, and similarly, a second constituent element may also be referred to as a first constituent element.

[0029] Furthermore, in this disclosure, " / " and "," should be interpreted as meaning "and / or". For example, "A / B" and "A,B" can be interpreted as meaning "A and / or B".

[0030] Figure 1 is an example of an application launch type identification system according to an embodiment of the present disclosure.

[0031] An application startup type identification system is a computing system that provides a framework for identifying the startup type when an application is launched. For example, the application startup type identification system can obtain an application start time log in response to the application startup, and can use the event logs that occur in the computing system that launches the application to identify the application startup type corresponding to the start time log.

[0032] Application startup types can be categorized as follows: cold type, which starts before the application is loaded into memory; warm type, which starts after some of the application's resources have been loaded into memory; and resume type (also known as hot type), which starts after all of the application's resources have been loaded into memory. However, the above are examples of application startup types and are not intended to limit the application startup types.

[0033] Referring to Figure 1, the application launch type identification system may include a user device 100, a service server 200 and / or a database 300.

[0034] User device 100 may include devices used by a user to communicate with other devices to transmit and / or receive various data and / or information. User device 100 may include, but is not limited to, smartphones, tablets, laptops, etc. For example, user device 100 may include various computing devices equipped with wireless communication means and / or computing means. User device 100 may be referred to as a user terminal, wireless device, mobile terminal, portable device, etc.

[0035] In this disclosure, "user" can refer to a person who requests the launch of an application according to several embodiments of this disclosure. For example, a user may enter a launch request for an application as a launch type identification target through a user device 100 that includes the application.

[0036] In addition, the user device 100 may display a user interface on an application and / or web browser that implements the functions of the service server 200, according to several embodiments of the present disclosure.

[0037] The startup type identification operation performed by the user device 100, which includes an application that is the target of startup type identification, will be described in detail below.

[0038] The user device 100 can obtain the application startup time log obtained when the application is launched, and can identify the application startup type (hereinafter referred to as "startup type") that corresponds to the startup time log from a plurality of application startup types (e.g., cold type, warm type and recovery type).

[0039] Application launch time can refer to the time elapsed from the time the application is launched until the initial screen that the user can interact with is first displayed.

[0040] For example, a user can enter a user request to launch an application by clicking / selecting an icon displayed on the user device 100 for launching the application, and the user device 100 can obtain an application launch time log in response to the entered application launch request.

[0041] The application launch time log (hereinafter referred to as the "launch time log") refers to the log obtained during the application launch time, and may include the application launch time and the application start time. However, it is not limited to this. For example, the launch time log may include the operating system (OS) version of the user device 100 that has launched the application and / or the version of the application currently launched. In addition, the launch time log may further include the application launch type identified according to several embodiments of this disclosure.

[0042] In the recovery type, unlike the cold type and / or warm type, all the application's resources have been loaded into memory. There is no need to create a new process. Instead, the application can be started by enabling an existing process. Background objects, user interface (UI) components, etc. can be brought back to the foreground to start the application.

[0043] Therefore, during the application startup time corresponding to the recovery type startup, the process creation function / method, which is used to create the process block, may not be called.

[0044] In a cold type, a process may need to be created in order to start the application. Therefore, in a cold type, after the process is created, operations such as creating objects representing data processing and / or program elements used to start the application and to perform logic processing, creating user interface (UI) elements (such as activities) used to create the application's initial screen, layout configuration, and screen rendering need to be performed.

[0045] Therefore, during the application startup time corresponding to a cold type of startup, it may be necessary to call a function / method for establishing the process.

[0046] In the warm type, although some resources (e.g., objects, activities) have been loaded into memory, the process has been terminated, and there may be situations where it is necessary to re-establish the process. In addition, in the warm type, in order to create resources that have not yet been loaded into memory, it may be necessary to perform operations such as resource creation, layout configuration, and screen rendering.

[0047] Therefore, similar to the cold type, during the application startup time corresponding to the warm type, it may be necessary to call the function / method used to establish the process.

[0048] According to several embodiments of the present disclosure, the recovery type can be distinguished from cold type and / or warm type based on whether a process exists. Therefore, the recovery type can be distinguished from cold type and / or warm type based on whether a process has been established during the application startup time.

[0049] However, in some cases it may not be possible to distinguish between cold and warm types based on the presence or absence of a process. Therefore, there may be limitations when distinguishing between the two types based solely on the application's startup time log.

[0050] According to several embodiments of the present disclosure, the user device 100 can monitor system files related to the operating system (OS), network files related to the application version, and / or booting logs stored in the memory of the user device 100 that launches the application to determine whether an event (such as an application version update, an OS version update, or a user device 100 restart) has occurred, and can distinguish / identify the application startup type based on whether the event has occurred.

[0051] The boot log may refer to a data file used to record boot information of the user device 100, including boot start time and / or boot status indicating whether the user device 100 is booted up due to normal shutdown.

[0052] User device 100 can determine whether an event has occurred (e.g., application version update, OS version update, user device 100 restart). If an event occurs, it can identify the corresponding launch type based on whether the launch corresponding to the application startup time log is started immediately after the event occurs.

[0053] The user device 100 can obtain application launch logs based on application launch by monitoring system files and / or network files stored in memory, and record them in the memory contained in the user device 100.

[0054] For example, in response to a plurality of user requests for application launch being entered sequentially, the user device 100 may obtain application launch logs corresponding to each of the plurality of launches and record them in memory each time the application is launched.

[0055] The application startup log may include the application version (hereinafter referred to as the application version) and / or the OS version of the user device 100 that were launched in response to a user request to start the application. However, it is not limited to this. For example, the application startup log may record the application version and / or OS version when the application is started, and may also include the application startup time, unless otherwise stated.

[0056] The user device 100 may, in response to a user request to launch an application, obtain the application launch time log and, using past application launch logs and / or power-on logs recorded in memory, identify the launch type corresponding to the launch time log.

[0057] One or more events corresponding to cold types can be preset to identify the start time log as a cold type. For example, at least one of application version update, OS version update and / or user device 100 restart can be preset as an event corresponding to a cold type.

[0058] For example, the user device 100 may obtain an application launch time log in response to a user request to launch an application, and obtain the application launch log corresponding to the currently launched application as the launch corresponding to the application launch time log, and obtain the past application launch log recorded in memory when the application was launched in the past. By comparing the application launch log corresponding to the currently launched application with the application launch log corresponding to the past launched application, it can be determined whether an event (e.g., application version update, OS version update) has occurred. When the application launch time log is the first log obtained after the event occurs, the launch corresponding to the application launch time log can be identified as a cold type.

[0059] For example, the user device 100 can use the power-on log to determine whether an event (e.g., a restart of the user device 100) occurred before the application startup time log was obtained, and when the application startup time log is the first log obtained after the event occurred, the startup corresponding to the application startup time log can be identified as a cold type.

[0060] Conversely, when no event occurs (e.g., application version update, OS version update, restart of user device 100), or when the application startup time log is not the first log obtained after the event occurs, the startup corresponding to the application startup time log can be identified as a resume type.

[0061] The service server 200 may refer to the computing system / resources that support the application that is the target of the startup type identification.

[0062] The service server 200 can support the startup of applications by sending and receiving data with the user device 100.

[0063] For example, the service server 200 may, in response to a user request to start an application entered by the user device 100, send the data required to start the application to the user device 100 as a response to the user request.

[0064] For example, the server 200 may respond to a user request to start an application via the user device 100, receive the obtained OS version, application version, startup type and / or application start time log, and store it in the database 300.

[0065] The service server 200 may be implemented on at least one computing device. For example, all the functions of the service server 200 may be implemented on one computing device. As another example, some of the functions of the service server 200 may be implemented on a first computing device, while the remaining functions may be implemented on a second computing device. In addition, specific functions of the service server 200 may also be implemented on more than one computing device.

[0066] Database 300 may refer to a storage library used to store various data and / or information available to user device 100 and / or service server 200 according to certain embodiments of the present disclosure.

[0067] For example, database 300 may include a storage library that stores logs of multiple application launch times obtained in sequence in the past and / or in real time.

[0068] For example, database 300 may further include a storage library for storing application startup logs.

[0069] For example, database 300 may include a database that stores boot logs containing boot information of user device 100 that includes application startup (e.g., boot start time).

[0070] The components shown in Figure 1 can communicate via various wired or wireless networks. The apparatus and / or system disclosed herein can be applied to local area networks (LANs), wide area networks (WANs), mobile radio communication networks, wireless broadband networks (Wibro), etc., but are not limited thereto, and can also be applied to any other communication system.

[0071] The following will specifically describe, with reference to Figures 2 to 6, an embodiment of the computing system / device performing application launch type identification according to the present disclosure. For reference, Figures 2 to 6 show the steps / operations performed in the computing system of Figure 1. Therefore, in the following description, if the subject of a particular step / operation is omitted, it can be understood that the step / operation is performed by the computing system of Figure 1. The following description will refer to Figures 2 to 6 and Figure 1.

[0072] Furthermore, it should be noted that the technical concepts understood from the embodiments illustrated with reference to FIG1 can be readily applied to the methods of the embodiments illustrated with reference to FIG2 to FIG6, even if not otherwise mentioned.

[0073] Figure 2 is a flowchart of an application launch type identification method according to one embodiment of the present disclosure.

[0074] Refer to Figure 2, the application's start time log can be obtained (step S100).

[0075] In response to a user request for application launch input through user device 100, the launch time log obtained in step S100 can be acquired / recorded. The launch time log may include the application launch time and / or startup time based on the corresponding launch.

[0076] For example, when multiple user requests for application launch are sequentially entered through user device 100, multiple launch time logs may be obtained, and each launch time log may contain the same or different application launch time and / or launch time according to the corresponding launch, and the order of obtaining multiple launch time logs may be determined according to the launch time.

[0077] The application startup log corresponding to the application startup can be obtained (step S200).

[0078] In step S200, the startup can be the startup corresponding to the startup time log obtained in step S100, and the application startup log can be obtained when the application is started in response to a user request for application startup.

[0079] In step S200, the application startup log may include the version of the application that was launched and / or the operating system (OS) version of the user device 100 that launched the application.

[0080] Using the application startup log obtained in step S200, it is determined whether a pre-set event has occurred, thereby determining whether the startup time log obtained in step S100 is the first startup time log obtained after the event occurred (step S300).

[0081] In step S300, the startup time log first obtained after the event occurs is the startup time log obtained for the first startup after the event occurs, which can represent the startup time log obtained in response to the first user request entered after the event occurs.

[0082] In step S300, the event may be one or more events pre-defined for the cold type among a plurality of startup types (e.g., cold type, warm type and recovery type), so as to identify the startup type corresponding to the startup time log first obtained after the event occurs as the cold type.

[0083] For example, application version updates, OS version updates and / or restarts of user device 100 can be pre-set as events corresponding to cold types, so that the startup type corresponding to the startup time log is identified as a cold type.

[0084] According to several embodiments of the present disclosure, as the application is launched multiple times, an application launch log containing the application version and / or OS version corresponding to each of the plurality of launches can be acquired / recorded.

[0085] For example, if it is assumed that the startup corresponding to the startup time log obtained in step S100 is the current startup executed based on the most recently entered user request, then the first application startup log corresponding to the current startup can be obtained in step S200, and the second application startup log corresponding to the past startup executed based on the past entered user request can be obtained in step S300. The application version and / or OS version of the first application startup log can be compared with the application version and / or OS version of the second application startup log to determine whether an event has occurred.

[0086] For example, in step S300, the boot log of the user device 100 can be obtained, and the boot log can be used to determine whether the user device 100 was restarted before the launch corresponding to the boot time log and / or application startup log occurred.

[0087] If the startup time log obtained in step S100 is determined to be the startup time log obtained for the first time after the event occurs, the startup type corresponding to the startup time log can be identified as a cold type (step S400).

[0088] For example, the startup type corresponding to the startup time log first obtained after at least one of the following occurs: application version update, operating system version update, and / or restart of user device 100 can be identified as a cold type.

[0089] In step S300, if the startup time log is not determined to be the startup time log obtained for the first time after the event occurs, the startup type corresponding to the startup time log can be identified as one of the warm type and / or recovery type.

[0090] Next, referring to Figures 2 and 3, a specific embodiment will be described, which identifies the startup type corresponding to the startup time log obtained in step S100 as the recovery type.

[0091] Figure 3 is a flowchart of a resume type identification method according to several embodiments of the present disclosure.

[0092] Step S300 in Figure 3 can correspond to step S300 in Figure 2.

[0093] For example, as shown in FIG3, according to some embodiments of the present disclosure, if a plurality of startup time logs 3 are obtained, the startup time log obtained corresponding to the recovery type startup can be identified among the plurality of startup time logs 3 based on whether a process exists when the application is started.

[0094] Referring to Figure 3, in step S300, it can be identified whether a process for startup has been established during the application startup time corresponding to the startup time log (step S310).

[0095] In the recovery type, unlike the cold type and / or warm type, all the application's resources are already loaded into memory and the process already exists. Therefore, when a recovery type startup occurs, it may not be necessary to create a process to start the application.

[0096] For example, in step S310, it can be identified whether the function / method for creating the process is called during the application startup time period corresponding to the startup time log. If the function / method for creating the process is not called, it can be determined that the process has not been created.

[0097] For example, if a function / method used to create a process is called, the process creation log used to record the call can be obtained / recorded. In step S310, it can be determined whether the process creation log has been obtained during the application startup time period corresponding to the startup time log.

[0098] In step S310, if it is determined that no process for startup was established during the application startup time corresponding to the startup time log, the startup type corresponding to the startup time log can be identified as the recovery type.

[0099] Conversely, in step S310, if it is determined that a process for startup has been established during the application startup time corresponding to the startup time log, the startup type corresponding to the startup time log can be identified as cold type and / or warm type according to several embodiments of this disclosure.

[0100] Although not shown in Figure 3, it can only be determined whether a pre-set event corresponding to a cold type has occurred when it is determined that a process for startup has been established during the application startup time period corresponding to the startup time log, thereby determining whether the startup corresponding to the startup time log is the first startup time log obtained after the event occurs.

[0101] Hereinafter, with reference to FIG2 and in conjunction with FIGS. 4 to 6, an embodiment regarding the identification of the startup time log obtained corresponding to the cold type of startup will be specifically described.

[0102] According to several embodiments of this disclosure, an application can be launched multiple times by sequentially inputting multiple user requests for application launch, thereby sequentially obtaining multiple launch time logs. Furthermore, since the application is launched multiple times, multiple application launch logs can be sequentially obtained / recorded.

[0103] At this time, before each of the plurality of user requests is entered, events such as the termination of the running application, application version update, OS version update of user device 100, and / or restart of user device 100 may or may not occur.

[0104] According to several embodiments of the present disclosure, the startup type corresponding to each startup time log in a plurality of startup time logs can be identified by comparing the application startup log obtained by the startup corresponding to the startup time log with the application startup log obtained / recorded in the previous sequence.

[0105] Referring to Figures 4 to 6, a method for identifying the startup type corresponding to any one of the plurality of startup time logs (e.g., the startup time log obtained in step S100 of Figure 2) will be described. For ease of explanation, the startup that is the target of startup type identification is called the current startup, the application startup log obtained corresponding to the current startup is called the current application startup log, and the startup that precedes the current startup is called the past startup, and the application startup log obtained corresponding to the past startup is called the past application startup log.

[0106] Figure 4 is a flowchart of a method for determining whether the startup time log corresponds to the startup time log obtained on the first startup after an application version update, according to several embodiments of the present disclosure.

[0107] Step S300 in Figure 4 can correspond to step S300 in Figure 2.

[0108] Although not shown in Figure 4, in step S300, the past application startup log containing the application versions corresponding to past startups that occurred before the current startup can be obtained.

[0109] In step S300, the application version in the application startup log obtained by the current startup corresponding to the startup time log can be compared with the application version in the past application startup log to determine whether the versions of the two applications are different, thereby determining whether the application version has been updated (step S320).

[0110] In step S320, if the application version of the current application startup log is the same as the application version of the past application startup log, it can be determined that no application version update has occurred, and the startup type corresponding to the startup time log can be identified as warm type.

[0111] However, prior to the current startup, multiple startups may occur due to multiple user requests for application startup being entered sequentially, which may result in multiple past startups occurring sequentially before the current startup occurs, and multiple past application startup times being acquired / recorded sequentially.

[0112] For example, if we assume that the first startup, the second startup, and the third startup occur in sequence, and the third startup is the current startup, when the application version corresponding to the second startup that occurs before the third startup is the same as the application version corresponding to the third startup, even if the application version corresponding to the first startup is different from the application version corresponding to the third startup and is considered to have been updated before the third startup, since the third startup is not the first startup after the version update, the third startup is not identified as a cold type.

[0113] Therefore, in step S300, it can be determined whether the current startup corresponding to the startup time log is the first application startup that occurs after the application version is updated (step S330).

[0114] According to several embodiments of the present disclosure, it can be determined whether the current startup corresponding to the startup time log is the first application startup after the application version update by comparing the application startup log corresponding to the past startup that occurred immediately before the current startup and the current startup log. Therefore, according to several embodiments of the present disclosure, steps S320 to S330 can be executed simultaneously depending on their implementation.

[0115] In step S330, if the application version of the application startup log corresponding to the past startup that occurred immediately before the current startup is different from the application version of the current application startup log, it can be determined that the startup time log is the startup time log obtained for the first startup after the application version update, and the startup type corresponding to the current startup in the startup time log can be identified as a cold type.

[0116] Conversely, in step S330, if the application version of the application startup log corresponding to the past startup that occurred immediately before the current startup is the same as the application version of the current application startup log, it can be determined that the startup time log does not correspond to the startup time log obtained on the first startup after the application version update, and the startup type of the current startup corresponding to the startup time log can be identified as warm type.

[0117] Figure 5 is a flowchart of a method for determining whether the startup time log is the startup time log obtained on the first startup after the operating system (OS) version is updated, according to several embodiments of the present disclosure.

[0118] Step S300 in Figure 5 can correspond to step S300 in Figure 2.

[0119] Although not shown in Figure 5, the past application startup log corresponding to the OS version of the past startup can be obtained in step S300 of Figure 2. The past startup occurred before the current startup corresponding to the startup time log.

[0120] In step S300, the OS version in the application startup log obtained at the current startup corresponding to the startup time log can be compared with the OS version in the past application startup log to determine whether the OS versions of the two applications are different, thereby determining whether the OS version has been updated (step S340).

[0121] In step S340, if the OS version of the current application startup log is the same as the OS version of the past application startup log, it can be determined that no OS version update has occurred, and the startup type of the current startup corresponding to the startup time log can be identified as warm type.

[0122] However, as illustrated with reference to FIG4, before the current startup occurs, multiple user requests for application startup are entered sequentially, which may result in multiple past startups occurring sequentially before the current startup, and multiple past application startup times being acquired / recorded sequentially.

[0123] For example, suppose that the first startup, the second startup and the third startup occur in sequence, and the third startup is the current startup. If the OS version corresponding to the second startup that occurred before the third startup is the same as the OS version corresponding to the third startup, even if the OS version of the first startup is different from the OS version of the third startup and is considered to have been updated before the third startup, the third startup is not identified as a cold type because it is not the first startup after the version update.

[0124] Therefore, in step S300, it can be determined whether the current startup corresponding to the startup time log is the first application startup after the OS version update (step S350).

[0125] According to several embodiments of the present disclosure, it can be determined whether the current startup corresponding to the startup time log is the first application startup after the OS version update by comparing the application startup log corresponding to a past startup that occurred immediately before the current startup with the startup log of the current startup. Therefore, according to several embodiments of the present disclosure, steps S340 to S350 can be executed simultaneously depending on their implementation.

[0126] In step S350, if the OS version of the application startup log corresponding to the past startup that occurred immediately before the current startup is different from the OS version of the current application startup log, it can be determined that the startup time log is the startup time log obtained for the first startup after the OS version update, and the startup type of the current startup corresponding to the startup time log can be identified as a cold type.

[0127] Conversely, in step S350, if the OS version of the application startup log corresponding to the past startup that occurred immediately before the current startup is the same as the OS version of the current application startup log, it can be determined that the startup time log does not correspond to the startup time log obtained on the first startup after the OS version update, and the startup type of the current startup corresponding to the startup time log can be identified as warm type.

[0128] Figure 6 is a flowchart of a method for determining whether the startup time log is the startup time log obtained for the first startup after the user device is restarted, according to several embodiments of the present disclosure.

[0129] Step S300 in Figure 6 can correspond to step S300 in Figure 2.

[0130] Although not shown in Figure 6, a power-on log containing information such as the power-on time and power-on status of the user device 100 can be obtained in step S300 of Figure 2.

[0131] In step S300, it can be determined whether the user device 100 has been restarted before the current startup corresponding to the startup time log occurs by comparing the current startup time corresponding to the startup time log with the startup time of the user device 100 contained in the startup log (step S360).

[0132] In step S360, the power-on log can be used to determine whether there is a restart record of the user device 100 before the startup time included in the power-on time log.

[0133] In step S360, if there is a restart record before the startup time contained in the startup time log, it can be determined that the user device 100 has restarted before the current startup corresponding to the startup time log, and the startup type corresponding to the startup time log can be identified as a cold type.

[0134] Conversely, in step S360, if there is no restart record before the startup time contained in the startup time log, it can be determined that the user device 100 has not restarted before the current startup corresponding to the startup time log, and the startup type corresponding to the startup time log can be identified as warm type.

[0135] However, prior to the current startup, multiple startups may occur due to multiple user requests for application startup being entered sequentially. Therefore, multiple past startups may also occur sequentially before the current startup, and multiple past application startup times may be obtained / recorded sequentially.

[0136] For example, assuming that the first startup, the second startup and the third startup occur in sequence, and the third startup is the current startup, if the power-on time of the user device 100 is recorded after the first startup, and the second startup and the third startup both occur after the power-on time, and no restart record of the user device 100 is recorded between the time of the second startup and the time of the third startup, then the third startup is not the first startup that occurs after the user device 100 restarts, and thus the startup type of the third startup is not identified as a cold type.

[0137] Therefore, in step S300, it can be determined whether the current startup corresponding to the startup time log is the first application startup that occurs after the user device 100 is restarted (step S370).

[0138] According to several embodiments of the present disclosure, steps S320 to S330 may be performed simultaneously depending on their implementation.

[0139] In step S300, the application startup log can be used to determine whether there is a recorded power-on time of the user device 100 between the past startup time that occurred immediately before the current startup and the current startup time.

[0140] For example, in step S300, the past application startup log corresponding to the past startup that occurred immediately before the current startup can be obtained, and it can be determined whether there is a recorded power-on time of the user device 100 between the startup time contained in the past application startup log and the startup time contained in the current application startup log.

[0141] In step S370, if there is a boot time of the user device 100 between the boot time of the application boot log corresponding to the past boot that occurred immediately before the current boot and the boot time of the current application boot log, it can be determined that the boot time log is the boot time log obtained for the first boot after the user device 100 is restarted, and the boot type corresponding to the boot time log can be identified as a cold type.

[0142] Conversely, in step S370, if there is no boot time of the user device 100 between the boot time of the application boot log corresponding to the past boot that occurred immediately before the current boot and the boot time of the current application boot log, it can be determined that the boot time log does not correspond to the boot time log obtained for the first boot after the user device 100 is restarted, and the boot type corresponding to the boot time log can be identified as warm type.

[0143] According to the embodiments described with reference to Figures 4 to 6, the steps and / or operations of determining whether the startup time log corresponds to the startup time log obtained when the application is launched for the first time after the application version is updated, whether the startup time log corresponds to the startup time log obtained when the application is launched for the first time after the OS version is updated, and / or whether the startup time log corresponds to the startup time log obtained when the application is launched for the first time after the user device 100 is restarted can be executed sequentially to identify the startup type corresponding to the startup time log.

[0144] Furthermore, according to several embodiments of this disclosure, as illustrated with reference to FIG3, the startup type corresponding to the startup time log first obtained after at least one of an application version update, an OS version update, and / or a restart of the user device 100 can be identified as a cold type.

[0145] According to the embodiments described with reference to Figures 2 to 6, the event for identifying a cold type of startup may be preset to an application version update, an OS version update, and / or a restart of the user device 100, but is not limited thereto.

[0146] According to several embodiments of the present disclosure, in addition to the events listed, events that trigger startup of different cold types than warm and / or recovery types can also be analyzed based on data and / or information that can be obtained by monitoring system files related to the OS and / or network files related to the application version stored in memory. The analyzed events can be preset in correspondence with the cold type, thereby enabling the startup type corresponding to the startup time log to be identified according to the embodiments of the present disclosure.

[0147] FIG7 is a block diagram illustrating an example of a computing device used to perform several embodiments of the present disclosure.

[0148] Referring to FIG7, the computing device 1 may include: one or more processors 101, a bus 103, a communication interface 104, a memory 102 for loading a computer program executed by the processor 101, and a storage device 105 for storing the computer program 106. However, FIG7 only illustrates the constituent elements related to the embodiments disclosed herein. Therefore, those skilled in the art to which this disclosure pertains will understand that, in addition to the constituent elements shown in FIG7, other common constituent elements may be included. That is, the computing device 1 may include a variety of other constituent elements besides those shown in FIG7. Furthermore, in some cases, the computing device 1 may be configured with some constituent elements shown in FIG7 omitted. Hereinafter, the constituent elements of the computing device 1 will be described.

[0149] The processor 101 can be used to control the overall operation of each component of the computing device 1. The processor 101 may include and be composed of at least one of a CPU (Central Processing Unit), MPU (Micro Processor Unit), MCU (Micro Controller Unit), GPU (Graphics Processing Unit), or any form of processor known in the art to which this disclosure pertains. Furthermore, the processor 101 can perform operations on at least one application or program for performing methods and / or operations according to embodiments of this disclosure. The computing device 1 may include one or more processors.

[0150] Furthermore, the system and / or computing device 1 according to embodiments of this specification may further include a database, and the processor 101 may store data and / or information created and / or output according to certain embodiments disclosed herein into memory 102 and / or the database. Here, the database used to store data and / or information is not limited to the database within the system and / or computing device 1 disclosed herein; for example, it may include the database of an external server.

[0151] Memory 102 can store various types of data, instructions, and / or information. Memory 102 can load computer programs 106 from storage device 105 to perform methods and / or operations according to embodiments of this disclosure. Memory 102 can be implemented as volatile memory such as random access memory (RAM), but this disclosure is not limited thereto.

[0152] Bus 103 can be used to provide communication functions between the constituent elements of the computing device 1. Bus 103 can be implemented as various forms of bus such as address bus, data bus and control bus.

[0153] The communication interface 104 can support wired and / or wireless Internet communication of the computing device 1. The communication interface 104 can also support various communication methods other than Internet communication. Therefore, the communication interface 104 can be constructed by including communication modules known in the art to which this disclosure pertains.

[0154] The storage device 105 can be used to non-temporarily store at least one computer program 106. The storage device 105 may comprise non-volatile memory such as read-only memory (ROM), erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash memory, hard disk, removable disk, or any form of computer-readable recording medium known in the art to which this disclosure pertains.

[0155] When computer program 106 is loaded into memory 102, it may include one or more instructions that cause processor 101 to perform methods and / or operations according to various embodiments of the present disclosure. That is, processor 101 may execute the methods, implementations, and operations described in various embodiments of the present disclosure by executing one or more loaded instructions.

[0156] In this disclosure, a computer-readable (non-volatile) storage medium may store at least one instruction or computer program, and when the at least one instruction or computer program is executed by at least one processor, the at least one processor may perform the methods and / or operations of several embodiments of this disclosure.

[0157] For example, computer program 106 may include instructions to respond to a user request for application launch input through a user device, obtain the application launch time log, and obtain the application launch log containing the application version corresponding to the launch or the OS version of the user device, and use the application launch log to determine whether an event corresponding to a cold type has occurred among multiple launch types, so as to determine whether the launch time log is the first launch time log obtained after the event occurs, and when the launch time log is the first launch time log obtained after the event occurs, the launch type corresponding to the launch of the launch time log is identified as the cold type.

[0158] Thus far, various embodiments of the present disclosure and their effects have been described with reference to Figures 1 to 7. The effects achieved by the technical concept of the present disclosure are not limited to those described above, and other effects not described herein can also be clearly understood by those skilled in the art.

[0159] Although the constituent elements constituting the embodiments of this disclosure described above are shown to be operable as a single unit or in combination, this disclosure is not limited to these embodiments. That is, within the scope of the purpose of this disclosure, the constituent elements may be selectively combined and operated in one or more ways.

[0160] Although the operations shown in the accompanying drawings are presented in a specific order, it should not be construed as meaning that these operations must be performed in a specific order or sequentially, nor should it be construed as meaning that all the operations shown must be performed to achieve the purpose of this disclosure. In certain situations, multiplexing and parallel processing may be advantageous. Furthermore, in the embodiments described above, the separation of the constituent elements should not be construed as such separation being necessary. It should be understood that the described program elements and systems can generally be integrated into a single software product or packaged into multiple software products.

[0161] Although the embodiments of the present disclosure have been described above with reference to the accompanying drawings, those skilled in the art will understand that the present disclosure can be implemented in other specific forms without departing from the technical concept or essential features of the present disclosure. Therefore, the embodiments described above should be understood as exemplary in all respects only, and not restrictive. The scope of protection of the present invention should be interpreted by the appended claims, and all technical concepts within their equivalent scope should be interpreted as being included within the scope of the rights of this disclosure. [Simplified Explanation of the Diagram]

[0162] Figure 1 is a diagram showing an example of an app launch type identification system according to an embodiment of the present disclosure.

[0163] Figure 2 is a flowchart showing an application launch type identification method according to one embodiment of the present disclosure.

[0164] Figure 3 is a flowchart showing a method for identifying a resume type according to several embodiments of the present disclosure.

[0165] Figure 4 is a flowchart showing a method for determining whether the startup time log is the startup time log corresponding to the first startup after an application version update, according to several embodiments of the present disclosure.

[0166] Figure 5 is a flowchart illustrating a method for determining whether the acquired startup time log is the startup time log corresponding to the first startup after an operating system (OS) version update, according to several embodiments of the present disclosure.

[0167] Figure 6 is a flowchart illustrating a method for determining whether the acquired startup time log is the startup time log corresponding to the first startup after a user device restart, according to several embodiments of the present disclosure.

[0168] Figure 7 is a block diagram showing an example of a computing device for performing several embodiments of the present disclosure.

Claims

1. A method for identifying application launch type, executed through a computing system, comprising the following steps: responding to an application launch request input by a user through a user device, obtaining an application launch time log; obtaining a first application launch log corresponding to the launch, wherein, The first application startup log includes the first application version and the first operating system (OS) version of the user device; the first application startup log is used to determine whether a pre-set event has occurred, so as to determine whether the startup time log is the first startup time log obtained after the event occurs; and if the startup time log is the first startup time log obtained after the event occurs, the startup type corresponding to the startup time log is identified as a cold type, wherein the event is a pre-set one corresponding to the cold type among a plurality of startup types.

2. The method for identifying application launch type as described in claim 1, wherein, The step of using the first application startup log to determine whether a pre-defined event has occurred, and to determine whether the startup time log is the first startup time log obtained after the event occurs, includes the following steps: obtaining the second application version corresponding to the startup that occurred before the startup corresponding to the startup time log; and determining whether the first application version and the second application version are different.

3. The method for identifying application launch type as described in request item 1, wherein, The step of using the first application startup log to determine whether a pre-set event has occurred, and to determine whether the startup time log is the first startup time log obtained after the event has occurred, includes the following steps: obtaining the second OS version of the user device corresponding to the startup that occurred before the startup corresponding to the startup time log; and determining whether the first OS version and the second OS version are different.

4. The method for identifying application launch type as described in request item 1, wherein, The step of using the startup log of the first application to determine whether a pre-set event has occurred, and to determine whether the startup time log is the first startup time log obtained after the event occurs, includes the following steps: obtaining the power-on log of the user device; and using the power-on log to determine whether the startup time log is the log obtained corresponding to the first startup after the user device has been restarted.

5. The method for identifying application launch type as described in request item 1, wherein, This event could be caused by an application version update, an OS version update, or a reboot of the user's device.

6. The method for identifying application launch type as described in claim 1, wherein, The step of using the first application startup log to determine whether a pre-defined event has occurred, and to determine whether the startup time log is the first startup time log obtained after the event occurs, includes the following steps: identifying whether a process for startup has been established during the application startup time period corresponding to the startup time log; and if the process has been established, determining whether the event has occurred, wherein if the process has not been established, the startup type of the startup corresponding to the startup time log is identified as the resume type.

7. An application launch type identification system, comprising: At least one processor; The system also includes at least one memory for storing instructions that, when executed by the at least one processor, cause the at least one processor to perform a set of operations, wherein the set of operations includes the following operations: in response to an application launch request input by a user through a user device, obtaining an application launch time log; obtaining a first application launch log corresponding to the launch, wherein the first application launch log includes a first application version and a first operating system (OS) version of the user device; using the first application launch log to determine whether a pre-defined event has occurred, to determine whether the launch time log is the first launch time log obtained after the event occurs; and if the launch time log is the first launch time log obtained after the event occurs, identifying the launch type corresponding to the launch time log as a cold type, wherein the event is a pre-defined type corresponding to the cold type among a plurality of launch types.

8. The application launch type recognition system as described in claim 7, wherein, The operation of using the first application startup log to determine whether a pre-defined event has occurred, and to determine whether the startup time log is the first startup time log obtained after the event occurs, includes the following operations: obtaining the second application version corresponding to the startup that occurred before the startup corresponding to the startup time log; and determining whether the first application version and the second application version are different.

9. The application launch type recognition system as described in claim 7, wherein, The operation of using the first application startup log to determine whether a pre-set event has occurred, and to determine whether the startup time log is the first startup time log obtained after the event occurs, includes the following operations: obtaining the second OS version of the user device corresponding to the startup that occurred before the startup corresponding to the startup time log; and determining whether the first OS version and the second OS version are different.

10. The application launch type recognition system as described in claim 7, wherein, The operation of using the first application startup log to determine whether a pre-defined event has occurred, and to determine whether the startup time log is the first startup time log obtained after the event, includes the following operations: identifying whether a program for startup has been created during the application startup time period corresponding to the startup time log; and if the program has been created, determining whether the event has occurred, wherein if the program has not been created, the startup type of the startup corresponding to the startup time log is identified as the resume type.