CROSS-REFERENCE

The present application claims priority to Russian Patent Application No. 2019138208, entitled “Method and Server for Generating Modifiable Portion of Digital Document”, filed Nov. 26, 2019, the entirety of which is incorporated herein by reference.

FIELD

The present technology relates to generation of digital documents in general and, specifically, to a method and server for generating a modifiable portion of a digital document.

BACKGROUND

Various global or local communications networks (the Internet, the World Wide Web, local area networks and the like) offer a user a vast amount of information. The information includes a multitude of contextual topics, such as but not limited to, news and current affairs, maps, company information, financial information and resources, traffic information, games and entertainment related information. Users use a variety of client devices (desktop, laptop, notebook, smartphone, tablets and the like) to have access to rich content (like images, audio, video, animation, and other multimedia content from such networks).

The user can access the information available on the Internet by several means. The given user can access a particular resource directly, either by typing an address of the resource (typically an URL or Universal Resource Locator) or by clicking a link in an e-mail or in another web resource. This is particularly useful when the user knows what the resource she or he is interested in.

Alternatively, the given user may conduct a search using a search engine to locate a resource of interest. The latter is particularly suitable in those circumstances, where the given user knows a topic of interest, but does not know the exact address of the resource she is interested in. There are numerous search engines available to the user. Some of them are considered to be general purpose search engines (such as Yandex™, Google™, Yahoo™ and the like). Others are considered to be vertical search engines—i.e. search engines dedicated to a particular topic of search—such as Momondo™ search engine dedicated to searching flights. Irrespective of which search engine is used, the search engine is generally configured to receive a search query from a user, to perform a search and to return a ranked search engine results page (SERP) to the user.

When accessing the particular web site or conducting the search, the user can be presented with generic content or personalized content. The generic content is the content that would be shown to any user accessing the particular resource without taking into account user-specific parameters, such as user interests, user interaction history and the like. Personalized content is a type of content that is specifically targeted for the given user, based on predicted or known user interest parameters. Thus, the personalized content can be thought of as “targeted content”.

For example, the search result ranking on any given SERP can be generic (using a generic search engine result ranking algorithm) or personalized for the given user (i.e. ranked at least in part based on the information known about the given user, such as past queries, past search result interactions and the like). By the same token, a given web resource can provide generic content and personalized content to the user. Personalized content can take many forms, such as a targeted message incorporated into the content of the web site, the targeted message having been selected for the given user as a relevant message based on certain information known about the given user. The targeted message can be provided by a provider of the generic content of the given web resource or, alternatively, it can come from a third-party source and inserted into the generic content otherwise available on the web resource.

Continuing with the example of the SERP, some search results can be generic and ranked using the generic search engine result ranking algorithm, while other results can be targeted electronic messages. These can take form of electronic ad banners or search results associated with “special placement” within the SERP. This special placement may or may not be aligned with the rank of these specially placed search results, if their rank was determined using the generic search engine result ranking algorithm.

Generally, such special placement is selected to drive user attention to the specially placed targeted electronic message and, therefore, to cause the user to execute a pre-determined desired action. The pre-determined desired action can be user interaction with the targeted electronic message, the user visiting a network resource associated with a source of the targeted electronic message, the user executing a pre-determined action associated with the network resource, and the like.

As such, the special placement for the targeted electronic message is typically associated with a special arrangement, such as a source of such specially-places targeted electronic message having to pay for such placement to either a provider of the search engine or a provider of an electronic ads platform.

SUMMARY

Developers of the present technology have appreciated certain technical drawbacks associated with existing algorithms for placement of digital messages into strategic portions of digital documents.

It is an object of the present technology to ameliorate at least some of the inconveniences present in the prior art.

