Selecting and providing digital components during content display

By generating scores for the digital components and selecting the highest-scoring digital component based on multiple factors, the disproportionate selection problem in existing technologies is solved, achieving fair and proportional display of the digital components.

CN115668179BActive Publication Date: 2026-02-03GOOGLE LLC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202180037638.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2021-01-07
Filing Date
2021-04-02
Publication Date
2026-02-03
Estimated Expiration
2041-04-02

AI Technical Summary

Technical Problem

Existing technologies tend to favor digital components with shorter or longer durations when selecting and providing digital components, resulting in disproportionate selection and affecting the fair distribution of digital components.

Method used

By generating scores for multiple digital components, and selecting the digital components with the highest scores for display based on factors such as duration, position requirements, priority, and satisfaction rate, a proportional and fair distribution is achieved.

Benefits of technology

It enables the equal selection of digital components of different durations within a specific content time slot, ensuring the fair and proportional display of digital components.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115668179B_ABST
    Figure CN115668179B_ABST
Patent Text Reader

Abstract

Methods, systems, and devices for selecting, providing, and displaying one or more digital components during content display, including computer programs encoded on computer storage media. Methods can include identifying a plurality of digital components that can be presented on a client device. A maximum number of digital components that can be presented in a time slot of content and a duration of the time slot are determined. For each digital component, a score is generated based on the duration, location requirements, and a number of times the digital component is available for provision within the time slot. A first set of digital components is selected based on the scores and provided to the client device.
Need to check novelty before this filing date? Find Prior Art

Description

Background Technology

[0001] This application claims priority to U.S. Provisional Patent Application No. 63 / 134,921, filed January 7, 2021, entitled “Selection and Provision of Digital Components During Display of Content,” the disclosure of which is incorporated herein by reference.

[0002] This specification relates to data processing, and more specifically, to the selection and provision of one or more digital components provided during content display.

[0003] The Internet provides access to digital content, such as video clips, audio clips, or multimedia clips, provided by content delivery systems (e.g., search platforms, social media platforms, or other platforms hosting digital content). Users can view such digital content using applications (e.g., web browsers, native applications) running on client devices such as smartphones, tablets, and personal computers.

[0004] The content delivery system can also provide digital components (e.g., digital content that is not part of the digital content or was not originally included in the digital content) for presentation on client devices during the presentation of the digital content. For example, digital content (e.g., a video clip) may be temporarily paused for one or more time intervals during its presentation, and during each of these time intervals (called a time slot), one or more digital components provided by the digital component system may be presented on the client device. Presentation of the digital content may resume after the digital components have been fully presented or after the duration of the time slot has elapsed. Summary of the Invention

[0005] Generally, an innovative aspect of the subject matter described in this specification can be embodied in a method comprising the following operations: identifying a plurality of digital components; determining (i) a maximum number N of digital components that can be provided in a time slot of specific content, and (ii) a time T specifying the total duration of the time slot, wherein the time slot is a location within the specific content where one or more digital components can be provided; for each of the plurality of digital components, generating a score based on: (i) the duration of the digital component, (ii) a location requirement for the digital component specifying whether the digital component needs to be provided in a specific location among M available locations in the time slot, wherein each available location spans a specific duration of the specific content and a single digital component can be provided for presentation within the available location, and (iii) the number of times the digital component can be provided in the time slot; selecting a first set of digital components with the highest scores from the plurality of digital components for provision in the time slot; and providing the first set of digital components for provision in the time slot during the display of the specific content on a client device.

[0006] Other embodiments in this regard include corresponding methods, apparatus, and actions configured to perform the methods, as well as computer programs encoded on computer storage devices. These and other embodiments may each optionally include one or more of the following features.

[0007] The method may also include generating the score based on: (i) a priority value assigned to the digital component, wherein the priority value represents the importance of providing the digital component to the client device, and (ii) a satisfaction ratio, which represents the number of digital components previously provided to the client device for display for a specific duration relative to the total number of specific digital components available for provision to the client device.

[0008] The method may include determining, based on (i) the maximum number N of the digital components, (ii) the time T specifying the total duration of the time slot, and (iii) the number of times the digital components can be provided within the time slot, taking into account the location requirements of the digital components. The method may include M sequential locations.

[0009] The method may include generating the score based on (i) the duration of the digital component, (ii) the location requirement for the digital component, and (iii) the number of times the digital component can be provided within the N available locations, comprising: grouping the digital component into multiple categories based on the duration of the digital component; determining the location requirement for each of the multiple categories, wherein the location requirement for each category specifies a specific location in which the digital component of the category will be provided for display; for each category, and based on (i) the maximum number N of digital components that can be provided in the time slot, (ii) the time T specifying the total duration of the time slot, and (iii) the location requirement for the category, determining the number of times digital components from each category can be provided for display in the time slot; calculating a duration factor for each category as the reciprocal of the number of times digital components from the category can be included in the time slot; and generating the score for each of the multiple digital components based on the calculated duration factor of (i) the priority value, (ii) the satisfaction ratio, and (iii) the category to which the digital component belongs.

[0010] The method may include identifying multiple categories of digital components of different durations, where each category represents a group of digital components for a specific duration; for each category: determining a target number of digital components to be provided to a client device; determining a number of digital components that have previously been provided to the client device for display; calculating a ratio based on the target number and the number of digital components that have previously been provided to the client device for display; and generating a satisfaction index based on the calculated ratios of the multiple categories.

[0011] Specific embodiments of the subject matter described in this specification can be implemented to achieve one or more of the following advantages. As described above, a content delivery system selects digital components and delivers them to a client device. Typically, the digital components provided to the client device can vary in their respective durations. Some prior art for selecting and providing digital components seeks to maximize the total number of digital components that will be selected and provided to the client device for display within a time slot (as described further below), which often results in a bias towards selecting and providing digital components with shorter durations (relative to other digital components), leading to a disproportionate selection and delivery of digital components. For example, when providing digital components for a 45-second time slot, it is possible to select and provide three 15-second digital components instead of one 45-second digital component or one 30-second digital component and one 15-second digital component. Other prior art for selecting and providing digital components for time slots with longer durations tends to support digital components with longer durations. Therefore, such prior art disproportionately tends to select digital components with shorter or longer durations relative to other digital components. In contrast, the techniques and methods described in this document allow for the equal / proportional selection of digital components of different durations.

[0012] Details of one or more embodiments of the subject matter described herein are set forth in the accompanying drawings and the following description. Other features, aspects, and advantages of the subject matter will become apparent from the description, drawings, and claims. Attached Figure Description

[0013] Figure 1 This is an example environment for distributing and presenting digital content and digital components to client devices.

[0014] Figure 2 This is a flowchart of an example process for selecting digital components.

[0015] Figure 3 This is a flowchart of an example process for generating a duration factor.

[0016] Figure 4 It is a block diagram of an example computer system that can be used to perform the described operations. Detailed Implementation

