System and method for providing voting services
By categorizing requests through a CDN and database server, and employing fraud detection, the method efficiently handles voting traffic and prevents abusive behavior, ensuring fair and reliable viewer voting processes.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-03-22
- Publication Date
- 2026-03-25
AI Technical Summary
Existing voting systems face challenges in efficiently managing large-scale traffic and preventing abusive behavior, which compromises the fairness and reliability of viewer voting processes.
A method involving a user terminal that categorizes requests based on page type, utilizing a Content Delivery Network (CDN) for high-traffic pages and a database server for other pages, combined with fraud detection mechanisms such as IP checks, browser identification, and Human Interaction Proof (HIP) to validate votes.
This approach effectively manages large-scale traffic and enhances the fairness and reliability of voting by identifying and blocking abusive behaviors, ensuring the integrity of collected data.
Smart Images

Figure 2026509803000001_ABST
Abstract
Description
Technical Field
[0001] This specification relates to a method for providing a robust and reliable voting service and a system for implementing the same.
Background Art
[0002] As Korean wave content such as K-POP spreads globally, attempts are being made everywhere to break away from the conventional flow in which all content is planned within the agency and unidirectionally released to the public.
[0003] The most representative example is the process of member selection in the production stage of idol groups. Conventionally, if members were selected through an exclusive audition within the agency and then debuted after a training period, in recent years, through a national audition, viewers select members by voting, and groups composed of the selected members debut immediately and continue their activities under great attention. Cases like this have emerged. Since the fan base is already formed before the debut of such groups, the risk in the production stage can be reduced, and it has become more common to produce groups based on viewer voting.
[0004] However, such viewer voting is conducted through a website or application provided by the production. Due to the characteristics of voting, a large amount of traffic may concentrate in a short period, and a system configuration for handling this is required. Also, due to excessive fan enthusiasm for members, attempts to vote fraudulently often occur, so it is necessary to take measures to prevent this and enhance the fairness and reliability of voting.
Summary of the Invention
Problems to be Solved by the Invention
[0005] This specification aims to efficiently control large-scale traffic that may occur during the voting process.
[0006] Furthermore, this specification aims to effectively prevent abusive behavior that may occur during the voting process.
[0007] Furthermore, this specification aims to verify the integrity of the collected voting data.
[0008] The technical problems that this specification aims to solve are not limited to those described above, and other technical problems can be inferred from the following embodiments. [Means for solving the problem]
[0009] A method for providing voting services via a user terminal includes the steps of: receiving a request from a user related to a page; if the request is related to a first type of page—a first type of page being a page provided with the voting service category activated—communicating with a Content Delivery Network (CDN) to process the request related to the first type of page; and if the request is related to a second type of page—a second type of page being a page other than the first type of page—communicating with a database server to process the request related to the second type of page.
[0010] Specifically, the step of processing a request related to the first type of page includes the step of processing a display request for the first type of page, and the step of processing a display request for the first type of page may include the steps of: transmitting the display request to the CDN; receiving page information, including a hypertext markup language (HTML) file that is not ready for rendering, from one of the CDN servers included in the CDN; and displaying the first type of page on the screen of the user terminal based on the page information.
[0011] On the other hand, specifically, the step of processing requests related to the second type of page includes the step of processing a request to connect to the second type of page, and the step of processing a request to display the second type of page may include the step of transmitting the display request to the database server; the step of receiving page information from the database server, including an HTML file ready for rendering; and the step of displaying the second type of page on the screen of the user terminal based on the page information.
[0012] On the other hand, the first type of page may include a selection page in which the user can choose at least one of several options, and a voting completion page in which the voting results are displayed after voting information for the option selected on the selection page has been submitted.
[0013] In one embodiment, the selection page displays an image for each of the multiple options and a frame object corresponding to the number of selectable options, and the image of the selected option from the multiple options may be displayed inside the frame object.
[0014] In other embodiments, the selection page may display the names of each of the multiple options, and the multiple options may be displayed in an orderly manner based on their names.
[0015] In yet another embodiment, the first type of page may further include a post-selection page that, prior to the submission of the voting information, requests confirmation from the user regarding whether to submit the voting information or guides the user on whether the voting information can be submitted. The post-selection page displays a button to submit the voting information, and when the submit button is selected, it displays the selected options, a HIP (Human Interaction Proof) interface, and a reconfirmation button. After going through HIP, when the reconfirmation button is selected, an advertisement video can be automatically played, and the post-selection page can switch to the voting completion page when the advertisement video has finished playing.
[0016] A method for providing voting services via a server system including a Content Delivery Network (CDN) server and a database server includes the steps of: receiving requests from multiple user terminals relating to a first type of page—a first type of page being a page provided with a voting service category activated; selecting at least some of the requests based on the order in which they were received; and allocating resources to process the selected requests. The selection step includes, each time the selected requests are processed, a new selection of at least some of the remaining requests, excluding the selected requests, based on the order in which they were received.
[0017] In one embodiment, the method may further include the step of transmitting a standby request to each of the user terminals that transmitted the remaining requests, excluding the selected requests, while the selected requests are being processed.
[0018] On the other hand, in one embodiment, the processing steps may include, when processing requests for submission of voting information through the first type of page, the steps of determining whether each of the selected requests is acceptable; collecting voting information corresponding to the acceptable requests among the selected requests; and blocking the unacceptable requests among the selected requests.
[0019] For example, the step of determining whether each of the selected requests is permissible may include determining that requests transmitted more than a previously set number of times from a user terminal assigned the same IP (Internet Protocol) address, requests in which browser identification information is transmitted redundantly through the same browser, or requests transmitted through a browser corresponding to a specific browser's identification information are not permissible.
[0020] For example, the step of determining whether each of the selected requests is acceptable may include a step of verifying the combination of signature information for authenticating the voting service application installed on each user terminal that transmitted the selected request and the unique identification information of each user terminal; and a step of determining that requests transmitted from user terminals with overlapping combinations are unacceptable requests.
[0021] For example, the step of determining whether each of the selected requests is acceptable may include the step of determining whether a clone application for the voting service application is installed on each user terminal that transmitted the selected request, based on the package name and installation directory of the voting service application installed on each user terminal; and the step of determining that a request transmitted from a user terminal on which it is determined that the clone application is installed is an unacceptable request.
[0022] For example, the step of determining whether each of the selected requests is acceptable may include the step of determining whether an emulator for the voting service application is installed on each user terminal based on the chipset information of the central processing unit (CPU) of each user terminal that transmitted the selected request; and the step of determining that a request transmitted from a user terminal on which an emulator is determined to be installed is an unacceptable request.
[0023] On the other hand, in one embodiment, the method may further include the steps of: storing the collected voting information in a database as raw voting data according to a predefined schema; receiving a post-verification command from an administrator authenticated through signature information; determining whether each of the collected voting pieces is valid based on the raw voting data according to the post-verification command; and finally deciding that the voting pieces determined to be valid are valid voting pieces.
[0024] In this regard, the step of determining whether each of the collected voting information is valid may include the steps of: identifying the voting raw data from the voting raw data in which the email address included in the voting raw data is a temporarily generated address; and determining that the voting information corresponding to the identified voting raw data is invalid voting information.
[0025] On the one hand, in one embodiment, the method further includes: storing the collected voting information in a database as raw data of the vote according to a predefined schema; granting the external server with the data verification authority and allowing access to the raw data of the vote through an authentication process based on the preset signature information; and receiving the verification result from the external server to ensure the integrity of the raw data of the vote. Additionally, the method can further include transmitting a signal indicating that the raw data of the vote has been verified data to any user terminal using the voting service.
[0026] A user terminal providing a voting service according to the disclosed embodiment includes one or more processors; and a memory storing one or more instructions executed by the one or more processors. By executing the one or more instructions, the one or more processors receive a request related to a page from a user. When the request is related to a first type of page - the first type of page is a page provided in a state where the category of the voting service is activated - the one or more processors communicate with a Content Delivery Network (CDN) to process the request related to the first type of page. When the request is related to a second type of page - the second type of page is a page other than the first type of page - the one or more processors communicate with a database server and are configured to process the request related to the second type of page.
[0027] A server system including a content delivery network (CDN) server and a database server that provides a voting service according to the disclosed embodiments includes one or more processors; and a memory storing one or more instructions executed by the one or more processors. The one or more processors, by executing the one or more instructions, receive requests related to a first type of page - the first type of page is a page provided with the category of the voting service activated - from a plurality of user terminals, and based on the order in which the requests are received, select at least a part of the requests, and are configured to allocate resources to and process the selected requests. At this time, when the one or more processors select at least a part of the requests, for each time the selected requests are processed, based on the order in which the requests are received, at least a part of the remaining requests excluding the selected requests are newly selected.
[0028] Specific matters of other embodiments are included in the detailed description and the drawings.
Advantages of the Invention
[0029] According to this specification, by separating servers that process related requests according to the type of page and dispersing traffic, large-scale traffic that may occur in the voting process can be efficiently controlled.
[0030] Also, according to this specification, among the requests related to voting, by identifying behaviors determined to be abusing according to fine criteria, the fairness and reliability of voting can be improved.
[0031] Also, according to this specification, by re-verifying the collected voting data through an authenticated third party, the manipulability of voting can be prevented, and the fairness and reliability of voting can be further improved.
[0032] The effects of the invention are not limited to those mentioned above, and any other effects not mentioned should be clearly understood by those skilled in the art from the description of the claims. [Brief explanation of the drawing]
[0033] [Figure 1] This is a schematic diagram illustrating the environment in which the voting service is provided. [Figure 2] This is a flowchart showing how to provide a voting service via a user terminal. [Figure 3] This flowchart provides a detailed explanation of how to process display requests for Type 1 and Type 2 pages. [Figure 4A] This is an example diagram of a voting service screen provided via a user's terminal. [Figure 4B] This is an example diagram of a voting service screen provided via a user's terminal. [Figure 4C] This is an example diagram of a voting service screen provided via a user's terminal. [Figure 4D] This is an example diagram of a voting service screen provided via a user's terminal. [Figure 4E] This is an example diagram of a voting service screen provided via a user's terminal. [Figure 4F] This is an example diagram of a voting service screen provided via a user's terminal. [Figure 4G] This is an example diagram of a voting service screen provided via a user's terminal. [Figure 5] This is a flowchart illustrating how to provide a voting service via a server system. [Figure 6] This is a flowchart to explain stage S530 in more detail. [Figure 7] This is an illustrative diagram illustrating an embodiment that distinguishes abusive behavior from among the user's requests. [Figure 8] This is an illustrative diagram illustrating an embodiment that distinguishes abusive behavior from among the user's requests. [Figure 9] This is an illustrative diagram illustrating an embodiment that distinguishes abusive behavior from among the user's requests. [Figure 10] This is an illustrative diagram illustrating an embodiment that distinguishes abusive behavior from among the user's requests. [Figure 11] This is a flowchart illustrating an implementation for post-event verification of collected voting information. [Figure 12] This is a flowchart illustrating an embodiment in which collected voting information is verified by an external server. [Modes for carrying out the invention]
[0034] The terms used in the embodiments have been selected as widely used and general terms as possible, taking into consideration the function described herein, although this may change depending on the intent of the articulators, case law, the emergence of new technologies, etc. In certain cases, the applicant has arbitrarily selected some terms, in which case their meaning will be described in detail in the relevant section of the explanation. Therefore, the terms used herein must be defined not merely as names of terms, but based on the meaning of the term and the overall content of this specification.
[0035] Throughout the specification, when a part "includes" a component, this means, unless otherwise stated, that it may include other components rather than excluding them. Furthermore, terms such as "...part" and "...module" used in the specification refer to a unit that processes at least one function or operation, which can be embodied in hardware or software, or a combination of hardware and software, and may not be clearly distinguishable in specific operation, unlike illustrated examples.
[0036] Throughout the specification, the expression “at least one of a, b, and c” may encompass “a alone,” “b alone,” “c alone,” “a and b,” “a and c,” “b and c,” or “all of a, b, and c.”
[0037] The terms "terminal" or "user terminal" as used below may be embodied as computers or portable terminals capable of connecting to servers or other terminals via a network. Here, computers include, for example, laptops, desktops, and laptops equipped with a web browser, and portable terminals may include, for example, wireless communication devices that guarantee portability and mobility, such as communication infrastructure terminals for IMT (international mobile telecommunication), CDMA (code division multiple access), W-CDMA (w-code division multiple access), LTE (long term evolution), smartphones, tablet PCs, and all kinds of handheld-based wireless communication devices.
[0038] In the following description, terms such as “transmission,” “communication,” “send,” “receive,” and other similar terms for signals, messages, or information include not only direct transmission of information, messages, or information from one component to another, but also transmission via other components.
[0039] In particular, "transmitting" or "sending" a signal, message, or information to a component means indicating the final destination of that signal, message, or information, not necessarily the direct destination. The same applies to "receiving" a signal, message, or information. Furthermore, in this specification, "related" means that when one piece of data (or information) is obtained, at least a portion of the other data (or information) can be obtained based on it.
[0040] Furthermore, while terms such as the first, second, etc. may be used to describe a variety of components, the components should not be limited by these terms. These terms may be used for the purpose of distinguishing one component from another.
[0041] For example, without departing from the scope of the rights of this specification, the first component may be named as the second component, and similarly, the second component may be named as the first component.
[0042] The embodiments of this specification will be described in detail below with reference to the accompanying drawings, so that they can be easily implemented by a person with ordinary skill in the art to which this specification pertains. However, this specification can be embodied in a variety of different forms and is not limited to the embodiments described herein.
[0043] The embodiments described herein will be described in detail below with reference to the drawings.
[0044] In describing the embodiments, we will omit explanations of technical content that is well known in the art to which the present invention pertains and is not directly related to the present invention. This is to ensure that the gist of the present invention is communicated more clearly without obscuring it by omitting unnecessary explanations.
[0045] For similar reasons, some components in the attached drawings are exaggerated, omitted, or schematically represented. Furthermore, the sizes of each component do not fully reflect their actual dimensions. In each drawing, identical or corresponding components are assigned the same reference number.
[0046] The advantages and features of the present invention, and methods for achieving them, should become apparent with reference to the embodiments described below in detail with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below and can be embodied in a variety of different forms, and these embodiments are provided merely to ensure that the disclosure of the present invention is complete and to fully teach the scope of the invention to a person ordinary skill in the art to which the invention pertains, and the present invention is defined only by the scope of the claims. Throughout the specification, the same reference numerals mean the same components.
[0047] It can be understood that each block in the processing flowchart and the combination of the flowchart can be performed by computer program instructions. Since these computer program instructions can be implemented on the processor of a general-purpose computer, a special-purpose computer, or other programmable data processing equipment, the instructions performed through the processor of the computer or other programmable data processing equipment will generate means for performing the functions described in the blocks(et) of the flowchart. Since these computer program instructions can also be stored in computer-available or computer-readable memory that can be directed to the computer or other programmable data processing equipment in order to embody the functions in a particular manner, the instructions stored in that computer-available or computer-readable memory can also produce manufactured items that contain means for performing the functions described in the blocks(et) of the flowchart. Since computer program instructions can also be implemented on a computer or other programmable data processing equipment, instructions for a computer or other programmable data processing equipment can also provide steps for performing the functions described in the blocks(e) of a flowchart, by having a series of operational steps performed on the computer or other programmable data processing equipment to generate a process executed on the computer.
[0048] Furthermore, each block may represent a module, segment, or portion of code containing one or more executable instructions for performing a specific logical function. It should also be noted that in some alternative execution examples, the functions mentioned in a block may occur out of order. For example, two blocks illustrated successively may actually be executed substantially simultaneously, or they may be executed in reverse order depending on the function in question.
[0049] Figure 1 is a schematic diagram showing the environment in which the voting service is provided.
[0050] The user terminal 100 can receive user input via an input device (e.g., keyboard, touch panel, microphone) or provide information to the user via an output device (e.g., speaker, screen). The user terminals 100 can also communicate with each other via a network connected to the server system 200, or with other external devices. In this specification, the user terminal 100 refers collectively to personal computers (PCs), tablets, smartphones, etc., and the distinction may be made according to the method by which the user accesses the voting service. For example, a PC may function as the user terminal 100 when a user connects to a website to check information related to voting or to check information about television programs in which voting takes place, while a smartphone may function as the user terminal 100 when a user runs a voting service application to participate in voting.
[0051] In Figure 1, the user terminal 100 is depicted as if there were only one; however, this is for illustrative purposes only, and according to the embodiments of this specification, multiple user terminals can communicate with the server system 200 simultaneously or sequentially. Therefore, hereafter, "user terminal 100" should be understood not as referring to a specific terminal communicating with the server system 200, but rather as representing any terminal of any user utilizing the voting service.
[0052] The server system 200 is a collective term for servers that communicate with each user's terminal in order to provide voting services to a large number of users. In this specification, the server system 200 means a system that includes a Content Delivery Network (CDN) server and a database server. That is, the server system 200 may include one or more additional servers in addition to the CDN server and the database server. In this specification, mutual communication between the user terminal 100 and the server system 200 includes mutual communication between the user terminal 100 and at least some of the servers within the server system 200.
[0053] In providing the voting service, the server system 200 manages the traffic generated by communication with the user terminal 100, allocates resources to process it efficiently, collects information submitted by the user terminal 100 and stores it in a database, and controls the user terminal so that the processed information can be provided to the user through the output device of the user terminal 100.
[0054] The user terminal 100 and the server system 200 can communicate with each other or with other external devices via a connected network. The network can include local area networks (LANs), wide area networks (WANs), value-added networks (VANs), mobile radio communication networks, satellite communication networks, and combinations thereof. The network is a comprehensive data communication network that enables the entities of each configuration shown in Figure 1 to communicate smoothly with each other, and can include wired internet networks, wireless internet networks, and mobile wireless communication networks. Wireless communication technologies used in the network may include, but are not limited to, Wi-Fi (Wi-Fi), Bluetooth®, Bluetooth Low Energy (BLE), Zigbee, Wi-Fi Direct (WFD), Ultra Wideband (UWB), Infrared Data Association (IrDA), and Near Field Communication (NFC).
[0055] On the other hand, the user terminal 100 or the server system 200 may, in one embodiment, include at least one processor and memory for storing at least one instruction executed by the processor. In one embodiment, the user terminal 100 may be connected to the server system 200 via a transceiver or communication interface to exchange data, and the server system 200 may also be connected to the user terminal 100 via a transceiver or communication interface.
[0056] The processor can perform at least one method described later through Figures 1 to 11, and the memory can store information for performing at least one method described later through Figures 1 to 11. The memory may be volatile or non-volatile memory. Furthermore, the processor of the user terminal 100 can control the user terminal 100 to execute a program and provide information, and similarly, the processor of the server system 200 can control the server system 200 to execute a program and provide information. In addition, the code of the program executed by each processor may be stored in memory.
[0057] The processor of the user terminal 100 can be configured to receive page-related requests from the user by executing instructions stored in memory, and if the received request is related to a first type of page, to communicate with the Content Delivery Network (CDN) to process the request related to the first type of page (a page provided with the voting service category activated).
[0058] On the other hand, the processes of the server system 200 can be configured to receive requests related to the first type of page (a page provided with the voting service category activated) from multiple user terminals by executing instructions stored in memory, to select at least some of the requests based on the order in which they were received, and to allocate resources to process the selected requests.
[0059] In explaining with reference to Figure 1, it was assumed that the user terminal 100 and the server system 200 include only the components relevant to this embodiment. However, depending on the embodiment, the user terminal 100 and the server system 200 may each include other general-purpose components, which can be understood by a person with ordinary skill in the art related to this embodiment.
[0060] Figure 2 is a flowchart showing how to provide voting services via user terminal 100.
[0061] As illustrated, the user terminal 100 receives a page-related request from the user (S210). The user terminal 100 checks which type of page the received request relates to (S220). If the request relates to a first-type page—a page provided with the voting service category activated—the user terminal 100 communicates with the Content Delivery Network (CDN) 210 to process the request related to the first-type page (S230). If the request relates to a second-type page—a page other than a first-type page—the user terminal 100 communicates with the database server 220 to process the request related to the second-type page (S240).
[0062] In other words, the user terminal 100 categorizes the pages from which requests originate, processing requests related to the first type of page by communicating with the CDN 210, and processing requests related to the second type of page by communicating with the database server 220. This is because certain types of pages can experience excessive traffic in the short term, and processing requests via the database server 220 would require numerous database servers to handle large amounts of traffic, potentially incurring significant costs. Furthermore, a large number of database servers can complicate the infrastructure, increasing the burden on infrastructure control. On the other hand, the CDN 210 can handle far more traffic than database servers, allowing for the operation of a relatively small number of database servers. However, the method using the database server 220 is not without its advantages, particularly in certain aspects such as search engine optimization (SEO).
[0063] As a result, the user terminal 100, taking into account the characteristic of high traffic during voting time, uses the CDN 210 for requests related to the first type of page, but processes requests related to the second type of page using the database server 220 because the likelihood of instantaneous high traffic is low.
[0064] Figure 3 is a flowchart that specifically illustrates how to process display requests for Type 1 and Type 2 pages.
[0065] Steps S310 to S340 relate to a method for processing a display request for a first type of page, and steps S350 to S380 relate to a method for processing a display request for a second type of page.
[0066] In relation to the first type of page, the user terminal 100 receives a request from the user to display the first type of page (S310) and transmits the received request to the CDN (S320). Subsequently, as a response to the transmitted request, the user terminal 100 receives page information from one of the CDN servers included in the CDN, which includes a hypertext markup language (HTML) file that is not yet ready for rendering (S330). Subsequently, based on the received page information, the user terminal 100 displays the first type of page on the screen of the user terminal 100 (S340).
[0067] Specifically, the user terminal 100 receives links from the CDN server that allow access to HTML and JavaScript files that are not yet ready for rendering. The user terminal 100 downloads the HTML and JavaScript files, executes the JavaScript file, and calls an API (Application Programming Interface) for receiving data. Subsequently, the CDN server responds to the API request, allowing the user terminal 100 to display an interactive page on its screen by reflecting the data received via the API into the placeholder attributes of the HTML file.
[0068] Meanwhile, in relation to the second type of page, the user terminal 100 receives a request from the user to display the second type of page (S340) and transmits the received request to the database server 220 (S360). Subsequently, as a response to the transmitted request, the user terminal 100 receives page information from the database server 220, which includes an HTML file ready for rendering (S370). Then, based on the received page information, the user terminal 100 displays the second type of page on the screen of the user terminal 100 (S380).
[0069] Specifically, the database server 220 transmits an HTML file, ready for rendering, to the user terminal 100. As soon as the HTML file is transmitted to the user terminal 100, rendering of the HTML file begins, allowing the user to view the content of the second type of page even while the user terminal 100 is downloading the JavaScript file. Subsequently, once the JavaScript file is successfully compiled on the user terminal 100, the second type of page is displayed in an interactive state. While this method is more advantageous for some purposes such as SEO, it is disadvantageous for handling sudden increases in traffic or large-scale traffic because it requires more server resources as the server prepares for rendering. Therefore, it can achieve maximum efficiency when used in combination with the above method using a CDN server.
[0070] On the other hand, in this specification, “Type 1 page” refers collectively to pages provided within a voting service delivered via a user terminal 100 in application or web form, with the voting service category activated. According to the embodiment, Type 1 pages may include 1) a selection page in which the user can select at least one of several options, and 2) a voting completion page in which the voting results are displayed after voting information for the option selected on the selection page has been submitted. In an additional embodiment, Type 1 pages may further include 3) a post-selection page that requests confirmation from the user regarding whether or not to submit voting information, or guides the user on whether or not voting information can be submitted, prior to the submission of voting information. Thus, there can be a variety of Type 1 pages related to voting, and representative examples, including 1), 2), and 3) above, will be described below with reference to Figures 4A to 4G.
[0071] Figures 4A to 4G are illustrative diagrams of voting service screens provided via a user terminal. For the sake of explanation, Figures 4A to 4G are assumed to be page screens related to an audition program that selects members for an idol group to debut through voting. The upper section of each of Figures 4A to 4G is divided into multiple tabs, each displaying different content. The HOME tab displays the main page of the website, which comprehensively shows various content. The INFO tab displays the profile pages of the audition program's participants. The MEDIA tab may display clips and promotional videos of the audition program. The TALK tab may display a page for a community service (e.g., chat, guestbook, etc.) in which multiple viewers (users) can participate. On the other hand, the VOTE tab 401 is a category of voting services, and when a user selects the VOTE tab 401, a first-type page related to the voting service of the audition program may be displayed. If we consider only the VOTE tab 401 to be a category of voting services, then the pages displayed when a user selects the HOME, INFO, MEDIA, or TALK tabs should fall under the category of Type 2 pages.
[0072] First, Figures 4A and 4C illustrate cases where the first type of page related to voting in an audition program is not displayed. Considering them individually, Figure 4A shows a page displaying a guidance phrase 402 when there are no ongoing votes; Figure 4B shows a page displaying a phrase 403 indicating that voting is possible via an app when connecting to the website via a PC; and Figure 4C shows a page displaying a phrase 403 indicating that voting is possible via an app and an app-related link 404 when connecting to the website from a mobile environment (tablet, smartphone, etc.). In this case, the app-related link 404 refers to different links depending on whether the app is installed on the user terminal 100. For example, if the app is installed, the link to the page related to the voting service is referred to after running the app; if the app is not installed, the link to the app download page may be referred to.
[0073] On the other hand, Figures 4D to 4G illustrate how a first type of page related to voting in an audition program might appear correctly. Specifically, Figure 4D is an example of a selection page where at least one of several candidate members can be selected; Figure 4E is an example of a post-selection page displayed before voting information is submitted; and Figures 4F and 4G are examples of completed voting pages where the voting results are displayed after voting information has been submitted.
[0074] As illustrated in Figure 4D, the selection page may display frame objects 405 corresponding to the number of selectable options, and images 406 for each of the multiple options. Furthermore, the image of the selected option may be displayed within the frame object 405. The selection page may also display the names of each of the multiple options, and each option may be displayed aligned according to its name. The alphabet bar interface 407 between the two sections (405, 407) assists the user in easily finding the desired option from among many options, and may provide a function to display options whose names begin with a specific alphabet when the user selects that alphabet. In this regard, the name of each option can be written in Korean, English, or a third language, and the part of the name that serves as the alignment criterion for the options may be the letters of the surname in Korean, or the first letter of the surname in English.
[0075] On the other hand, in Figure 4D, different graphic effects may be applied to the rectangular frames 406 that display each of the multiple options, depending on the characteristics of the option. For example, in 406, the frames of four of the eight candidate members (Jung Han-gil, Kwon Sa-rang, Oh Da-eun, and Song Han-gyeol) are displayed with thick solid lines, while the frames of the remaining four (Baek Sung-yi, Jo Na-rae, Kang Eun-soo, and Shim Eun-jung) are displayed with dotted lines. Such graphic effects may be applied based on various characteristics of each candidate member, such as their agency, training period, gender, vote percentage, number of votes, team affiliation, and age. Furthermore, the lower part of Figure 4D shows an interface 408 that indicates the number of currently selected options, an interface 409 that initializes the selected options, and an interface 410 for submitting voting information regarding the selected options.
[0076] Figure 4E illustrates a post-selection page that appears when the user selects the 410 interface after selecting an option. If, for example, the user selects nine members (nine options), including Jung Han-gil and Song Han-gyeol, as shown on the left side of Figure 4E, and then selects the 410 interface, the user terminal 100 may display a post-selection page requesting the user's confirmation on whether to submit voting information, or various types of post-selection pages informing the user that voting information cannot be submitted, depending on whether voting information can be submitted at this time. For example, if voting information can be submitted, the user terminal 100 may display a post-selection page that includes the selected option 411, the HIP (Human Interaction Proof) interface 412, and a reconfirmation button 413.
[0077] According to the embodiment, after going through HIP in response to user input, it is possible that the submission of voting information will be completed in response to user input on the reconfirm button 413. However, it does not stop there; an advertisement video 414 may also be automatically played. In this case, once the advertisement video finishes playing, the selected page can be switched to the voting completion page. In other words, by introducing an advertisement video 414 and guiding users who wish to vote to watch the advertisement video, the profitability of voting-related programs can be improved through advertising costs.
[0078] On the other hand, pages 415 to 418, shown in the lower part of Figure 4E, are various types of pages that inform users that voting information cannot be submitted, and each page explains the reason why voting information cannot be submitted. Examples include page 415, which is displayed when a user commits voting-related abuse or when a user attempting to submit voting information is on a blacklist; page 416, which is displayed when a user attempts to vote twice on the same device; page 417, which is displayed when a user attempts to vote outside of the voting period; and page 418, which is displayed when a device does not have a unique value (e.g., SSAID) or when communication between the application and the server is not normal. In particular, on page 417, the point in time used to determine whether the voting period has been set can be set in various ways. For example, even if a user enters the selection page or a page after selection within the voting period, if the voting period has expired at the time of submission of the voting information, or if the voting period has expired at the time all of the video in 414 has been viewed, page 417 may be provided.
[0079] On the other hand, Figures 4F and 4G illustrate the voting completion page where the voting results are displayed after voting information for the selected options has been submitted. Figure 4F is an example of the voting completion page when the voting certificate 419, which is provided in the form of a bottom sheet, is not opened, and Figure 4G is an example of the voting completion page when the voting certificate 419 is opened. When the voting certificate 419 is not opened, the options selected by the user (including Jung Han-gil and Song Han-gyeol) are displayed via the frame object 405, while when the voting certificate 419 is opened, the options selected by the user may be displayed in a grid form 411 within the voting certificate. In addition, a stamp 422 certifying the validity of the voting certificate is displayed at the bottom of the voting certificate 419, and the stamp 422 may display the nickname of the user who voted, the date and time of the vote, the name of the institution certifying the validity of the voting certificate, etc. However, whether or not the stamp 422 is displayed, the type of information contained in the stamp 422, etc. can be set in various ways depending on the embodiment. Since the voting certificate 419 can be saved and shared on its own, it can be used as a means for users watching voting-related programs to authenticate their community activities and encourage each other's community activities. For this reason, the voting certificate 419 may display a graphic object 420 that provides the ability to download it in image format, or a graphic object 421 that provides the ability to share it on social networking services (SNS).
[0080] Figure 5 is a flowchart showing how to provide voting services via the server system 200.
[0081] As illustrated, the server system 200 receives requests from multiple user terminals related to a first type of page—a page provided with the voting service category activated (S510). Subsequently, the server system 200 selects at least some of the requests based on the order in which they were received (S520), and allocates resources to process the selected requests (S530). In step S520, each time a selected request is processed, the server system 200 selects at least some of the remaining requests, excluding the selected requests, based on the order in which the requests were received.
[0082] In one embodiment, the server system 200 may sort a pre-set number of requests in the order they were received, and manage the remaining unsorted requests in a queue. Such a management method is particularly useful when dealing with rapidly increasing traffic, such as when managing voting in an audition program. In serverless environments or auto-scaling environments that automatically change the number of servers according to the number of users, which are widely used to reduce the cost and time of server construction, a sudden increase in traffic can cause servers to go down in the early stages of server heating. However, through the above management method, requests that do not cause a server to go down can be prioritized, and the rest can be put on hold to prevent server downtime.
[0083] In one embodiment, the server system 200 may transmit a standby request to each user terminal that transmitted the remaining requests, excluding the selected requests, while the selected requests are being processed. Specifically, the server system 200 may provide the standby request to each user terminal in the form of a push notification, vibration, pop-up window, or the like.
[0084] Figure 6 is a flowchart to explain step S530 in more detail. Specifically, Figure 6 illustrates the process of processing a request for submission of voting information transmitted from a user terminal via a first type of page.
[0085] As shown in the diagram, the server system 200 determines whether each of the selected requests is acceptable or not (S610), collects voting information corresponding to the acceptable requests among the selected requests (S620), and blocks the unacceptable requests among the selected requests (S630).
[0086] In this specification, requests for the submission of voting information that contradict predefined voting policies are referred to as abusing. From this perspective, the server system 200's decision on whether or not to accept a request includes determining whether or not the request constitutes abusing. Voting policies can be defined in various ways, but typical examples are as follows:
[0087] 1) Number of votes: 1 vote per day / 1 vote per period 2) Double voting: N votes can be cast in one vote / Up to N votes can be cast in one vote / Only one vote can be cast in one vote 3) Voting Results: Provides total votes, votes per candidate, and vote percentage per candidate / Provides total votes and vote percentage per candidate / Provides only total votes / Not disclosed 4) Voting Scenario Flow: Voting Policy Introduction Page - Candidate Selection - Submission - HIP - Ad Viewing - Final Submission Complete
[0088] From the perspective of the consumer, ensuring the fairness of voting is essential to encouraging active user (participant) participation, establishing the reliability of the service, and ultimately improving the service's success and profitability. Therefore, it is crucial to distinguish between abusing and permitting or blocking each request throughout stage S610. In Figures 7 through 10 below, several techniques are proposed to distinguish abusing more accurately and precisely. Each technique can be applied individually, or two or more techniques can be applied in combination.
[0089] Figures 7 through 10 are illustrative diagrams illustrating embodiments of abusing among the user requests.
[0090] Referring to Figure 7, the server system 200 can determine that a request transmitted from a user terminal assigned the same IP (Internet Protocol) address more than the number of times previously set is an unacceptable request and block it. In other words, if a user terminal assigned the same IP address continues to transmit requests more times than allowed, the server system 200 can determine this as a double vote that violates voting policy.
[0091] Furthermore, the server system 200 may determine that a request in which browser identification information is transmitted twice through the same browser is an unacceptable request and block it. In other words, even if the user terminal is different, if a user logs in with the same ID using the same browser and submits a request that is duplicated with a previously submitted request, the server system 200 may determine that this is a double vote that violates voting policy.
[0092] Furthermore, the server system 200 may determine that a request transmitted through a browser corresponding to the identification information of a specific browser is an unacceptable request and block it. For example, some browsers are easily compatible with proxy servers and support many add-on functions such as changing IP addresses in conjunction with virtual private networks (VPNs). Therefore, in order to fundamentally block the possibility of problems arising from such browsers, the server system 200 may determine that a request transmitted through such a browser is a fraudulent vote that goes against voting policy.
[0093] Referring to Figure 8, the server system 200 can verify the combination of 1) signature information for authenticating the voting service application installed on each user terminal that transmitted the selected request, and 2) the unique identification information of each user terminal that transmitted the selected request, and determine that requests transmitted from user terminals with duplicate combinations are not permitted requests and block them.
[0094] For example, the signature information in 1) may include encryption keys, decryption keys, PIN codes, digital signatures, iris recognition information, facial recognition information, fingerprint information, etc., and the unique identification information in 2) may include the user terminal's IMEI (International Mobile Equipment Identity), wireless router network name (SSID), UUID (Universally Unique Identifier), etc. Since the combination of 1) and 2) should be unique to each user terminal, the server system 200 can use this combination as a criterion for distinguishing duplicate user terminals.
[0095] On the other hand, Figure 9 relates to an embodiment of vote abusing prevention that is relatively effective in a mobile environment. Referring to Figure 9, the server system 200 can determine whether a clone application for the voting service application is installed on each user terminal based on the package name and installation directory of the voting service application installed on each user terminal that transmitted the selected request, and can block requests transmitted from user terminals that are determined to have a clone application installed, by determining them to be unacceptable requests.
[0096] To explain in more detail, when using a clone application, it is possible to operate multiple accounts without logging in or out, and therefore there is a risk of misuse for voting abusing, such as enabling double voting. Therefore, determining whether or not a clone application is installed is significant in preventing voting abusing, and the server system 200 can use the package name and installation path (installation directory) as characteristics of the clone application. For example, the package name of a clone application is often similar to that of the original application (voting service application), but is often generated with some parts added or modified, and the directory in which the clone application is installed is usually different from the directory in which the original application is installed. Therefore, the server system 200 can use this as a basis to determine whether or not a clone application is installed.
[0097] In this embodiment, the server system 200 may determine that a request transmitted from a user terminal on which a clone application is installed is permissible if it was transmitted via the original application on the user terminal, and not permissible if it was transmitted via the clone application. In other words, instead of unconditionally blocking requests transmitted from terminals on which a clone application is installed, the accuracy of abusing identification can be improved by more precisely distinguishing whether the source of the request is the original application or the clone application. However, in this case, the voting information in the request transmitted from the user terminal 100 should include information that can identify which application the request originated from. This can be selected by the service provider or developer, taking into consideration the accuracy of abusing identification, the volume of information transmitted and received, and the resources required.
[0098] On the other hand, Figure 10 relates to an embodiment of vote abusing prevention that is relatively effective in a PC environment. Referring to Figure 10, the server system 200 determines whether an emulator for the voting service application is installed on each user terminal based on the chipset information of the Central Processing Unit (CPU) of each user terminal that transmitted the selected request. Requests transmitted from user terminals that are determined to have an emulator installed can be judged as unacceptable requests and blocked.
[0099] Since emulators can also be used to virtually run voting service applications on a PC and potentially be misused for vote absurdity, determining whether an emulator is installed is just as important as determining whether a clone application is installed in order to prevent vote absurdity.
[0100] However, similar to Figure 9, the server system 200 can also determine whether a request transmitted from a user terminal where an emulator is determined to be installed is permissible if it was transmitted via the user terminal's original application, and unpermissible if it was transmitted via the emulator. In other words, instead of unconditionally blocking requests transmitted from terminals with emulators installed, the system can more precisely distinguish whether the source of the request is the original application or the emulator, thereby improving the accuracy of abusing identification. However, in this case, the voting information in the request transmitted from the user terminal 100 should include information that can identify whether the request originated via the original application or the emulator. This can be chosen by the service provider or developer, taking into account the accuracy of abusing identification, the volume of information transmitted and received, and the resources required.
[0101] Figure 11 is a flowchart illustrating an embodiment for post-event verification of collected voting information.
[0102] As described above with reference to Figure 5, the server system 200 receives requests from multiple user terminals related to the first type of page—a page provided with the voting service category activated (S510). Subsequently, the server system 200 selects at least some of the requests based on the order in which they were received (S520), and allocates resources to process the selected requests (S530). In particular, as illustrated in Figure 6, when processing requests for submission of voting information through the first type of page, the server system 200 may accept some of the requests for submission of voting information to collect the voting information, as exemplified in the examples in Figures 7 to 10, and reject some of them. However, even with voting information that has already been collected, there is a possibility that its validity may have been misjudged during the collection process, or that elements that were not considered may remain. In recent years, there have been ongoing attempts to cause voting distortion and undermine fairness using various voting abusing methods, so rigorous post-verification of already collected voting information is necessary.
[0103] In connection with this, the server system 200 stores the collected voting information in the database as raw voting data according to a predefined schema (S1110). Subsequently, the server system 200 receives a post-verification command from an administrator authenticated through signature information (S1120), and, in accordance with the received post-verification command, determines whether each piece of collected voting information is valid or not based on the raw voting data (S1130). As a result, the server system 200 finally determines the voting information that it has determined to be valid as valid voting information (S1140).
[0104] According to one embodiment, the raw voting data stored in the database by the server system 200 may include at least a portion of the following: voting date, user identification information, user terminal identification information (which may be distinguished by operating system or manufacturer), browser identification information, email address, username, user nickname, and the time the raw voting data was entered into the database. The server system 200 may determine that the voting information corresponding to the raw voting data is invalid if at least a portion of the information included in the raw voting data is duplicated or does not match the voting period, or if there are other errors.
[0105] On the other hand, according to one embodiment, if the server system 200 determines, based on the judgment result in S1130, that the voting information is invalid, it may either process the voting information as a wasted vote (case 1) or, without making a direct judgment, report to the administrator that the voting information may be abusive (case 2).
[0106] As an example related to Case 1, the server system 200 can process and directly block voting information collected from user terminals using temporarily generated email addresses as invalid votes. For example, the server system 200 can identify raw data of votes stored in the database as collected voting information, where the email address included in the raw data of the vote is a temporarily generated address, and determine that the voting information corresponding to the identified raw data of the vote is invalid voting information, and block it.
[0107] Figure 12 is a flowchart illustrating an embodiment in which collected voting information is verified by an external server. As shown in Figure 11, performing independent post-vote verification of voting information by the server system 200 should also be effective in improving the fairness and reliability of voting. However, verifying the data through an external organization with expertise can provide greater confidence to the public using the voting service.
[0108] In connection with this, the server system 200 stores the collected voting information in the database as raw voting data according to a predefined schema (S1210). Subsequently, the server system 200 receives a request from an external server to access the raw voting data (S1220). Based on this, the server system 200 determines whether the external server is a server that has been granted data verification authority (S1230) and whether the external server goes through an authentication process based on pre-configured signature information (S1240). In connection with this, the authentication process (logic) based on signature information for determining whether or not to allow access to the raw voting data can be configured in various ways.
[0109] If the external server is not authorized to verify data or cannot pass the authentication process based on signature information, the server system 200 blocks the external server from accessing the raw voting data. On the other hand, if the external server is authorized to verify data and passes the authentication process based on signature information, the server system 200 allows the external server to access the raw voting data (S1250). According to this embodiment, the server system 200 may provide the raw voting data to the external server in the form of an API (Application Programming Interface).
[0110] Subsequently, the server system 200 receives verification results from an external server that guarantee the integrity of the raw voting data (S1260). Then, the server system 200 transmits a signal to any user terminal using the voting service indicating that the raw voting data is verified data (S1270). According to the embodiment, the signal transmitted by the server system 200 can be expressed in various forms, such as a message, a pop-up window, a push notification, a stamp, or a graphic object, so that the user can recognize that the raw voting data has been verified via the voting service application installed on the user terminal.
[0111] The apparatus according to the above embodiment may include a processor, memory for storing and executing program data, permanent storage such as a disk drive, a communication port for communicating with external devices, and user interface devices such as a touch panel, keys, and buttons. A method embodied in a software module or algorithm may be stored on a computer-readable recording medium as computer-readable code or program instructions executable on the processor. Here, computer-readable recording media include magnetic recording media (e.g., ROM (read-only memory), RAM (random-access memory), floppy disks, hard disks, etc.) and optically readable media (e.g., CD-ROMs, DVDs, etc.). Computer-readable recording media may be distributed across a network of computer systems, and computer-readable code may be stored and executed in a distributed manner. The medium is computer-readable, can be stored in memory, and can be executed by the processor.
[0112] This embodiment can be represented by a functional block configuration and various processing stages. Such a functional block can be embodied by a variety of hardware and / or software configurations that perform a specific function. For example, the embodiment may employ a direct circuit configuration such as memory, processing, logic, look-up tables, etc., which can perform various functions under the control of one or more microprocessors or other control devices. Just as the components can be executed by software programming or software elements, this embodiment includes a variety of algorithms embodied by combinations of data structures, processes, routines, or other programming configurations, which can be embodied in programming or scripting languages such as C, C++, Java, assembler, etc. The functional aspects can be embodied by algorithms executed by one or more processors. Furthermore, this embodiment may employ prior art for electronic environment configuration, signal processing, message processing, and / or data processing, etc. Terms such as “mechanism,” “element,” “means,” and “configuration” can be used broadly and are not limited to mechanical and physical configurations. The terms can also include the meaning of a series of software processes (routines) in conjunction with a processor, etc.
[0113] The embodiments described above are merely examples, and other embodiments may be realized within the scope of the claims described later.
Claims
1. A method for providing voting services via a user terminal, The stage of receiving a request from the user related to the page, If the request is related to a first type of page, the process involves communicating with a Content Delivery Network (CDN) to process the request related to the first type of page. If the aforementioned request is related to a second type of page, the steps include communicating with the database server to process the request related to the second type of page, Includes, The first type of page described above is a page that is provided with the voting service category activated, The method of providing a voting service is as follows: the second type of page is a page excluding the first type of page.
2. The step of processing requests related to the first type of page includes the step of processing display requests for the first type of page, The step of processing a request to display the first type of page is: The steps include transmitting the display request to the CDN, The steps include receiving page information, including a Hypertext Markup Language (HTML) file that is not ready for rendering, from one of the CDN servers included in the CDN, A step of displaying the first type of page on the screen of the user terminal based on the page information, A method for providing the voting service according to claim 1, including the method described in claim 1.
3. The step of processing requests related to the second type of page includes a step of processing requests to connect to the second type of page, The step of processing the display request for the second type of page is: The steps include transmitting the display request to the database server, The steps include receiving page information, including an HTML file ready for rendering, from the aforementioned database server, A step of displaying the second type of page on the screen of the user terminal based on the page information, A method for providing the voting service according to claim 1, including the method described in claim 1.
4. The method for providing a voting service according to claim 1, wherein the first type of page includes a selection page on which at least one of several options can be selected, and a voting completion page on which voting results are displayed after voting information regarding the option selected on the selection page has been submitted.
5. The selection page displays an image for each of the multiple options, and a frame object corresponding to the number of selectable options. The method for providing a voting service according to claim 4, wherein the image of the selected option from among the multiple options is displayed inside the frame object.
6. The selection page displays the names of each of the multiple options. The method for providing a voting service according to claim 4, wherein the plurality of options are arranged and displayed based on the name.
7. The method for providing a voting service according to claim 4, wherein the first type of page further includes a selected page that, prior to the submission of the voting information, requests confirmation from the user regarding whether to submit the voting information or guides the user on whether the voting information can be submitted.
8. The method for providing a voting service according to claim 7, wherein the page after selection displays a button to submit the voting information, and when the submit button is selected, the selected options, the HIP (Human Interaction Proof) interface, and a reconfirm button are displayed, and when the reconfirm button is selected after going through HIP, an advertisement video is automatically played, and when the playback of the advertisement video is completed, the page switches to the voting completion page.
9. A method for providing voting services via a server system including a Content Delivery Network (CDN) server and a database server, The stage of receiving requests related to the first type of page from multiple user terminals, A step of selecting at least some of the requests based on the order in which they were received, The stage of allocating resources to the selected requests and processing them, Includes, The first type of page described above is a page that is provided with the voting service category activated, A method for providing a voting service, wherein the selection step includes, each time the selected requests are processed, a step of newly selecting at least a portion of the remaining requests, excluding the selected requests, based on the order in which the requests were received.
10. The method for providing a voting service according to claim 9, further comprising the step of transmitting a standby request to each user terminal that transmitted the remaining requests, excluding the selected requests, while the selected requests are being processed.
11. The aforementioned processing step involves processing a request for submission of voting information through the first type of page, The stage of deciding whether to accept or reject each of the selected requests, The stage of collecting voting information corresponding to the acceptable requests among the selected requests, The stage of blocking unacceptable requests from the aforementioned selected requests, A method for providing the voting service according to claim 9, including the method described in claim 9.
12. The method for providing a voting service according to claim 11, wherein the step of determining whether each of the selected requests is permissible includes determining that requests transmitted more than a previously set number of times from a user terminal assigned the same IP (Internet Protocol) address, requests in which browser identification information is transmitted redundantly through the same browser, or requests transmitted through a browser corresponding to the identification information of a specific browser are not permissible requests.
13. The stage of deciding whether to accept or reject each of the selected requests is as follows: The steps include verifying the combination of signature information for authenticating the voting service application installed on each user terminal that transmitted the selected request and the unique identification information of each user terminal, The step of determining that a request transmitted from a user terminal with the aforementioned combination overlaps is an unacceptable request, A method for providing the voting service according to claim 11, including the method described in claim 11.
14. The stage of deciding whether to accept or reject each of the selected requests is as follows: Based on the package name and installation directory of the voting service application installed on each user terminal that transmitted the selected request, the step of determining whether a clone application for the voting service application is installed on each user terminal, The step of determining that a request transmitted from a user terminal on which the aforementioned clone application is determined to be an unacceptable request, A method for providing the voting service according to claim 11, including the method described in claim 11.
15. The stage of deciding whether to accept or reject each of the selected requests is as follows: Based on the chipset information of the Central Processing Unit (CPU) of each user terminal that transmitted the selected requests, the step of determining whether an emulator for the voting service application is installed on each user terminal, The step of determining that a request transmitted from a user terminal on which the emulator is determined to be installed is an unacceptable request, A method for providing the voting service according to claim 11, including the method described in claim 11.
16. The steps include: saving the collected voting information as raw voting data in a database according to a predefined schema; The stage of receiving a post-verification order from an administrator authenticated through signature information, In accordance with the instructions for the post-event verification, the step of determining whether each of the collected voting information is valid based on the raw voting data, The stage in which voting information deemed valid is ultimately decided as valid voting information, A method for providing a voting service according to claim 11, further comprising:
17. The step of determining whether each of the collected voting information is valid or not is: The step of identifying, among the raw data of the votes, the raw data of the votes in which the email address included in the raw data of the votes is a temporarily generated address, The steps include determining that the voting information corresponding to the identified raw voting data is invalid voting information, A method for providing the voting service according to claim 16, including the method described in claim 16.
18. The steps include: saving the collected voting information as raw voting data in a database according to a predefined schema; The process involves granting data verification privileges and allowing access to the raw voting data of an external server that has gone through an authentication process based on pre-configured signature information, The steps include receiving verification results from the external server that guarantee the integrity of the raw voting data, A method for providing a voting service according to claim 11, further comprising:
19. The method for providing a voting service according to claim 18, further comprising the step of transmitting a signal to any user terminal using the voting service indicating that the raw data of the vote is verified data.
20. A user terminal that provides voting services, One or more processors, A memory that stores one or more instructions executed by the one or more processors, Includes, The one or more processors execute the one or more instructions, We receive requests from users related to the page. If the request is related to a page of type 1, communicate with the Content Delivery Network (CDN) to process the request related to the page of type 1. If the request is related to a second type of page, communicate with the database server to process the request related to the second type of page. It is set to, The first type of page described above is a page that is provided with the voting service category activated, The second type of page is a user terminal, which is a page excluding the first type of page.