In a first broad aspect of the present technology, there is provided a computer-implemented method of generating a modifiable portion of a digital document. The modifiable portion has message slots for placement of digital messages. The digital messages are provided by a plurality of originators. The generating is performed during a first selection-round of a plurality of selection-rounds, each selection-round is associated with a respective number of message slots that are available on the modifiable portion to be bid-for by originators having access to the respective selection-round. The method is executable by a server. The method comprises, during the first selection-round from the plurality of selection-rounds, providing, by the server, access to the first selection-round to a first combination of originators. The first combination includes a number of originators that is equal to the number of message slots available for the first selection-round. The method thereby comprises limiting, by the server, the number of originators from the plurality of originators that are to bid for message slots during the first selection-round. The method comprises, during the first selection-round from the plurality of selection-rounds, acquiring, by the server, first bidding data for the first selection-round. The first bidding data being associated with the first combination of originators that bid for message slots during the first selection-round. The method comprises, during the first selection-round from the plurality of selection-rounds, triggering, by the server, placement of digital messages of at least some of the first combination of originators in the message slots of the modifiable portion based on the first bidding data, thereby generating, by the server, the modifiable portion of the digital document. The method comprises, during a subsequent selection-round from the plurality of selection-rounds, providing, by the server, access to the subsequent selection-round to a second combination of originators. The second combination is different from the first combination. The second combination includes a number of originators that is equal to the number of message slots available for the subsequent selection-round, The method thereby comprises limiting, by the server, (i) the number of originators from the plurality of originators that are to bid for message slots during the subsequent selection-round, and (ii) which combination of originators are to bid for message slots during the subsequent selection-round. The method comprises, during the subsequent selection-round from the plurality of selection-rounds, acquiring, by the server, second bidding data for the subsequent selection-round. The second bidding data is associated with the second combination of originators that bid for message slots during the subsequent selection-round. The method comprises, during the subsequent selection-round from the plurality of selection-rounds, triggering, by the server, placement of digital messages of at least some of the second combination of originators in the message slots of the modifiable portion based on the second bidding data, thereby generating, by the server, an other modifiable portion of an other digital document.

In some embodiments of the method, the other digital document is the digital document.

In some embodiments of the method, any one of the digital document and the other digital document is a Search Engine Result Page (SERP) to be generated by the server.

In some embodiments of the method, the digital document is an on-line resource.

In some embodiments of the method, the method comprises, during any given one of the plurality of selection-rounds, identifying, by the server, a given combination of originators that is to be provided with access to the any given one of the plurality of selection-rounds. The identifying comprises applying, by the server, combination-selection rules including at least: a limitation rule for limiting a total number of originators in the given combination, and a cycling rule for providing access to different combinations of originators during different selection-rounds from the plurality of selection-rounds.

In some embodiments of the method, the acquiring the first bidding data comprises acquiring, by the server, a bidding price associated with a given originator from the first combination for a respective message slot on the digital document. The bidding price is indicative of an amount that the given originator proposes to pay for the respective message slot for placement of a respective digital message during the first selection-round. The acquiring the first bidding data comprises acquiring, by the server, a current reserve price associated with the given originator during the first selection-round. The current reserve price has been determined specifically for the given originator based on a latest estimation of a maximum amount that the given originator is ready to pay for the respective message slot for placement of the respective digital message during any one of the plurality of selection-rounds. The acquiring the first bidding data comprises comparing, by the server, the bidding price against the current reserve price. The first bidding data is indicative of whether the bidding price of the given originator matches the current reserve price of the given originator.

In some embodiments of the method, in response to the bidding price not matching the current reserve price, the method further comprises updating, by the server, the current reserve price of the given originator from the first combination of originators, thereby generating, by the server, an updated reserve price for the given originator.

In some embodiments of the method, the updating comprises determining, by the server, an adjusted boundary for an adjusted price interval based on (i) a boundary of a price interval and (ii) the first bidding data. The price interval is available to the server and includes the current reserve price. The updating thereby comprises determining an adjusted price interval based on the price interval and the first bidding data. The updating comprises determining, by the server, the updated reserve price for the given originator based on the adjusted price interval.

In some embodiments of the method, the adjusted boundary is one of (i) a lower adjusted boundary of the adjusted price interval and (ii) an upper adjusted boundary of the adjusted price interval.

In some embodiments of the method, when the current reserve price is above the bidding price, the adjusted upper boundary of the adjusted price interval is determined based on a difference between the current reserve price and a lower boundary of the price interval, such that adjustment of the upper boundary of the price interval is proportional to the difference.

In some embodiments of the method, the method further comprises storing, by the server, the updated reserve price in association with the given originator in a storage instead of the current reserve price of the given message originator during the first selection-round. The updated reserve price is to be used as the current reserve price of the given originator during a next selection-round to which the given originator is provided access.

In some embodiments of the method, the given originator is part of the first combination of originators and of the second combination of originators.

