Method and apparatus for non-on-demand based content download
By performing pre-download operations on the terminal device, the problem of excessive network load in existing OTT services and the inability to provide personal recommended content is solved, and stable non-on-demand content download and traffic control are achieved.
Patent Information
- Application Number
- CN202380068405.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-07-26
- Filing Date
- 2023-07-20
- Publication Date
- 2025-05-02
AI Technical Summary
When existing OTT services provide content downloads based on non-on-demand, they lead to excessive load on the network, difficulty in controlling traffic, and inability to effectively provide personal recommended content.
Before the user's request, the pre-download operation is performed using the terminal device, including obtaining the terminal's identifier and a personalized recommended content list, and downloading it within the predefined pre-download period.
It realizes providing personal recommended content to users on a non-on-demand basis, controlling traffic to minimize network load, providing stable services, and avoiding network environment problems caused by downloads.
Smart Images

Figure CN119923864A_ABST
Abstract
Description
Technical Field
[0001] In some implementations, the present disclosure relates to methods and apparatus for non-on-demand based content downloading. Background Art
[0002] The statements in this section merely provide background information related to the present disclosure and may not constitute prior art.
[0003] As media viewing behavior gradually shifts from live content to on-demand content, various over-the-top services (OTT services) are attempting to differentiate themselves. In particular, more and more OTT services are providing download services that allow users to download desired content in advance and play back the content even when streaming is not available, such as in a poor network environment or on an airplane.
[0004] Download services are mainly provided in the form of downloads for playback resumption of content that a user is watching or downloads in response to a user's download request for specific content. Since these download services require the terminal device to pre-download content that may not even be watched, they impose a heavy load on the backend system. Therefore, when providing download services, it is necessary to prevent the download services from becoming too active. Since most existing OTT services are provided on demand based on user requests, and the services are initiated by user demand, a large amount of statistical data is required to predict the traffic of the service, and it is difficult to control the traffic.
[0005] Furthermore, as content recommendation services based on artificial intelligence (AI) become more sophisticated, presenting recommended content to users has become a common practice for OTT services. However, most OTT services provide recommended content via streaming and do not provide recommended content via downloading. Summary of the invention
[0006] Technical issues
[0007] The present disclosure aims to provide a method and apparatus capable of providing personal recommended content to users on a non-on-demand basis.
[0008] The present disclosure is directed to a method and apparatus for providing a stable service by minimizing a network load caused by non-on-demand downloading.
[0009] The challenges that the present disclosure aims to solve are not limited to the above-mentioned challenges, and other challenges not mentioned will be apparent to those of ordinary skill in the art from the following description.
[0010] Technical Solution
[0011] At least one aspect of the present disclosure provides a method for operating a terminal to pre-download content prior to a user's request, the method comprising: obtaining an identifier assigned to the terminal, obtaining a list of one or more contents selected through personalized recommendation for the user, and downloading at least some of the one or more contents within one or more time periods determined based on the identifier within a predefined pre-download period.
[0012] Another aspect of the present disclosure provides a terminal, comprising: a download policy manager configured to obtain an identifier assigned to the terminal and a list of one or more contents selected through personalized recommendation for a user of the terminal; and a download agent configured to download at least some of the one or more contents in one or more time periods determined based on the identifier within a predefined pre-download period.
[0013] Yet another aspect of the present disclosure provides a computer-readable recording medium storing instructions for causing the computer to perform the method as described above when executed by the computer.
[0014] Beneficial Effects
[0015] According to an embodiment of the present disclosure, personally recommended content may be provided to users on a non-on-demand basis.
[0016] According to the embodiments of the present disclosure, traffic can be controlled to minimize the network load caused by non-on-demand downloading, thereby being able to provide stable services. For example, the timing of providing recommended content can be limited to non-peak hours by network usage standards, which can increase network utilization and ensure the stability of network infrastructure operation.
[0017] According to the embodiments of the present disclosure, the user can be free from various problems such as time spent on streaming and network environment problems.
[0018] The effects of the present disclosure are not limited to the above-mentioned effects, and other effects not mentioned will be apparent to those of ordinary skill in the art from the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0019] Figure 1 is a schematic block diagram of a content providing system according to at least one embodiment of the present disclosure.
[0020] Figure 2 is a flow chart of a service provision process according to at least one embodiment of the present disclosure.
[0021] Figure 3 is a diagram illustrating a scheduling method according to at least one embodiment of the present disclosure.
[0022] Figure 4 is a flow chart of operations of a client terminal for non-on-demand based downloading in accordance with at least one embodiment of the present disclosure.
[0023] Figure 5 is a flowchart of operations of a client terminal for preventing service failure due to non-on-demand based downloading according to at least one embodiment of the present disclosure.
[0024] Figure 6 is a flowchart of operations of a client terminal for managing incompletely downloaded content according to at least one embodiment of the present disclosure.
[0025] Figure 7 is a schematic block diagram of a client terminal according to at least one embodiment of the present disclosure. DETAILED DESCRIPTION
[0026] Hereinafter, some embodiments of the present disclosure will be described in detail with reference to the accompanying drawings. In the following description, similar reference numerals preferably represent similar elements even though the elements are shown in different drawings. In addition, in the following description of some embodiments, for the sake of clarity and brevity, the detailed description of related known components and functions will be omitted when it is considered to be obscure the subject matter of the present disclosure.
[0027] Additionally, various ordinal numbers or alpha codes such as first, second, i), ii), a), b), etc. are only used to distinguish one component from another, and do not imply or suggest the substance, order or sequence of the components. Throughout the specification, when a component “includes” or “comprising” a component, the component is intended to further include other components without excluding other components, unless explicitly stated otherwise.
[0028] The description of the present disclosure presented below in conjunction with the accompanying drawings is intended to describe exemplary embodiments of the present disclosure and is not intended to represent the only embodiments in which the technical concept of the present disclosure can be practiced.
[0029] Figure 1 is a schematic block diagram of a content providing system according to at least one embodiment of the present disclosure.
[0030] like Figure 1 As shown, the content providing system 10 may include all or some of the client terminal 100 , the content server 120 , and the backend platform 140 . Figure 1 Not all blocks shown in the content providing system 10 are necessary components, and in other implementations, some blocks included in the content providing system 10 may be added, changed, or deleted.
[0031] The client terminal 100 is a device capable of receiving content from the content server 120 and playing it by using a wireless communication method or a wired communication method. Here, the content may be, but is not limited to, media content. The client terminal 100 may include an application capable of receiving various services related to the content from the content server 120 and / or the backend platform 140.
[0032] Client terminal 100 may download and / or stream content for playback from content server 120. To provide efficient transmission and reception of content, content server 120 may be implemented as a content delivery network (CDN) including an origin server and one or more cache servers.
[0033] The backend platform 140 may perform user authentication by linking the account information with the client terminal 100, and may provide the client terminal 100 with application initial configuration information for service intercommunication. The backend platform 140 may provide the client terminal 100 with a playlist including one or more curated lists of content and a uniform resource locator (URL) for downloading the content. The curated list may be a curated list of personally recommended content for the user of the client terminal 100, but is not limited to this example.
[0034] In addition, despite Figure 1 Although not shown, in some embodiments, the client terminal 100 may send a user authentication request, an initial configuration information request, a content list request, and / or a content request to the content server 120 and / or the backend platform 140 via an application programming interface gateway (API gateway), and receive responses thereto. Here, the API gateway may be used to integrate endpoints for requests from the client terminal 100. The API gateway may forward requests received from the client terminal 100 to the content server 120 and / or the backend platform 140, and may forward responses received from the content server 120 and / or the backend platform 140 to the client terminal 100. In some embodiments, the API gateway may also process the received request or response and forward it.
[0035] Figure 2 is a flow chart of a service provision process according to at least one embodiment of the present disclosure.
[0036] When a service is initiated by executing an application installed on the client terminal 100 (S200), the client terminal 100 may call an authentication API to perform user authentication (S210). Here, the user authentication request sent by the client terminal 100 may include user account information.
[0037] The client terminal 100 may call the initial configuration API to obtain application initial configuration information for service intercommunication from the backend platform 140 (S220). The application initial configuration information may include an identifier assigned to the client terminal 100. The identifier may be, but is not limited to, a unique identifier (unique ID) of a user and / or an application installed in the client terminal 100. The application initial configuration information may also include, for example, configuration information for a pre-download period, configuration information for frames and time slots constituting the pre-download period, and / or a scheduling policy.
[0038] The client terminal 100 may apply the received application initial configuration information to the application ( S230 ).
[0039] The client terminal 100 may obtain a playlist from the backend platform 140 by calling a content list request API (S240). Here, the content list request API may be, but is not limited to, an electronic program guide API (EPG API). The playlist may include a list of content selected for the user of the client terminal 100 through personalized recommendations, etc. The playlist may also include a uniform resource locator (URL) for downloading each piece of content, the number of media segments to be pre-downloaded for each piece of content, and / or a time value. The time value may be, for example, a time value corresponding to the last download point to support playback resumption or download resumption functions for content with a download history. The content may be, but is not limited to, a plurality of different videos or a plurality of different segments within a single video.
[0040] Based on the application initial configuration information, the client terminal 100 may schedule a time period for downloading the content in the content list (S250). For example, the client terminal 100 may determine one or more time periods for downloading the content within a predefined pre-download period. Here, the time period may be a time period corresponding to each target time slot determined based on the identifier among a plurality of time slots in each frame of the pre-download period. Figure 3 The specific details of the scheduling method of the client terminal 100 are described.
[0041] During the scheduled time period, the client terminal 100 may download at least some of the content in the content list (S260). The client terminal 100 may call a content request API to download content from the content server 120. Here, the download of the content may be initiated without receiving a download request from the user, and the download of the content may be performed in the background of the client terminal 100.
[0042] The client terminal 100 may repeatedly download the content in the scheduled time period until a preset download termination condition is met (S270). Here, the download termination condition may include, for example but not limited to, the completion of all content in the download content list or the end of the pre-download period.
[0043] Subsequently, when the application is executed ( S280 ) and the client terminal 100 or the user selects content, the client terminal 100 may play back the selected content without a network connection ( S290 ).
[0044] Figure 3 is a diagram illustrating a scheduling method according to at least one embodiment of the present disclosure.
[0045] Reference Figure 3 , the pre-download period may include N frames, and each frame may include M time slots (wherein N and M are natural numbers).
[0046] Based on the identifier obtained during the initial configuration process, the client terminal 100 can determine one or more target time slots for performing content downloading from the time slots in each frame. For example, the target time slot number for performing content downloading by the i-th client terminal in the j-th frame can be determined as shown in Formula 1 but is not limited to Formula 1, and it can vary according to the scheduling strategy of each client terminal 100 or the backend platform 140.
[0047] [Formula 1]
[0048] n j (i)=(seed(i)+(j-1)·Δ slot )mod M
[0049] Here, n j (i) is the target time slot number for the i-th client terminal to perform content download in the j-th frame, seed(i) is the identifier assigned to the i-th client terminal, and △ slot It is the time slot offset that makes the target time slot number different in each frame.
[0050] In an actual service operation environment, the client terminal 100 may be unable to download content from a specific time slot due to various obstacles. In this case, the target time slot allocation method of the present disclosure can provide time diversity to overcome service failures by adjusting the length of the frame and the number of time slots in the frame. For example, assuming that the typical service interruption period due to an infrastructure failure is one hour and the length of the frame is set to one hour, the client terminal 100 can download content in frames other than the frame affected by the infrastructure failure.
[0051] In addition, the pre-download period, the number of frames within the pre-download period, the length of the frame, the number of time slots within each frame, and / or the time slot offset, etc. may be set by the backend platform 140 and indicated to the client terminal 100 via the application initial configuration information, but the present disclosure is not limited thereto. In one example, the pre-download period may be specified by the user, or may be determined autonomously by the client terminal 100 based on, for example, whether the user is using the client terminal 100. As another example, the time slot offset may be a value autonomously set by the client terminal 100, or may be a setting value included in the installation file of the application.
[0052] Figure 4 is a flow chart of operations of a client terminal for non-on-demand based downloading in accordance with at least one embodiment of the present disclosure.
[0053] The client terminal 100 may obtain the assigned identifier and a list of one or more contents selected by personalized recommendation for the user of the client terminal 100 (S400). Here, the identifier and the content list may be, but are not limited to, obtained from the backend platform 140 during the initial configuration process after executing the application providing the content service.
[0054] The client terminal 100 may set a wake-up time point for downloading content and may switch to a sleep mode (S410). Here, the sleep mode may refer to a state in which non-on-demand based downloading is disabled, and the wake-up mode may refer to a state in which non-on-demand based downloading is enabled. Non-on-demand based downloading may refer to a download initiated without receiving a download request from a user. The client terminal 100 may set a wake-up time point based on the obtained identifier. For example, among the target time slots determined in each frame in the pre-download period, the start time point of the nearest adjacent target time slot after the current time point may be set as the wake-up time point.
[0055] The client terminal 100 may continuously monitor the time to determine whether the set wake-up time point has been reached (S420). The client terminal 100 may maintain the sleep mode until the set wake-up time point is reached (S420, No).
[0056] When the set wake-up time point is reached ( S420 , Yes), the client terminal 100 may switch from the sleep mode to the wake-up mode to download at least some of the contents in the content list ( S430 ).
[0057] The client terminal 100 may continuously monitor the time to determine whether a preset sleep time point has been reached (S440). Here, the sleep time point may correspond to the end time point of the target time slot. The client terminal 100 may compare the current time point with the end time point of the target time slot, or determine that a time corresponding to the length of the target time slot has passed since the wake-up time point. The client terminal 100 may continue to download content until the set sleep time point is reached (S440, No).
[0058] Once the set sleep point is reached (S440, YES), the client terminal 100 may check whether downloading of all contents in the content list is completed (S450).
[0059] When there is incompletely downloaded content at the sleep time point (S450, No), the client terminal 100 may set the start time point of the target time slot in the next frame as the wake-up time point and switch to the sleep mode (S410).
[0060] In addition, the client terminal 100 can execute Figure 4 Steps S410 to S450 are shown.
[0061] Figure 5 is a flowchart of operations of a client terminal for preventing service failure due to non-on-demand based downloading according to at least one embodiment of the present disclosure.
[0062] In execution Figure 4 During step S420 to step S440, based on a preset condition, the client terminal 100 may not switch to the awakening mode even when the awakening time point is reached, or may switch to the sleep mode even before the sleep time point is reached.
[0063] Reference Figure 5 , the client terminal 100 may check whether a wireless LAN (WLAN) connection is established (S500) periodically or aperiodically (e.g., when it is determined as "No" in step S440) before initiating content download at the target time slot in the current frame (e.g., when it is determined as "Yes" in step S420) or during the process of downloading content at the target time slot in the current frame (e.g., when it is determined as "No" in step S440). For example, the client terminal 100 may check whether a wireless fidelity (Wi-Fi) connection is established through an external device such as a wireless access point.
[0064] When the Wi-Fi connection is established ( S500 , YES), the client terminal 100 may switch to (or remain in) the awake mode to download at least some of the contents in the content list ( S430 ).
[0065] On the other hand, if the WLAN connection is not established (S500, No), the client terminal 100 may check whether the state of the cellular network satisfies a preset condition (S520). The client terminal 100 may monitor the network state using a received signal strength indicator (RSSI) without requiring control information from a separate server. For example, the client terminal 100 may check whether the radio signal strength of the cellular network satisfies a condition of being at or above a preset strength.
[0066] When the state of the cellular network does not satisfy the preset condition (S520, No), the client terminal 100 may set the start time point of the target time slot in the next frame as the wake-up time point and remain in (or switch to) the sleep mode (S410).
[0067] When the state of the cellular network satisfies the preset condition (S520, yes), the client terminal 100 may check whether the location of the client terminal 100 and / or the current time satisfies the preset condition (S540). The client terminal 100 may check whether the location of the client terminal 100 and the current time satisfy the condition that the client terminal 100 is not in a preset download-restricted area and / or download-restricted time zone. Figure 5 It is illustrated that the client terminal 100 checks the location and / or time condition only when the state of the cellular network satisfies the preset condition, but the present disclosure is not limited to this sequence of events.
[0068] When the location and / or current time of the client terminal 100 does not satisfy the preset condition (S540, No), the client terminal 100 may set the start time point of the target time slot in the next frame as the wake-up time point and remain in (or switch to) the sleep mode (S410).
[0069] When the location and / or current time of the client terminal 100 satisfies the preset condition ( S540 , YES), the client terminal 100 may switch to (or remain in) the awake mode to download at least some of the contents in the content list via the cellular network ( S430 ).
[0070] As described above, the client terminal 100 can control the non-on-demand based download based on whether at least one of the wireless connection state, location and current time meets the preset condition, thereby preventing the interruption of the on-demand service that needs to meet the real-time request from the user. In particular, the client terminal 100 can prevent the failure of the paid service using the cellular network by checking the state of the cellular network or the presence and absence of the event. For example, when a large-scale real-time event such as the World Cup or the Olympic Games occurs, there may be a large number of requests for on-demand services using the cellular network. In this case, the client terminal 100 can control the non-on-demand based download service through the terminal location information and / or time information that it can directly obtain.
[0071] Figure 6 is a flowchart of operations of a client terminal for managing incompletely downloaded content according to at least one embodiment of the present disclosure.
[0072] In execution Figure 4 In step S450, the client terminal 100 may manage the content that has not been completely downloaded until the end of the target time slot in the current frame based on a preset condition.
[0073] When there is still content that has not been completely downloaded until the end of the target time slot in the current frame (S450, No), the client terminal 100 may check whether all target time slots in the pre-download period have ended (S600). In one example, the client terminal 100 may check whether the current frame is the last frame in the pre-download period. As another example, the client terminal 100 may check whether the time difference between the current time point and the end time point of the pre-download period is less than a preset threshold.
[0074] When not all target time slots have ended (S600, No), the client terminal 100 may set the start time point of the target time slot in the next frame as the wake-up time point and switch to the sleep mode (S410).
[0075] When all target time slots have ended (S600, No), the client terminal 100 may check whether content download resumption is allowed in another pre-download period (S620). For example, if the application supports a download resumption feature and / or the download resumption feature is allowed by the user, the client terminal 100 may determine that content download resumption in another pre-download period is allowable.
[0076] When content download resumption is allowed (S620), the client terminal 100 may set the start time point of the target time slot determined in the first frame in the next pre-download period as the wake-up time point and switch to the sleep mode (S410). Therefore, even if there is incompletely downloaded content in a specific pre-download period, the client terminal 100 may download the remaining part of the incomplete content in the next pre-download period. The next pre-download period may be, for example, but not limited to, a pre-download period designated for another day.
[0077] When content download resumption is not allowed (S640), the client terminal 100 may check whether playback resumption of content transmitted via streaming is allowed (S620). For example, if the application supports playback resumption and / or if the user allows playback resumption, the client terminal 100 may determine that playback resumption of content is allowable.
[0078] When playback resumption via streaming is not allowed (S640, No), the client terminal 100 may delete incomplete content that has not been completely downloaded within the pre-download period (S660).
[0079] On the other hand, when playback resumption via streaming is allowed (S640, yes), the client terminal 100 may not delete the incomplete content that was not completely downloaded within the pre-download period. Thereafter, when the incomplete content is selected as the content to be played back, the client terminal 100 may play back the remaining part of the incomplete content via streaming.
[0080] Figure 7 is a schematic block diagram of a client terminal according to at least one embodiment of the present disclosure.
[0081] like Figure 7 As shown, the client terminal 100 may include all or part of a download policy manager 700, a download agent 710, a storage 720, a storage manager 730, a local network server 740, a local network server manager 750, a player 760, a player manager 770, and a user interface 780. Figure 7 Not all of the blocks shown are necessary components, and in other implementations, some blocks included in the client terminal 100 may be added, changed, or deleted. The client terminal 100 and its corresponding components may be implemented as hardware or software, or a combination of hardware and software. Additionally, each component may be functionally implemented by software, and the processor may perform functions for each component by software when implemented.
[0082] The download policy manager 700 can manage policies and settings for downloading content. The download policy manager 700 can determine which content to download and the time period for downloading the content. To this end, the download policy manager 700 can receive and manage application initial configuration information and playlists from the backend platform 140. Here, the application initial configuration information may include an identifier assigned to the client terminal 100. Additionally, the playlist may include a list of one or more contents selected by personalized recommendation for the user.
[0083] The download policy manager 700 may use the obtained application initial configuration information to determine a time period for the download agent 710 to download the content in the playlist. Based on the determined time period, the download policy manager 700 may switch the operation mode of the download agent 710.
[0084] In one example, among a plurality of time slots constituting each of the frames included in the predetermined pre-download period, the download policy manager 700 may control the download agent 710 to switch from the sleep mode to the wake-up mode at each time period corresponding to the target time slot determined based on the identifier assigned to the client terminal 100. As another example, if there is content that has not been completely downloaded until the end of the target time slot in a specific frame, the download policy manager 700 may set the start time point of the target time slot of the next frame as the wake-up time point of the download agent 710 and switch the download agent 710 to the sleep mode. As another example, if at least one of the wireless connection state of the client terminal 100, the location of the client terminal 100, and the current time satisfies a preset condition within the time period corresponding to the target time slot in the specific frame, the download policy manager 700 may set the start time point of the target time slot of the next frame as the wake-up time point of the download agent 710 and switch the download agent 710 to the sleep mode.
[0085] The download agent 710 may pre-download all or part of the data for each of the contents in the playback playlist from the content server 120 and store it in the memory 720. Here, the data for playback of the contents may include media segments and / or content attributes constituting the contents. The media segments may be composed of various media formats such as mp4, fragmented mp4 (fmp4), or transport stream (ts), and the content attributes may include, but are not limited to, video / audio configuration information such as PAT or PMT, and a manifest file containing an index of the segments, etc.
[0086] The download agent 710 can pre-download the content in the content list from the content server 120 and store it in the storage 720 without a content request from the user. On the other hand, when the incompletely downloaded content is selected as the content to be played back, the download agent 710 can download the remaining part of the content via streaming.
[0087] In addition, the download agent 710 may manage the data stored in the memory 720. The download agent 710 may delete unnecessary data based on preset conditions from the data stored in the memory 720. For example, if there is incomplete content that is not completely downloaded within a certain pre-download period, and if playback resumption or download resumption via streaming is not allowed in another pre-download period, the download agent 710 may delete the data of the incomplete content from the memory 720.
[0088] The memory 720 may temporarily or semi-permanently store the media segments and / or content attributes downloaded by the download agent 710. The memory manager 730 may check the download status and delete unnecessary data from the data stored in the memory 720.
[0089] The local network server 740 may transmit media segments and / or content attributes stored in the memory 720 to the player 760 to support content playback on the player 760 , and the local network server manager 750 may control settings such as ports of the local network server 740 .
[0090] The player 760 may perform functions such as playback of content using the media segments obtained from the local network server 740 , and the player manager 770 may control the player 760 based on the download status of the content and / or a command issued from the user interface 780 .
[0091] The player 760 may include a buffer and may only start playing back the content when a certain amount of segments are filled in the buffer to overcome network jitter. When any content in the content list is selected as the content to be played back or switched to, the local network server 740 may pass the data pre-stored in the memory 720 to the player 760 to quickly meet the conditions for playback on the player 760.
[0092] Typically, the communication between the client terminal 100 and the content server 120 is performed via a public network, and it is difficult to ensure reliable high-speed transmission. However, the communication via the local network server 740 according to the present disclosure occurs inside the client terminal 100, which can fully ensure stable high-speed transmission and does not cause end-of-line blocking (HOL) problems. Therefore, the local network server 740 can quickly fill the buffer of the player 760 with the media segments pre-stored in the memory 720, thereby significantly reducing the time required for buffering.
[0093] According to at least one embodiment of the present disclosure, by using the local network server 740, the interaction between the player 760 and the service infrastructure such as the content server 120 can be minimized. In addition, the player 760 can be simply implemented by using any known player because it only needs to request continuous segments from the local network server 740.
[0094] The user interface 780 may be a physical medium or a virtual medium implemented for temporary or permanent access to implement interaction between the user and the client terminal 100 .
[0095] The user interface 780 may include at least one input device that can be manipulated by the user and at least one output device that displays the user's usage results. The user interface may include at least one object designed to interact with the user, such as a display screen, keyboard, mouse, text, or icon.
[0096] The user interface 780 may display a list of one or more contents selected using personalized recommendations for the user and / or receive a selection of the contents that the user wishes to view from the user. In at least one embodiment, the user interface 780 may receive input of a content playback request or a switching request from the user. Here, the gesture input may include at least one of sliding, tapping, panning, clicking, double-clicking, dragging and dropping, and pinching to zoom in and out. For example, the user may request to switch to a different channel via a sliding motion in a first direction, and may request to switch to different contents in the same channel via a sliding motion in a second direction. Here, each channel may consist of a specific type of content such as entertainment, drama, movie, and / or documentary. The first direction and the second direction may each be in a vertical direction (i.e., up or down) or a horizontal direction (i.e., left or right), but are not limited to these examples. As another example, the user may request to playback or switch content by clicking or double-clicking at least one side of the screen displayed by the user interface 780.
[0097] As described above, the apparatus and / or method according to some embodiments of the present disclosure can provide a non-on-demand based download service that can be initiated without a user request. Compared with on-demand services, non-on-demand services can allow more reliable network traffic management. Specifically, on-demand services require that content be provided immediately upon user request, which makes it difficult to control traffic. In contrast, for non-on-demand services, because the time when the service is provided can be different from the time when traffic is generated on the network, network traffic can be reliably managed.
[0098] For example, the benefit of flow control for non-demand traffic, compared to the case where non-demand traffic is randomly generated without any control, can be summarized as follows.
[0099] First, when the number of users receiving content through the on-demand service and the number of users receiving content through the non-on-demand service are respectively referred to as N on-demand and N off-demand When the on-demand service is used, the use of the on-demand service can occur independently of the use of the non-on-demand service. A single device can play back the on-demand content and download the non-on-demand content in the background at the same time. Therefore, in the worst case, users of both services can use these services at the same time. In this case, if the average transmission rate of the services through the content server 120 is respectively referred to as R on-demand and R off-demand , then the worst-case service capacity available in the infrastructure is R on-demand ×N on-demand +R off-demand ×N off-demand .
[0100] In contrast, using non-on-demand traffic control, pre-download period configuration can be used to encourage non-on-demand content downloads during times when there is little on-demand traffic, and targeted time slot allocation can be used to evenly distribute users downloading at specific time slots to encourage traffic distribution among users. When the number of frames in the pre-download period and the number of time slots in each frame are N, respectively frame When M and R, the minimum transmission amount of the content server 120 can be reduced to (R off-demand ×N off-demand ) / (M×N frame ), where the peak transmission capacity is R on-demand ×N on-demand , which can be determined only by the on-demand traffic.
[0101] The apparatus or method according to the present disclosure may have corresponding components arranged to be implemented as hardware or software or a combination of hardware and software. Additionally, each component may be functionally implemented by software, and the microprocessor may perform functions for each component by software when implemented.
[0102] Various illustrative implementations of the systems and methods described herein may be implemented by digital electronic circuits, integrated circuits, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), computer hardware, firmware, software, and / or combinations thereof. These various implementations may include those implemented in one or more computer programs executable on a programmable system. The programmable system includes at least one programmable processor, at least one input device, and at least one output device connected to receive data and instructions from a storage system and send data and instructions to the storage system, wherein the programmable processor may be a dedicated processor or a general-purpose processor. A computer program (also referred to as a program, software, software application, or code) contains instructions for a programmable processor and is stored in a "computer-readable recording medium".
[0103] The computer-readable recording medium includes any type of recording device on which data that can be read by a computer system is recordable. Examples of computer-readable recording media include non-volatile media or non-transitory media such as ROM, CD-ROM, magnetic tape, floppy disk, memory card, hard disk, optical / magnetic disk, storage device, etc. The computer-readable recording medium may also include transient media such as data transmission media. In addition, the computer-readable recording medium may be distributed in computer systems connected via a network, where the computer-readable code may be stored and executed in a distributed manner.
[0104] Although the steps in the corresponding flowcharts / timing diagrams are described in this specification as being performed sequentially, they only illustrate the technical concepts of some embodiments of the present disclosure. Therefore, without departing from the concept and scope of the embodiments, a person skilled in the art related to the various embodiments can perform these steps by changing the order described in the various flowcharts / timing diagrams or by performing two or more steps in parallel, and therefore the steps in the various flowcharts / timing diagrams are not limited to the time order shown.
[0105] Although the exemplary embodiments of the present disclosure have been described for illustrative purposes, it will be understood by those skilled in the art that various modifications, additions and substitutions are possible without departing from the concept and scope of the claimed invention. Therefore, for the sake of brevity and clarity, the exemplary embodiments of the present disclosure have been described. The scope of the technical concept of the embodiments of the present disclosure is not limited by the examples. Therefore, it will be understood by those of ordinary skill that the scope of the claimed invention is not limited by the embodiments explicitly described above, but is limited by the claims and their equivalents.
[0106] (reference numerals)
[0107] 10: Content provision system
[0108] CROSS-REFERENCE TO RELATED APPLICATIONS
[0109] This application claims priority to Korean Patent Application No. 10-2022-0092470, filed on Jul. 26, 2022, the disclosure of which is incorporated herein by reference in its entirety.
Claims
1. A method for operating a terminal to pre-download content prior to a user's request, the method comprising the following steps: obtaining an identifier assigned to the terminal; obtaining a list of one or more contents selected through personalized recommendation for the user; as well as At least some of the one or more contents are downloaded within a predefined pre-download period within one or more time periods determined based on the identifier.
2. The method according to claim 1, wherein: The identifier and the list are obtained during an initial configuration process after executing an application installed in the terminal.
3. The method according to claim 1, wherein: The downloading is initiated without receiving a download request from the user.
4. The method according to claim 1, wherein: The time period corresponds to a target time slot, each target time slot being determined based on the identifier from among a plurality of time slots in each frame of the pre-download period, and The download includes: Switching to the awake mode at the start time point of the target time slot of the current frame; and When there is content that has not been completely downloaded at the end time point of the target time slot of the current frame, the mode is switched to the sleep mode after the start time point of the target time slot of the next frame is set as the wake-up time point.
5. The method according to claim 4, wherein: The downloading includes the following steps: When at least one of the wireless connection status of the terminal, the location of the terminal and the current time meets a predetermined condition within a time period corresponding to the target time slot in the current frame, the terminal switches to sleep mode after setting the target time slot of the next frame to the wake-up time point.
6. The method according to claim 1, further comprising, after the downloading: When there is incomplete content that has not been completely downloaded within the pre-download period, the incomplete content is deleted.
7. The method of claim 1, further comprising, after the downloading: When there is incomplete content that has not been completely downloaded within the pre-download period, the remaining portion of the incomplete content is downloaded in the next pre-download period.
8. The method of claim 1, further comprising, after the downloading: When incomplete content that has not been completely downloaded within the pre-download period is selected as playback content, a remaining portion of the incomplete content is streamed and played. 9 . A computer-readable recording medium storing instructions which, when executed by a computer, cause the computer to perform the method according to claim 1 .
10. A terminal, comprising: a download policy manager configured to obtain an identifier assigned to the terminal and a list of one or more contents curated by personalized recommendation for a user of the terminal; as well as A download agent configured to download at least some of the one or more contents within one or more time periods determined based on the identifier within a predefined pre-download period.
Citation Information
Patent Citations
Machine learning method of neural network to predict medical events from electronic medical record
KR1020220092470A