[0017] Client devices connected to the Internet (e.g., smartphones, tablets, and personal computers) may have content delivered by a content delivery system (e.g., a search platform, social media platform, or another platform hosting digital content). This content may include time slots during which the presentation / display / streaming of content is paused or otherwise suspended for a period of time so that digital components not originally included in the content can be presented to the user of the client device. As used throughout this document, the phrase “digital component” refers to a discrete unit of digital content or digital information (e.g., a video clip, audio clip, multimedia clip, image, text, or other content unit). Typically, digital components are separate from the content and are selected for presentation based on the context of playing the content (e.g., date, time, user characteristics, and device characteristics). For example, digital components may be selected and delivered by a different system than the system that provides the digital content (e.g., a digital component system). Furthermore, digital components are often created by entities other than the entity that creates the content and are therefore considered third-party content relative to the content.

[0018] To facilitate the presentation of digital components during digital content rendering, the content includes (or references) a series of time slots generated for the content. A time slot specifies a timestamp within the content's duration, at which the presentation of the content can be paused and digital components can be provided. For example, suppose a user is watching a specific video provided as a streaming service by a content delivery system using a client device. Also suppose the specific video being presented on the client device lasts for ten minutes, and the specific video includes a five-minute time slot starting from the beginning of the specific video. In such an implementation, the application presenting the specific video can determine that the time slot is located at the five-minute presentation point within the video. Based on this determination, when playback reaches the five-minute mark, the application can pause (or otherwise abort) the presentation of the specific video and present the digital components provided by the digital component system when the playback of the specific video is aborted. After the digital components are presented (or at the end of the time slot duration), the application resumes the presentation of the specific video. Time slots can also specify constraints, including the maximum number of digital components that can be provided within a time slot and / or specifying the maximum total duration of the total time allocated to the digital components provided within the time slot. For example, if a time slot specifies that a maximum of three digital components can be provided within the time slot, then the time slot can continuously display no more than three digital components. In another example, if a time slot specifies a maximum total duration of 45 seconds, then any number of digital components can be selected to be displayed within the time slot until and unless the sum of the durations of all selected digital components is less than or equal to 45 seconds. As another example, if a time slot specifies, for example, a constraint that a maximum of three digital components can be provided within the time slot and specifies a maximum total duration of 45 seconds for the time slot, then the time slot can continuously display no more than three digital components, and up to three digital components can be selected such that the sum of the durations of the three digital components is less than or equal to 45 seconds.

[0019] Depending on the specific implementation, one or more time slots can be used to display digital components. In one example implementation, a time slot can hold a single digital component; however, in other implementations, a time slot can hold more than one digital component.

[0020] Digital components can have different durations. As mentioned above, existing techniques for selecting digital components to deliver to client devices typically maximize the total number of digital components that can be presented on the client device during a time slot, resulting in the disproportionate selection of digital components with shorter durations (relative to other digital components with longer durations). Other existing techniques attempt to select digital components with longer durations without attempting to maximize the total number of digital components, resulting in the disproportionate selection of digital components with longer durations. In either case, existing selection strategies tend to favor the selection of digital components with specific durations. In contrast, the techniques and methods described in this document enable the equal / proportional selection of digital components with different durations for display within time slots included in a given content. The techniques described herein achieve this by selecting digital components not only based on their duration but also based on other properties related to the constraints imposed on the digital components and the constraints imposed on the time slots that provide the digital components. In some implementations, and as described in more detail in this document, the techniques described herein generate a score for each digital component in a set of digital components based on various time slot-related factors and digital component-related factors. The time slot-related factors include, for example, (1) the maximum number of digital components that can be provided in a time slot and (2) the total duration of the time slot. The digital component-related factors include, for example, (1) the duration of the digital component, (2) a location requirement for the digital component, specifying whether the digital component needs to be provided at a specific location among the available locations of the time slot, (3) the number of times the digital component can be provided within the time slot, (4) the type of digital component (e.g., video digital components or audio digital components), and (5) the digital component priority indicating the importance of presenting the digital component on the client device. The resulting score for each digital component indicates the likelihood that the provision of digital components within a time slot maintains a proportional and fair distribution of digital components of different durations. For example, a higher score for a digital component indicates that the distribution of digital components is more likely to produce a proportional / fair distribution of digital components, while a lower score for a digital component indicates that the distribution of digital components is less likely to produce a proportional or fair distribution of digital components.

[0021] Based on the scores generated for the digital components in a set of digital components, one or more digital components (e.g., the digital component with the highest score) are selected and provided for display during a time slot included in the content presented on the client device. For example, a time slot may accommodate different combinations of digital components (or a set of digital components) for different durations. Each of the different combinations of digital components may have a total score based on the scores of the digital components included in each combination (e.g., the sum of the scores of the digital components). In some implementations, the combination with the highest total score (also known as the global score) is selected for the time slot.

[0022] References will be made below Figure 1-4 These features and additional characteristics will be further described.

[0023] Figure 1 This is an example environment 100 for distributing and presenting digital content and digital components to client devices. Example environment 100 includes a network 110. Network 110 may include a local area network (LAN), a wide area network (WAN), the Internet, or a combination thereof. Network 110 may also include any type of wired and / or wireless network, satellite network, cable network, Wi-Fi network, mobile communication network (e.g., 3G, 4G, 5G, etc.), or any combination thereof. Network 110 may utilize communication protocols, including packet-based and / or datagram-based protocols, such as Internet Protocol (IP), Transmission Control Protocol (TCP), User Datagram Protocol (UDP), or other types of protocols. Network 110 may also include multiple devices that facilitate network communication and / or form the hardware infrastructure of the network, such as switches, routers, gateways, access points, firewalls, base stations, repeaters, or combinations thereof. Network 110 connects client device 150, content database 160, and content delivery system 140.

[0024] Client device 150 is an electronic device capable of requesting and receiving resources via network 110. Example client devices 150 include personal computers, tablet devices, wearable devices, digital assistant devices (e.g., smart speakers), mobile communication devices, and other devices capable of sending and receiving data via network 110. Client device 150 typically includes user applications, such as web browsers, to facilitate sending and receiving data via network 110; however, local applications executed by client device 150 can also facilitate receiving and sending data via network 110. For example, client device 150A is an example smartphone device executing video streaming application 152. In some implementations, the input accepted by client device 150 includes audio (e.g., voice) input received through the client device's microphone. Similarly, the output provided by client device 150 may be audio (e.g., synthesized speech) output presented using a speaker that is part of the client device.

[0025] Client device 150 generates content request 112, which is transmitted to content delivery system 140 via network 110. For example, client device 150A may generate content request 112 in the form of a packet data request including header and payload data. Content request 112 may include event data specifying characteristics, such as the name (or network location) of the server from which it requests content, the name (or network location) of the requesting device (e.g., client device 150), and / or information that content delivery system 140 can use to select one or more pieces of content to be provided in response to the request. Content request 112 is transmitted by client device 150 to the server of content delivery system 140 via network 110 (e.g., a telecommunications network).