In some embodiments of the method, the acquiring the second bidding data comprises acquiring, by the server, an other bidding price associated with the given originator for a respective message slot on the other modifiable portion. The other bidding price is indicative of an amount that the given originator proposes to pay for the respective message slot for placement of a respective digital message during the sequential selection-round. The acquiring the second bidding data comprises acquiring, by the server, the current reserve price associated with the given originator during the sequential selection-round. The current reserve price is the updated reserve price associated with the given originator having been updated in response to the first selection-round. The acquiring the second bidding data comprises comparing, by the server, the other bidding price against the current reserve price. The second bidding data is indicative of whether the other bidding price of the given originator matches the current reserve price of the given message originator.

In some embodiments of the method, the method further comprises after the plurality of selection-rounds determining, by the server, which originator is associated with a lowest current reserve price amongst the plurality of originators. The originator associated with the lowest current reserve price is a low-yield originator. The method further comprises after the plurality of selection-rounds, excluding, by the server, the low-yield originator from all of a sequential plurality of selection-rounds.

In some embodiments of the method, the method further comprises, after the plurality of selection-rounds, determining, by the server, which originator is associated with a highest current reserve price amongst the plurality of originators. The originator associated with the highest current reserve price is a high-yield originator. The method further comprises, after the plurality of selection-rounds including, by the server, the high-yield originator in all of a sequential plurality of selection-rounds.

In some embodiments of the method, the method further comprises triggering, by the server, display of the digital document with the modifiable portion on an electronic device associated with a user.

In another broad aspect of the present technology, there is provided a computer-implemented method of generating a modifiable portion of a digital document. The modifiable portion has message slots for placement of digital messages. The digital messages is provided by a plurality of originators. The generating is performed during a given selection-round of a plurality of selection-rounds. Each selection-round is associated with a respective number of message slots that are available on the modifiable portion to be bid-for by originators having access to the respective selection-round, The method is executable by a server. The method comprises, during the given selection-round from the plurality of selection-rounds, providing, by the server, access to the given selection-round to a first combination of originators. The first combination includes a number of originators that is equal to the number of message slots available for the given selection-round. The method thereby comprises limiting, by the server, the number of originators from the plurality of originators that are to bid for message slots during the first selection-round. The first combination is different from a previous combination of originators. The pervious combination has been provided access to a previous selection-round from the plurality of selection-rounds. The method thereby comprises limiting, by the server, which combination of originators are to bid for message slots during the given selection-round. The first combination and the previous combination includes at least one common originator. The method comprises, during the given selection-round from the plurality of selection-rounds, acquiring, by the server, first bidding data for the first selection-round. The first bidding data is associated with the first combination of originators that bid for message slots during the first selection-round. The first bidding data including at least: (i) a bidding price of the at least one common originator from the first combination of originators, (ii) an individualized current reserve price for the at least one common originator from the first combination of originators. The bidding price is indicative of an amount that the at least one common originator proposes to pay for the respective message slot for placement of a respective digital message during the first selection-round. The individualized current reserve price has been determined specifically for the at least one common originator based on a latest estimation of a maximum amount that the at least one common originator is ready to pay for the respective message slot for placement of the respective digital message during any one of the plurality of selection-rounds. The individualized current reserve price has been adjusted for the at least one common originator in response to the previous selection-round.

In a third broad aspect of the present technology, there is provided a server for generating a modifiable portion of a digital document. The modifiable portion has message slots for placement of digital messages. The digital messages are provided by a plurality of originators.

The generating is performed during a first selection-round of a plurality of selection-rounds. Each selection-round is associated with a respective number of message slots that are available on the modifiable portion to be bid-for by originators having access to the respective selection-round. The server is configured to, during the first selection-round from the plurality of selection-rounds, provide access to the first selection-round to a first combination of originators.