[0026] Content request 112 may include event data related to other information, such as information already provided by the user of the client device, geographic information indicating the state or region where content request 112 was submitted, or other information providing context for the environment on which the requested content will be displayed (e.g., the time of day the component request was made, the day of the week the component request was made, and the type of device on which the requested content will be displayed, such as a mobile device or a tablet device). Content request 112 may be transmitted, for example, via a packet network, and content request 112 itself may be formatted as packet data with a header and payload data. The header may specify the destination of the packet, while the payload data may include any information discussed above.

[0027] In response to receiving a content request 112 and / or using information included in the content request 112, the content delivery system 140 selects content (e.g., video or audio) from the content database 160 to be provided to the client device 150. In some implementations, the content database 160 includes millions of indexed available content items. Each index entry may reference corresponding content and specify one or more time slots already defined for said corresponding content, where each time slot is a location within the content where one or more digital components can be provided. In some implementations, each index entry may also include data specifying attributes of each time slot within one or more time slots for a particular content item. For example, an index entry may specify one or more time slots, a timestamp for each of the one or more time slots (which specifies, for example, the time from which content begins to be presented at the start of the time slot and / or the time from which content begins to be presented at the end of the time slot), and the duration of each time slot (referred to as T). In another example, each index entry may also include the number of digital components (referred to as N) that can be accommodated in each of the one or more time slots, and one or more location requirements for the one or more time slots.

[0028] For example, suppose client device 150A generates a content request 112 for specific content in content database 160, the content request including time slots for providing digital components. Upon receiving content request 112, content delivery system 140 generates a response 114, the response including data required to render the specific content from content database 160 and data specifying time slot attributes required to render the digital components. In some implementations, response 114 may include the URL (or another resource identifier) ​​of the content in content database 160 and attributes of one or more time slots, such as a timestamp for each time slot, a maximum number (N) of digital components that can be sequentially provided within each of the one or more time slots, and the duration (T) of each of the one or more time slots, and optionally, location requirements for the digital components to be rendered during the time slots. Response 114 is transmitted to client device 150A via network 110. Client device 150A uses the data received in response 114 to render the specific content, for example, via a video streaming application 152 executed on client device 150A. Client device 150A also uses data with specified time slot attributes to represent digital components. For example, the data with specified time slot attributes included in response 114 defines the time slot and its start (and / or end) timestamp. The data can further define the number of digital components that can be provided in the time slot as three, i.e., N = 3. The data can further define the duration T of the time slot as 60 seconds, i.e., T = 60 seconds.

[0029] In some implementations, after receiving response 114, client device 150A generates a request for digital components based on data specifying time slot attributes to provide the digital components. Depending on the specific implementation, the client device may generate a single request for N digital components or N requests for a single digital component. Continuing the example above, client device 150A generates three separate requests 116a, 116b, and 116c for the digital components provided during the time slot. After receiving each of requests 116a, 116b, and 116c, content delivery system 140 selects digital components dc1, dc2, and dc3 and generates responses 118a, 118b, and 118c, respectively, such that each response includes digital components dc1, dc2, and dc3. Responses 118a, 118b, and 118c are transmitted to client device 150A. Client device 150A aborts the display of content at the timestamp of the timeslot and sequentially displays the digital components dc1, dc2, and dc3 included in responses 118a, 118b, and 118c. Optionally, a resource identifier (e.g., a URL) with N digital components or N digital components can be provided along with response 114, eliminating the need to generate separate requests 116 and responses 118. This has the advantage of reducing the bandwidth and resources required for the additional network communication needed for requests 116 and responses 118.

[0030] In some implementations, digital components can be characterized by different attributes, such as the duration of the digital component and its priority. For example, digital component provider 130 can provide and / or generate digital components with different durations, which can vary based on the context of the digital component or the digital component distribution strategy. For example, a digital component can have a duration of 15 seconds, 30 seconds, or 40 seconds.

[0031] In some implementations, each digital component has an associated priority p representing the importance of the digital component in being delivered and presented on the client device. In some implementations, the priority of the digital components is set by the digital component provider 130. For example, the digital component provider 130 may initiate a campaign to promote a specific product. To promote the campaign, the digital component provider 130 may provide multiple digital components relevant to a specific product context. To quickly promote the campaign, the digital component provider 130 may assign priorities to the digital components of the campaign. In another example, the digital component provider 130 may assign priorities to certain types of digital components. For example, the digital component provider 130 may assign a higher priority to video-based digital components compared to audio-based digital components. In some implementations, after receiving the priority associated with each digital component, the content delivery system 140 selects digital components to be delivered to the client device based on the priorities. In some implementations, the content delivery system 140 may calculate the priority of each digital component. For example, the content delivery system 140 may set the priority of the digital components based on the monetary value paid by the digital component provider 130 to the content delivery system 140. In another example, content delivery system 130 may prioritize and deliver digital components based on their context. For example, digital components associated with the context of digital content accessed by a user on a client device may be assigned a higher priority than other digital components. In such an implementation, content delivery system 140 selects or (for selection purposes) assigns higher weights to digital components with higher priority for distribution. For example, suppose there are two types of digital components, where a first type of digital component has a higher priority than a second type of digital component. Since content delivery system 140 selects digital components based on priority (or weights the selection of digital components), it is more likely to select the first type of digital component for distribution than the second type of digital component.

[0032] When displaying digital components on a client device, the content delivery system 140 and the digital component provider 130 may wish to fairly select digital components for delivery and display on the client device. For example, assume a time slot has a duration of 45 seconds, i.e., T = 45 seconds, and the total number of digital components that can be included in the time slot is 3, i.e., N = 3. Further assume that the content delivery system 140 has lists of digital components with durations of 15, 30, and 40 seconds. Assuming that no other factors such as priority are considered when selecting digital components, Table 1 below shows possible selection configurations for digital components to be presented in a time slot.

[0033]

[0034] Table 1

[0035] Table 1 shows that a time slot with a duration of 45 seconds can accommodate digital components of different durations, where each row in the table represents a combination of digital components selected for the time slot. For example, the content delivery system 140 can (1) select a single digital component with a duration of 40 seconds, (2) select a single digital component with a duration of 30 seconds, (3) select three digital components with a duration of 15 seconds, or (4) select two digital components such that the first of the two digital components has a duration of 15 seconds and the second of the two digital components has a duration of 30 seconds.

[0036] As stated above, existing techniques for selecting digital components seek to maximize the number of digital components that can be presented during a time slot, or to maximize the selection of digital components with longer durations. Either way, the selection strategy results in a disproportionate / unfair selection of digital components with shorter or longer durations, respectively. References in this document Figure 2 and 3 Further explanation of the techniques and methods can help alleviate the above problems.