The first combination includes a number of originators that is equal to the number of message slots available for the first selection-round. The server is thereby configured to limit the number of originators from the plurality of originators that are to bid for message slots during the first selection-round. The server is configured to, during the first selection-round from the plurality of selection-rounds, acquire first bidding data for the first selection-round. The first bidding data being associated with the first combination of originators that bid for message slots during the first selection-round. The server is configured to, during the first selection-round from the plurality of selection-rounds, trigger placement of digital messages of at least some of the first combination of originators in the message slots of the modifiable portion based on the first bidding data. The server is thereby configured to generate the modifiable portion of the digital document. The server is configured to, during a subsequent selection-round from the plurality of selection-rounds, provide access to the subsequent selection-round to a second combination of originators. The second combination is different from the first combination. The second combination includes a number of originators that is equal to the number of message slots available for the subsequent selection-round. The server is thereby configured to limit (i) the number of originators from the plurality of originators that are to bid for message slots during the subsequent selection-round, and (ii) which combination of originators are to bid for message slots during the subsequent selection-round. The server is configured to, during the subsequent selection-round from the plurality of selection-rounds, acquire second bidding data for the subsequent selection-round. The second bidding data is associated with the second combination of originators that bid for message slots during the subsequent selection-round. The server is configured to, during the subsequent selection-round from the plurality of selection-rounds, trigger placement of digital messages of at least some of the second combination of originators in the message slots of the modifiable portion based on the second bidding data. The server is thereby configured to generate an other modifiable portion of an other digital document.

In some embodiments of the server, the other digital document is the digital document.

In some embodiments of the server, any one of the digital document and the other digital document is a Search Engine Result Page (SERP) to be generated by the server.

In some embodiments of the server, the digital document is an on-line resource.

In some embodiments of the server, the server is further configured to, during any given one of the plurality of selection-rounds, identify a given combination of originators that is to be provided with access to the any given one of the plurality of selection-rounds. The server configured to identify comprises the server configured to apply combination-selection rules including at least: a limitation rule for limiting a total number of originators in the given combination, and a cycling rule for providing access to different combinations of originators during different selection-rounds from the plurality of selection-rounds.

In some embodiments of the server, to acquire the first bidding data, the server is further configured to acquire a bidding price associated with a given originator from the first combination for a respective message slot on the digital document. The bidding price is indicative of an amount that the given originator proposes to pay for the respective message slot for placement of a respective digital message during the first selection-round. To acquire the first bidding data, the server is further configured to acquire a current reserve price associated with the given originator during the first selection-round. The current reserve price has been determined specifically for the given originator based on a latest estimation of a maximum amount that the given originator is ready to pay for the respective message slot for placement of the respective digital message during any one of the plurality of selection-rounds. To acquire the first bidding data, the server is further configured to compare the bidding price against the current reserve price. The first bidding data is indicative of whether the bidding price of the given originator matches the current reserve price of the given originator.

In some embodiments of the server, in response to the bidding price not matching the current reserve price, the server is further configured to update the current reserve price of the given originator from the first combination of originators, thereby generate an updated reserve price for the given originator.

In some embodiments of the server, to update the current reserve price, the server is configured to determine an adjusted boundary for an adjusted price interval based on (i) a boundary of a price interval and (ii) the first bidding data. The price interval is available to the server and including the current reserve price. The server is thereby configured to determine an adjusted price interval based on the price interval and the first bidding data. The server configured to update comprises the server configured to determine the updated reserve price for the given originator based on the adjusted price interval.

In some embodiments of the server, the adjusted boundary is one of (i) a lower adjusted boundary of the adjusted price interval and (ii) an upper adjusted boundary of the adjusted price interval.

In some embodiments of the server, when the current reserve price is above the bidding price, the adjusted upper boundary of the adjusted price interval is determined based on a difference between the current reserve price and a lower boundary of the price interval, such that adjustment of the upper boundary of the price interval is proportional to the difference.

In some embodiments of the server, the server is further configured to store the updated reserve price in association with the given originator in a storage instead of the current reserve price of the given message originator during the first selection-round. The updated reserve price is to be used as the current reserve price of the given originator during a next selection-round to which the given originator is provided access.

In some embodiments of the server, the given originator is part of the first combination of originators and of the second combination of originators.

In some embodiments of the server, to acquire the second bidding data, the server is configured to acquire an other bidding price associated with the given originator for a respective message slot on the other modifiable portion. The other bidding price is indicative of an amount that the given originator proposes to pay for the respective message slot for placement of a respective digital message during the sequential selection-round. To acquire the second bidding data, the server is configured to acquire the current reserve price associated with the given originator during the sequential selection-round. The current reserve price is the updated reserve price associated with the given originator having been updated in response to the first selection-round. To acquire the second bidding data, the server is configured to compare the other bidding price against the current reserve price. The second bidding data is indicative of whether the other bidding price of the given originator matches the current reserve price of the given message originator.

In some embodiments of the server, the server is further configured to, after the plurality of selection-rounds, determine which originator is associated with a lowest current reserve price amongst the plurality of originators. The originator associated with the lowest current reserve price is a low-yield originator. The server is further configured to, after the plurality of selection-rounds, exclude the low-yield originator from all of a sequential plurality of selection-rounds.

In some embodiments of the server, the server is further configured to, after the plurality of selection-rounds, determine which originator is associated with a highest current reserve price amongst the plurality of originators. The originator associated with the highest current reserve price is a high-yield originator. The server is further configured to, after the plurality of selection-rounds, include the high-yield originator in all of a sequential plurality of selection-rounds.

In some embodiments of the server, the server is further configured to trigger display of the digital document with the modifiable portion on an electronic device associated with a user.

In the context of the present specification, a “server” is a computer program that is running on appropriate hardware and is capable of receiving requests (e.g., from client devices) over a network, and carrying out those requests, or causing those requests to be carried out. The hardware may be one physical computer or one physical computer system, but neither is required to be the case with respect to the present technology. In the present context, the use of the expression a “server” is not intended to mean that every task (e.g., received instructions or requests) or any particular task will have been received, carried out, or caused to be carried out, by the same server (i.e., the same software and/or hardware); it is intended to mean that any number of software elements or hardware devices may be involved in receiving/sending, carrying out or causing to be carried out any task or request, or the consequences of any task or request; and all of this software and hardware may be one server or multiple servers, both of which are included within the expression “at least one server”.

In the context of the present specification, “client device” is any computer hardware that is capable of running software appropriate to the relevant task at hand. Thus, some (non-limiting) examples of client devices include personal computers (desktops, laptops, netbooks, etc.), smartphones, and tablets, as well as network equipment such as routers, switches, and gateways. It should be noted that a device acting as a client device in the present context is not precluded from acting as a server to other client devices. The use of the expression “a client device” does not preclude multiple client devices being used in receiving/sending, carrying out or causing to be carried out any task or request, or the consequences of any task or request, or steps of any method described herein.

In the context of the present specification, a “database” is any structured collection of data, irrespective of its particular structure, the database management software, or the computer hardware on which the data is stored, implemented or otherwise rendered available for use. A database may reside on the same hardware as the process that stores or makes use of the information stored in the database or it may reside on separate hardware, such as a dedicated server or plurality of servers.

In the context of the present specification, the expression “information” includes information of any nature or kind whatsoever capable of being stored in a database. Thus information includes, but is not limited to audiovisual works (images, movies, sound records, presentations etc.), data (location data, numerical data, etc.), text (opinions, comments, questions, messages, etc.), documents, spreadsheets, lists of words, etc.

In the context of the present specification, the expression “component” is meant to include software (appropriate to a particular hardware context) that is both necessary and sufficient to achieve the specific function(s) being referenced.

In the context of the present specification, the expression “computer usable information storage medium” is intended to include media of any nature and kind whatsoever, including RAM, ROM, disks (CD-ROMs, DVDs, floppy disks, hard drivers, etc.), USB keys, solid state-drives, tape drives, etc.

In the context of the present specification, the words “first”, “second”, “third”, etc. have been used as adjectives only for the purpose of allowing for distinction between the nouns that they modify from one another, and not for the purpose of describing any particular relationship between those nouns. Thus, for example, it should be understood that, the use of the terms “first server” and “third server” is not intended to imply any particular order, type, chronology, hierarchy or ranking (for example) of/between the server, nor is their use (by itself) intended imply that any “second server” must necessarily exist in any given situation. Further, as is discussed herein in other contexts, reference to a “first” element and a “second” element does not preclude the two elements from being the same actual real-world element. Thus, for example, in some instances, a “first” server and a “second” server may be the same software and/or hardware, in other cases they may be different software and/or hardware.

Implementations of the present technology each have at least one of the above-mentioned object and/or aspects, but do not necessarily have all of them. It should be understood that some aspects of the present technology that have resulted from attempting to attain the above-mentioned object may not satisfy this object and/or may satisfy other objects not specifically recited herein.

Additional and/or alternative features, aspects and advantages of implementations of the present technology will become apparent from the following description, the accompanying drawings and the appended claims.