[0037] Figure 2 This is a flowchart of an example process 200 for the fair selection of digital components. The operation of process 200 can be implemented, for example, by a content delivery system 140, to select digital components to be presented on a client device. The operation of process 200 can also be implemented as instructions stored on a computer-readable medium, wherein execution of the instructions causes one or more data processing devices to perform the operation of process 200.

[0038] Although the following explanation of process 200 refers to providing digital components that will be displayed sequentially in a specific time slot, the techniques and methods presented in this document can be implemented to provide digital components (which may or may not be sequential) for presentation in multiple time slots.

[0039] Multiple digital components are identified (210). Digital component provider 130 provides multiple digital components for distribution and display on a client device. Content delivery system 140, which distributes digital components to client device 150, can receive multiple digital components from multiple digital component providers 130 for distribution to the client device as appropriate. In some implementations, content delivery system 140 may access a catalog / manifestation (or list) of digital components from different digital component providers 130 that can be provided to the client device. For example, content delivery system 140 may maintain a list of digital components identified by each digital component provider 130, along with the corresponding resource location / URL of the digital components.

[0040] Content delivery system 140 determines the maximum number N of digital components that can be provided for display within a time slot for a specific content and the total time T (220) specifying the total duration of the N available time slots. In some implementations (and as referenced above) Figure 1 As described above, for specific content to be provided for display on client device 150, content delivery system 140 accesses the index entry corresponding to the specific content (see above reference). Figure 1 As described, the index entry provides attributes / parameters for one or more time slots already defined for a specific content. Therefore, the content delivery system 140 determines the attributes of a specific time slot based on accessing the index entry, including the maximum number N of digital components N that can be provided for presentation within the time slot of the specific content, the duration (T) of the time slot, and one or more location requirements for the time slot.

[0041] Content distribution system 140 generates a score (230) for each of a plurality of digital components. In some implementations, content distribution system 140 generates a score for each of the plurality of digital components that maintains the proportion and fair distribution of digital components with different attributes, such as the duration of the digital component, the context of the digital component, or the type of the digital component (e.g., audio or video digital components only). The score is based on (i) the duration of the digital component, (ii) the priority of the digital component determined by the content distribution system, (iii) the satisfaction rate of the digital component, (iv) the location requirements of the digital component, and (v) the number of times the digital component can be placed in a time slot given constraints. The score for each digital component indicates the probability that the digital component will appear in a time slot. A higher score relative to other available digital components indicates a higher probability that the digital component will appear in a time slot. A lower score relative to other available digital components indicates a lower probability that the digital component will appear. See below for reference. Figure 3 The generation of the score for each numerical component is further described.

[0042] Content delivery system 140 selects a first set of digital components (240) based on the generated scores. In some implementations, based on the generated scores of each of a plurality of digital components, content delivery system 140 selects a first set of digital components with the highest scores compared to the remaining digital components. For example, suppose digital component provider 140 has one hundred digital components, from which content delivery system 140 selects digital components and distributes them to client devices. For each of these one hundred digital components, content delivery system 130 generates a score and selects one or more digital components with the highest scores (referred to as the first set of digital components).

[0043] In some implementations, the content delivery system 140 uses a selection process to select a first group of digital components, which maximizes a global score calculated by summing the individual scores of each selected digital component in the first group. The selection process may include one or more constraints. For example, the selection process may select digital components such that the total duration of the selected digital components is less than or equal to the duration of a time slot, such that the duration required to continuously display the selected digital components does not exceed the time slot duration. In another example, the selection process may select digital components in a manner that satisfies the positional requirements of each selected digital component.

[0044] Another approach to selecting the first group of digital components for a time slot is to select multiple groups of digital components based on constraints such as location requirements, the maximum duration of the time slot, and the duration of the digital components. Once multiple groups of digital components exist, the content distribution system 140 can calculate the total score for each of the multiple groups of digital components based on the scores of the digital components that make up these groups. Finally, the content distribution system 140 can select the group of digital components as the first group with the highest global score among the multiple groups of digital components. For example, the content distribution system 140 can implement a brute-force method to generate all possible combinations of digital components based on one or more constraints and location requirements. Then, the content distribution system 140 can generate a global score for each combination of digital components and select the combination with the highest global score as the first group.

[0045] In some implementations, the base of the first set of digital components is determined by the total duration of each digital component selected based on its score and the duration of the time slot during which the selected digital components will be rendered on the client device. For example, suppose the duration of the time slot during which content is rendered on the client device is 60 seconds. The content distribution system 140 selects the digital component with the highest generated score (e.g., dc1) with a duration of 40 seconds. When another digital component is selected, the content distribution system 140 can calculate the duration of the remaining time slot after digital component dc1 is rendered, in this case, 20 seconds. The content distribution system 140 can then select a digital component with the second highest score that can be accommodated for the remaining time of the time slot, or generate a new digital component's score and select digital components from the newly generated score and the previously generated score, until the maximum number of digital components selected for the time slot is reached.

[0046] Content delivery system 140 provides a first set of digital components (250) to a client device. After selecting the first set of digital components based on the generated score, the content delivery system generates a response for each of the digital component requests from the client device, wherein each response includes the selected digital component for presentation on the client device. For example, after receiving each of requests 116a, 116b, and 116c, content delivery system 140 selects digital components dc1, dc2, and dc3 and generates responses 118a, 118b, and 118c, such that each response includes digital components dc1, dc2, and dc3, respectively. Responses 118a, 118b, and 118c are transmitted to client device 150A, where they are displayed in a time slot during the presentation of specific content.

[0047] In some implementations, after receiving N requests for digital components, the content delivery system 140 may select fewer than N digital components. For example, after receiving each of requests 116a, 116b, and 116c, the content delivery system 140 selects digital components dc1 and dc2 and generates two responses 118a and 118b, respectively, including dc1 and dc2. It should be noted that the maximum number of digital components (N) is considered an upper limit, and no more than N digital components can be presented in a time slot (and fewer than N digital components can be presented in a time slot).

[0048] Figure 3 It is for reference. Figure 2 Operation 230 describes a flowchart of an example process for generating a score for each of a plurality of digital components. Operation 300 can be implemented, for example, by a content delivery system 140 to select the digital components to be presented on a client device. Operation 300 can also be implemented as instructions stored on a computer-readable medium, wherein execution of the instructions causes one or more data processing devices to perform the operation of process 300.

[0049] Content delivery system 140 groups digital components into multiple categories (310). In some implementations, content delivery system 140 groups digital components into multiple categories based on the duration of each digital component. See reference... Figure 1 and 2 As described, the digital component provider 130 can create multiple digital components and make them available to the content delivery system 140 to deliver / provide digital components to client devices. For example, digital components can have three lengths, such as 15, 30, and 45 seconds. Therefore, the content delivery system 140 can generate three sets / classes of digital components: one set / class for digital components with a duration of 15 seconds, another set / class for digital components with a duration of 30 seconds, and another set / class for digital components with a duration of 45 seconds.

[0050] In some implementations, the content distribution system 140 can group digital components into multiple categories based on specific criteria defined according to the duration of the digital components. In some implementations, the criteria can be based on a level of granularity set by the system's designer and / or user. For example, the eligibility criteria for a fine-tuned category could define a category that could include all digital components with a duration between 20 and 25 seconds (i.e., greater than 20 seconds and less than 25 seconds). In contrast, a coarse-grained category could define a category that could include all digital components with a duration between 15 and 30 seconds (i.e., greater than 15 seconds and less than 30 seconds).

[0051] Content delivery system 140 determines the location requirements (320) for each of a plurality of categories. In some implementations, digital component provider 130 may wish to place certain digital components at a certain location relative to other digital components within a time slot. For example, suppose digital component provider 130 provides digital components belonging to two categories: (i) a category of digital components with a duration of 15 seconds (referred to as category A), and (ii) a category of digital components with a duration of 30 seconds (referred to as category B). If digital component provider 130 wishes that the location of the digital component belonging to category B on the client device 110 is neither the first nor the last location of the digital components in the time slot, then digital component provider 130 declares a location requirement. In another example, content delivery system 130 may generate location requirements for digital components based on the characteristics of the digital components and the digital content accessed by the user on the client device. For example, suppose content delivery system 130 selects four digital components for delivery and display on the client device based on the context of the digital content accessed by the user. The content distribution system 130 can also determine that presenting two of the four digital components in sequence is more meaningful to the user than presenting two digital components individually, thereby generating positional requirements for the digital components.

[0052] In another example, the positioning requirement for a digital component within a time slot can be based on how the content distribution system 130 acquires the digital component for that time slot. For example, the content distribution system 130 may specify that the first digital component to be displayed in a time slot of T=45 seconds and N=3 must be acquired through a real-time bidding process, such as an auction. Assume that the digital component selected via this bidding process has a duration of 30 seconds. In this case, the positioning requirement for the 30-second digital component is that it must be displayed first.

[0053] In some implementations, the digital component provider 130 may allow the content distribution system 140 to access a catalog / list of stored digital components, the corresponding location requirements for each digital component, and other attributes of the corresponding digital component. While generating scores for the digital components, the content distribution system 140 may access the catalog / list to access the corresponding location requirements for the digital components. The content distribution system determines (330) the number of times a digital component from a particular category can be included in a time slot. In some implementations, the content distribution system 140 determines the number of times a digital component from a particular category can be included in a time slot based on (i) the maximum number N of digital components that can be provided in a time slot, (ii) the time T specifying the total duration of the time slot, and (iii) the location requirements for the category. This is illustrated using the following example.

[0054] For example, assume a time slot has a duration of 60 seconds (T = 60 seconds) and can accommodate a maximum of 3 digital components (N = 3). It is also assumed that the digital components available for the time slot belong to two categories: (i) a category of digital components with a duration of 15 seconds (referred to as category A), and (ii) a category of digital components with a duration of 30 seconds (referred to as category B). Further assume that the digital component provider 130 has a category B position requirement, specifying that digital components from category B cannot be placed as the first or last digital component in the time slot. In this case, the content delivery system 140 can select digital components in the following order:

[0055] Position 1 Position 2 Position 3 Numerical components from category A Numerical components from category B Numerical components from category A

[0056] In the example above, digital components are selected based on the location requirements for category B. In this example, content distribution system 140 determines that one digital component from category B can be included in a time slot (e.g., in the second location), and two digital components from category A can be included in time slots (e.g., in the first and third locations).

[0057] In another example, assume a time slot has a duration of 75 seconds (T = 75 seconds) and can accommodate a maximum of 3 digital components (N = 3). It is also assumed that the digital components available for the time slot belong to two categories: (i) a category of digital components with a duration of 15 seconds (referred to as category A), and (ii) a category of digital components with a duration of 30 seconds (referred to as category B). Further assume that the digital component provider 130 has a category B position requirement, specifying that digital components from category B cannot be placed as the first digital component in the time slot. In this case, the content delivery system 140 can select digital components in the following order:

[0058] Position 1 Position 2 Position 3 Numerical components from category A Numerical components from category B Numerical components from category B

[0059] In this example, digital components are selected based on location requirements for category B. In this example, content distribution system 140 determines that two digital components from category B can be included in a time slot (e.g., in the second and third positions), and one digital component from category A can be included in a time slot (e.g., in the first position).

[0060] Content distribution system 140 calculates a duration factor (340). In some implementations, content distribution system 140 calculates a duration factor for each digital component as the reciprocal of the number of times a digital component from a particular category can be included in a time slot (as determined in operation 140 above). Continuing from the example above, in the case where a digital component from category B can be included in the time slots of the second and third positions, thus including the digital component from category B twice, the duration factor for the digital component in category B is 1 / 2. Similarly, the duration factor for the digital component in category A is 1 (because a component from category A can only be selected once, and the reciprocal of 1 is 1).

[0061] Based on a priority value, a satisfaction ratio, and a duration factor calculated according to the category to which the digital component belongs, the content distribution system 140 generates a score (350) for each of the multiple digital components. In some implementations, the content provider system 140 determines a priority value for each digital component or for each category of the digital component (as referenced above). Figure 1 and 2 (As described). In some implementations, the satisfaction ratio represents the number of digital components previously provided to the client device for a specific duration, relative to the total number of digital components available for provision to the client device for that duration. In some implementations, as further described below, the satisfaction ratio is calculated for each category of digital components.

[0062] For each category, the content delivery system 140 determines the target number of digital components of that category to be provided to client devices. For example, suppose the content delivery system 140 has 100 digital components for distribution, such that 50 digital components belong to category A (with a duration of 15 seconds) and the other 50 digital components belong to category B (with a duration of 30 seconds). In this example, the content delivery system 140 determines that the target number of digital components for category A to be provided to the client devices is 50, and the target number of digital components for category B to be provided to the client devices is 50.

[0063] For each category, the content delivery system 140 determines the number of digital components previously provided to the client device. In some implementations, the content delivery system 140 maintains multiple digital components for each category previously provided to the client device (e.g., by incrementing a counter for each category each time digital components are provided). In such implementations, the content delivery system determines the number of digital components previously provided to the client device by accessing the value of the counter for a specific category. For example, suppose the content delivery system 140 has selected 40 digital components from category A and delivered them to the client device 150, and selected 15 digital components from category B and delivered them to the client device. In this example, the content delivery system 140 determines that the number of digital components for category A already provided to the client device is 40, and the number of digital components for category B already provided to the client device is 15. In this example, the number of digital components to be provided for category A is 10, and the number of digital components to be provided for category B is 35. The content delivery system 140 uses (i) the number of digital components for categories already delivered to the client device and already displayed, and (ii) the target number of digital components for said categories to calculate a satisfaction ratio, as follows:

[0064] Satisfaction rate 类别 = (Number of digital components transmitted) 类别 / (Target number of digital components) 类别

[0065] Depending on the implementation, the satisfaction ratio can be a score, a percentage, or any other representation based on the number of digital components of a category and a target number of digital components of that category. In some implementations, the satisfaction ratio can be based on the number of digital components delivered to the client device within a specific duration. In such implementations, the satisfaction ratio can be based on (i) the number of digital components delivered over a period of time, regardless of the category of the digital components, and (ii) the expected number of digital components that should have been delivered within the same time period, regardless of the category of the digital components. For example, suppose the number of digital components (X) delivered to the client device over a period of time t... 传递 (Regardless of the category of the digital component), and the expected number (X) of digital components that should have been delivered within the same time period t. 预期 (Regardless of the category of the numerical components), the satisfaction ratio can be expressed as

[0066] Satisfaction rate = (X 传递 *t) / (X 预期 *t)

[0067] Based on a duration factor calculated from (i) the priority value, (ii) the satisfaction ratio, and (iii) the category to which the digital component belongs, the content distribution system generates a score for each digital component. This can be expressed by the following formula:

[0068] V(p, d, s) = F(p)G(d)H(s)

[0069] Here, function V is parameterized by the priority p, duration factor d, and satisfaction ratio r of the digit component. Functions F, G, and H can be functions that map their respective inputs (i.e., p, d, and s) and are generated values ​​from each of their respective inputs that can be used to generate scores. For example, function G can be a function that characterizes the digit component based on its category to promote a fair distribution of the digit component across multiple categories. As described in step 310 of the previously referenced process 300, the category of the digit component is based on its duration. However, depending on the specific implementation, the category can be based on one or more features, such as priority, position factor, satisfaction ratio, and / or the context of the digit component. Functions F and H can be functions that linearly or non-linearly manipulate the priority p and satisfaction ratio s of the digit component into the value space such that the generated values ​​of functions F and H can promote a fair distribution of the digit component. For example, if function F is proportional to priority p, then the value generated by function F for a digit component with high priority is relatively higher than the value generated by function F for a digit component with low priority. As another example, if, according to the satisfaction ratio s, the delivery of digital components lags behind the expected number of digital components to be delivered, then function H can generate a value greater than 0.5. Similarly, if, according to the satisfaction ratio s, the number of digital components already delivered is greater than the expected number of digital components, then function H can generate a value less than 0.5. In some implementations, functions F, G, and H may take into account constraints imposed by the duration of the time slot, the duration of the digital components, and the location requirements of the digital components when calculating their respective generated values.

[0070] In some implementations, these functions can be further parameterized and / or defined using learnable parameters. For example, functions F, G, and H can be machine learning models that learn the learnable parameters by training them through adjusting the values ​​of the learnable parameters. For instance, function G can be a machine learning model configured to receive a duration factor d as input and generate predicted values ​​that can be used to calculate scores for the numerical components. These functions can be determined and modified by the system designer.

[0071] Figure 4This is a block diagram of an example computer system 400 that can be used to perform the operations described above. System 400 includes a processor 410, memory 420, storage device 430, and input / output device 440. Each of components 410, 420, 430, and 440 may be interconnected, for example, using a system bus 450. Processor 410 is capable of processing instructions for execution within system 400. In some implementations, processor 410 is a single-threaded processor. In another implementation, processor 410 is a multi-threaded processor. Processor 410 is capable of processing instructions stored in memory 420 or storage device 430.

[0072] Memory 420 stores information within system 400. In one implementation, memory 420 is a computer-readable medium. In some implementations, memory 420 is a volatile memory cell. In another implementation, memory 420 is a non-volatile memory cell.

[0073] Storage device 430 provides large-capacity storage for system 400. In some implementations, storage device 430 is a computer-readable medium. In various implementations, storage device 430 may include, for example, a hard disk drive, an optical disk drive, a storage device shared by multiple computing devices (e.g., cloud storage devices) over a network, or some other high-capacity storage device.

[0074] Input / output device 440 provides input / output operations for system 400. In some implementations, input / output device 440 may include one or more network interface devices, such as Ethernet cards, serial communication devices (e.g., RS-232 ports), and / or wireless interface devices (e.g., 802.11 cards). In another implementation, the input / output device may include driver devices configured to receive input data and send output data to peripheral devices 460, such as keyboards, printers, and display devices. However, other implementations may also be used, such as mobile computing devices, mobile communication devices, set-top box television client devices, etc.

[0075] although Figure 4 An example processing system is described herein, but the subjects and functional operations described herein can also be implemented in other types of digital electronic circuits, or in computer software, firmware, or hardware, including the structures disclosed herein and their equivalents, or combinations thereof.

[0076] Embodiments of the subject matter and operations described in this specification can be implemented in digital electronic circuits or in computer software, firmware, or hardware, including the structures disclosed in this specification and their structural equivalents, or combinations thereof. Embodiments of the subject matter described in this specification can be implemented as one or more computer programs, i.e., one or more modules of computer program instructions encoded on one or more computer storage media for execution by a data processing device or for controlling the operation of a data processing device. Alternatively or additionally, the program instructions can be encoded on artificially generated propagating signals (e.g., machine-generated electrical, optical, or electromagnetic signals) generated to encode information for transmission to a suitable receiver device for execution by the data processing device. The computer storage medium can be or is included in a computer-readable storage device, a computer-readable storage substrate, a random or serial access memory array or device, or combinations thereof. Furthermore, while the computer storage medium is not a propagating signal, it can be a source or destination of computer program instructions encoded in artificially generated propagating signals. The computer storage medium can also be one or more separate physical components or media (e.g., multiple CDs, disks, or other storage devices), or can be included therein.

[0077] The operations described in this specification can be implemented as operations performed by a data processing device on data stored on one or more computer-readable storage devices or on data received from other sources.

[0078] The term "data processing device" encompasses all kinds of devices, apparatuses, and machines used for processing data, including, for example, programmable processors, computers, systems-on-a-chip, and multiple or combinations thereof. The device may include special-purpose logic circuitry, such as FPGAs (Field-Programmable Gate Arrays) or ASICs (Application-Specific Integrated Circuits). In addition to hardware, the device may also include code that creates an execution environment for the computer program in question, such as code constituting processor firmware, protocol stacks, database management systems, operating systems, cross-platform runtime environments, virtual machines, or combinations thereof. The device and execution environment can implement various different computing model infrastructures, such as web services, distributed computing, and grid computing infrastructures.

[0079] Computer programs (also known as programs, software, software applications, scripts, or code) can be written in any programming language, including compiled or interpreted languages, declarative or procedural languages, and can be deployed in any form, including as standalone programs or as modules, components, subroutines, objects, or other units suitable for use in a computing environment. A computer program may, but does not necessarily, correspond to a file in a file system. A program may be stored as a portion of a file containing other programs or data (e.g., one or more scripts stored in a markup language file), in a single file dedicated to the program in question, or in multiple coordinating files (e.g., files storing one or more modules, subroutines, or code portions). A computer program can be deployed to execute on a single computer, at a single site, or distributed across multiple computers interconnected by a communication network.

[0080] The processes and logic flows described in this specification can be executed by one or more programmable processors, which execute one or more computer programs to perform actions by manipulating input data and generating outputs. The processes and logic flows can also be executed by dedicated logic circuitry, and the device can also be implemented as dedicated logic circuitry, such as FPGAs (Field-Programmable Gate Arrays) or ASICs (Application-Specific Integrated Circuits).

[0081] For example, processors suitable for executing computer programs include general-purpose and special-purpose microprocessors. Typically, a processor receives instructions and data from read-only memory or random access memory, or both. The basic components of a computer are a processor for performing actions according to instructions and one or more memory devices for storing instructions and data. Typically, a computer will also include, or be operatively coupled to, receiving data from or transferring data to one or more mass storage devices (e.g., magnetic disks, magneto-optical disks, or optical disks) for storing data, or both. However, a computer does not necessarily need to have such devices. Furthermore, a computer may be embedded in another device, such as a mobile phone, a personal digital assistant (PDA), a mobile audio or video player, a game console, a global positioning system (GPS) receiver, or a portable storage device (e.g., a universal serial bus (USB) flash drive), to name a few. Devices suitable for storing computer program instructions and data include all forms of non-volatile memory, media, and memory devices, such as semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks, such as internal hard disks or removable disks; magneto-optical disks; and CD-ROMs and DVD-ROMs. The processor and memory may be supplemented by or incorporated into special-purpose logic circuitry.

[0082] To provide interaction with the user, embodiments of the subject matter described in this specification can be implemented on a computer having a display device such as a CRT (cathode ray tube) or LCD (liquid crystal display) monitor for displaying information to the user, and a keyboard and pointing device such as a mouse or trackball from which the user can provide input to the computer. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback, such as visual, auditory, or tactile feedback; and input from the user can be received in any form, including acoustic, voice, or tactile input. Additionally, the computer can interact with the user by sending and receiving files to and from the device used by the user; for example, by sending a webpage to a web browser on the user's client device in response to a request received from a web browser.

[0083] Embodiments of the subject matter described in this specification can be implemented in computing systems that include backend components, such as data servers, or middleware components, such as application servers, or frontend components, such as client computers with graphical user interfaces or web browsers through which users can interact with implementations of the subject matter described in this specification, or any combination of one or more such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium, such as a communication network. Examples of communication networks include local area networks (“LANs”) and wide area networks (“WANs”), the Internet (e.g., the Internet) and peer-to-peer networks (e.g., self-organizing peer-to-peer networks).

[0084] A computing system may include clients and servers. Clients and servers are typically geographically separated and usually interact via a communication network. The relationship between the client and server arises from computer programs running on their respective computers, and a client-server relationship exists between them. In some embodiments, the server transmits data (e.g., HTML pages) to the client device (e.g., to display data to a user interacting with the client device and to receive user input from the user). Data generated at the client device (e.g., the result of user interaction) may be received at the server from the client device.

[0085] Although this specification contains numerous specific implementation details, these details should not be construed as limiting any invention or the scope of any possible claims, but rather as descriptions of specific features of specific embodiments of a particular invention. Certain features described in the context of different embodiments in this specification may also be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment may also be implemented individually or in any suitable sub-combination in multiple embodiments. Furthermore, although various features may be described above as operating in certain combinations, or even initially claimed in this way, in some cases, one or more features in the claimed combination may be removed from the combination, and the claimed combination may refer to a sub-combination or a variation of the sub-combination.

[0086] Similarly, although the operations are depicted in a specific order in the figures, this should not be construed as requiring such operations to be performed in the specific order or sequence shown, or performing all of the shown operations to obtain the desired result. In some cases, multitasking and parallel processing may be advantageous. Furthermore, the separation of the various system components in the embodiments described above should not be construed as requiring such separation in all embodiments, and it should be understood that the described program components and systems can generally be integrated into a single software product or packaged into multiple software products.

[0087] Therefore, specific embodiments of the subject matter have been described. Other embodiments are within the scope of the appended claims. In some cases, the actions described in the claims can be performed in a different order and the desired result can still be obtained. Furthermore, the processes described in the drawings do not necessarily require the specific order or sequence shown to achieve the desired result. In some implementations, multitasking and parallel processing may be advantageous.

Claims

1. A computer-implemented method, comprising: Identify multiple digital components; Determine (i) the maximum number N of digital components that can be provided in a time slot of a particular content, and (ii) the time T that specifies the total duration of the time slot, wherein the time slot is a location within the particular content where one or more digital components can be provided; For each of the plurality of digital components, a score is generated based on: (i) the duration of the digital component, (ii) the location requirement for the digital component, the location requirement specifying whether the digital component needs to be provided in a specific location among M available locations in the time slot, wherein each available location spans a specific duration of the specific content and a single digital component can be provided for presentation within each available location, and (iii) the number of times the digital component can be provided within the time slot; From the plurality of digital components and based on the scores of the plurality of digital components, a first set of digital components with the highest scores is selected for provision within the time slot; as well as During the display of the specific content on the client device, the first set of digital components is provided for delivery within the time slot.

2. The computer-implemented method of claim 1, wherein generating the score is further based on: (i) a priority value assigned to the digital component, wherein the priority value represents the importance of providing the digital component to the client device, and (ii) a satisfaction ratio, wherein the satisfaction ratio represents the number of digital components previously provided to the client device for display for a specific duration relative to the total number of specific digital components available for provision to the client device.

3. The computer-implemented method of claim 1, wherein the number of times the digital component can be provided within the time slot is based on: (i) the maximum number N of the digital components, (ii) the time T specifying the total duration of the time slot, and (iii) the location requirements for the digital components.

4. The computer-implemented method of claim 2, wherein the score is generated based on: (i) the duration of the digital component, (ii) the location requirement for the digital component, and (iii) the number of times the digital component can be provided within the N available locations, including: The digital components are grouped into multiple categories based on their duration; Determine the location requirements for each of the plurality of categories, wherein the location requirements for each category specify the specific location of the time slot in which the digital components of the category will be provided for display; For each category, based on (i) the maximum number N of digital components that can be provided in a time slot, (ii) the time T that specifies the total duration of the time slot, and (iii) the location requirements for the category, determine the number of times that digital components from each category can be provided for display in the time slot; Calculate the duration factor for each category, which is the reciprocal of the number of times the numerical component from that category can be included in the time slot; as well as The score is generated for each of the plurality of digital components based on a calculated duration factor of (i) the priority value, (ii) the satisfaction ratio, and (iii) the category to which the digital component belongs.

5. The computer-implemented method according to any one of claims 1-4, wherein the number of M available positions includes M sequential positions.

6. The computer-implemented method according to claim 2, further comprising generating the satisfaction ratio, including: Identify multiple categories of digital components of different durations, where each category represents a group of digital components for a specific duration; For each category: Determine the target number of digital components to be provided to the client device; Determine the number of digital components previously provided to the client device for display; The ratio is calculated based on the target quantity and the number of digital components previously provided to the client device for display. as well as A satisfaction index is generated based on the calculated ratios of the multiple categories.

7. A system comprising one or more processing means and a memory storing instructions, wherein the instructions, when executed, cause the one or more processing means to perform an operation, the operation comprising: Identify multiple digital components; Determine (i) the maximum number N of digital components that can be provided in a time slot of a particular content, and (ii) the time T that specifies the total duration of the time slot, wherein the time slot is a location within the particular content where one or more digital components can be provided; For each of the plurality of digital components, a score is generated based on: (i) the duration of the digital component, (ii) the location requirement for the digital component, the location requirement specifying whether the digital component needs to be provided in a specific location among M available locations in the time slot, wherein each available location spans a specific duration of the specific content and a single digital component can be provided for presentation within each available location, and (iii) the number of times the digital component can be provided within the time slot; From the plurality of digital components and based on the scores of the plurality of digital components, a first set of digital components with the highest scores is selected for provision within the time slot; as well as During the display of the specific content on the client device, the first set of digital components is provided for delivery within the time slot.

8. The system of claim 7, wherein the generation of the score is further based on: (i) a priority value assigned to the digital component, wherein the priority value represents the importance of providing the digital component to the client device, and (ii) a satisfaction ratio, wherein the satisfaction ratio represents the number of digital components previously provided to the client device for display for a specific duration relative to the total number of specific digital components available for provision to the client device.

9. The system of claim 7, wherein the number of times the digital component can be provided within the time slot is based on: (i) the maximum number N of the digital components, (ii) the time T specifying the total duration of the time slot, and (iii) the location requirements for the digital components.

10. The system of claim 8, wherein the score is generated based on: (i) the duration of the digital component, (ii) the location requirement for the digital component, and (iii) the number of times the digital component can be provided within the N available locations, including: The digital components are grouped into multiple categories based on their duration; Determine the location requirements for each of the plurality of categories, wherein the location requirements for each category specify the specific location of the time slot in which the digital components of the category will be provided for display; For each category, based on (i) the maximum number N of digital components that can be provided in a time slot, (ii) the time T that specifies the total duration of the time slot, and (iii) the location requirements for the category, determine the number of times that digital components from each category can be provided for display in the time slot; Calculate the duration factor for each category, which is the reciprocal of the number of times the numerical component from that category can be included in the time slot; as well as The score is generated for each of the plurality of digital components based on a calculated duration factor of (i) the priority value, (ii) the satisfaction ratio, and (iii) the category to which the digital component belongs.

11. The system according to any one of claims 7-10, wherein the number of M available positions includes M sequential positions.

12. The system of claim 8, wherein the operation further includes generating the satisfaction ratio, comprising: Identify multiple categories of digital components of different durations, where each category represents a group of digital components for a specific duration; For each category: Determine the target number of digital components to be provided to the client device; Determine the number of digital components previously provided to the client device for display; The ratio is calculated based on the target quantity and the number of digital components previously provided to the client device for display. as well as A satisfaction index is generated based on the calculated ratios of the multiple categories.

13. A non-transitory computer-readable medium storing instructions that, when executed by one or more data processing devices, cause the one or more data processing devices to perform operations, the operations including: Identify multiple digital components; Determine (i) the maximum number N of digital components that can be provided in a time slot of a particular content, and (ii) the time T that specifies the total duration of the time slot, wherein the time slot is a location within the particular content where one or more digital components can be provided; For each of the plurality of digital components, a score is generated based on: (i) the duration of the digital component, (ii) the location requirement for the digital component, the location requirement specifying whether the digital component needs to be provided in a specific location among M available locations in the time slot, wherein each available location spans a specific duration of the specific content and a single digital component can be provided for presentation within each available location, and (iii) the number of times the digital component can be provided within the time slot; From the plurality of digital components and based on the scores of the plurality of digital components, a first set of digital components with the highest scores is selected for provision within the time slot; as well as During the display of the specific content on the client device, the first set of digital components is provided for delivery within the time slot.

14. The non-transitory computer-readable medium of claim 13, wherein the generation of the score is further based on: (i) a priority value assigned to the digital component, wherein the priority value represents the importance of providing the digital component to the client device, and (ii) a satisfaction ratio, wherein the satisfaction ratio represents the number of digital components previously provided to the client device for display for a specific duration relative to the total number of specific digital components available for provision to the client device.

15. The non-transitory computer-readable medium of claim 13, wherein the number of times the digital component can be provided within the time slot is based on: (i) the maximum number N of the digital components, (ii) the time T specifying the total duration of the time slot, and (iii) the location requirements for the digital components.

16. The non-transitory computer-readable medium of claim 14, wherein the score is generated based on: (i) the duration of the digital component, (ii) the location requirement for the digital component, and (iii) the number of times the digital component can be provided within the N available locations, including: The digital components are grouped into multiple categories based on their duration; Determine the location requirements for each of the plurality of categories, wherein the location requirements for each category specify the specific location of the time slot in which the digital components of the category will be provided for display; For each category, based on (i) the maximum number N of digital components that can be provided in a time slot, (ii) the time T that specifies the total duration of the time slot, and (iii) the location requirements for the category, determine the number of times that digital components from each category can be provided for display in the time slot; Calculate the duration factor for each category, which is the reciprocal of the number of times the numerical component from that category can be included in the time slot; as well as The score is generated for each of the plurality of digital components based on a calculated duration factor of (i) the priority value, (ii) the satisfaction ratio, and (iii) the category to which the digital component belongs.

17. The non-transitory computer-readable medium according to any one of claims 13-16, wherein the number of M available locations includes M sequential locations.

18. The non-transitory computer-readable medium of claim 14, wherein the operation further comprises generating the satisfaction ratio, including: Identify multiple categories of digital components of different durations, where each category represents a group of digital components for a specific duration; For each category: Determine the target number of digital components to be provided to the client device; Determine the number of digital components previously provided to the client device for display; The ratio is calculated based on the target quantity and the number of digital components previously provided to the client device for display. as well as A satisfaction index is generated based on the calculated ratios of the multiple categories.

Citation Information

Patent Citations

  • Digital video content modification

    JP2020528680A

  • Optimized digital component analysis system

    US20180101526A1