WO2024257934A1 - 데이터를 전송하는 전자 장치의 동작 방법 및 이를 지원하는 전자 장치 - Google Patents

데이터를 전송하는 전자 장치의 동작 방법 및 이를 지원하는 전자 장치 Download PDF

Info

Publication number
WO2024257934A1
WO2024257934A1 PCT/KR2023/008510 KR2023008510W WO2024257934A1 WO 2024257934 A1 WO2024257934 A1 WO 2024257934A1 KR 2023008510 W KR2023008510 W KR 2023008510W WO 2024257934 A1 WO2024257934 A1 WO 2024257934A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
advertising
service
advertising platform
data transmission
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/KR2023/008510
Other languages
English (en)
French (fr)
Inventor
리제난
리우샹밍
리앙인하오
선티안키
카오슈쉥
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Coupang Corp
Original Assignee
Coupang Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Coupang Corp filed Critical Coupang Corp
Publication of WO2024257934A1 publication Critical patent/WO2024257934A1/ko
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0242Determining effectiveness of advertisements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1031Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/06Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/28Timers or timing mechanisms used in protocols
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0247Calculate past, present or future revenues

Definitions

  • the present invention relates to a method and device for transmitting data, and more specifically, to a method for converting a log of an event occurring in a service into data suitable for each advertising platform linked to the service and transmitting the converted data, and an electronic device thereof.
  • an electronic device can convert a log of an event occurring on a service into data suitable for each advertising platform linked to the service and transmit the converted log.
  • Various embodiments may provide a method of operating an electronic device for data transmission and an electronic device supporting the same.
  • a method for transmitting by an electronic device may include: a step of checking information on one or more advertising platforms linked to a service provided by the electronic device; a step of setting a data transmission structure for transmitting data related to an event occurring on the service to each advertising platform included in the one or more advertising platforms; and a step of transmitting data related to the event to each advertising platform based on the data transmission structure.
  • the event may occur based on a user's action on the service.
  • the data transmission method may further include the step of obtaining logs for the service from a library configured to record all logs generated through the service.
  • the recording of all logs generated through the service to the library may be performed based on a frontend server for the service.
  • the electronic device may correspond to a backend server that is different from the frontend server.
  • the data transmission structure may include a log storage structure for extracting and storing at least some of the logs related to the event among the logs for the service, and a log-to-data converter structure for converting the at least some of the logs stored through the log storage structure into respective data for each advertising platform.
  • the log-data converter structure may include one or more converters configured corresponding to each of the one or more advertising platforms.
  • a first converter corresponding to a first advertising platform included in the one or more advertising platforms among the one or more converters may be configured to convert at least some of the logs into first data according to a data format for the first advertising platform.
  • the first data may include data about the event and service identifier data set for the service by the first advertising platform.
  • a respective switch function may be set for each converter included in said one or more converters to determine whether each converter is activated.
  • the data transmission method may further include: identifying information about a new advertising platform to be linked to the service; setting a new converter for the new advertising platform to be added to the data transmission structure; and transmitting data related to the event to the new advertising platform based on the new converter.
  • the data transmission method may further include the steps of: identifying information about an advertising platform to be deleted among the one or more advertising platforms; and configuring a converter for the advertising platform to be deleted from the data transmission structure.
  • the data transmission method may further include: obtaining load management information related to data conversion processing for the one or more advertising platforms; setting, based on the load management information, a threshold number of converters to be simultaneously activated among one or more converters corresponding to the one or more advertising platforms in the data transmission structure; and deactivating, based on priority information for the one or more advertising platforms, the remaining converters except for some of the converters determined according to the threshold number among the one or more advertising platforms.
  • the method further comprises the step of setting a threshold time after which the remaining converters are deactivated, and after the threshold time has elapsed, the remaining converters can be reactivated.
  • the priority information may be set based on at least one of revenue information confirmed based on each advertising platform, contract period information with each advertising medium corresponding to each advertising platform, and information on click rates of users for each advertisement on the service related to each advertising platform.
  • An electronic device for transmitting data comprises: a processor; and one or more memories storing one or more instructions, wherein the one or more instructions, when executed, control the processor to perform: a step of checking information on one or more advertising platforms linked to a service provided by the electronic device; a step of setting a data transmission structure for transmitting data related to an event occurring on the service to each advertising platform included in the one or more advertising platforms; and a step of transmitting data related to the event to each advertising platform based on the data transmission structure.
  • the present invention provides a method for an electronic device to convert a log of an event occurring on a service into data suitable for each advertising platform linked to the service and transmit the converted data, thereby having a technical effect in that data on an event occurring on a service can be effectively transmitted to individual advertising platforms.
  • FIG. 1 is a drawing for explaining a data transmission system in which an operating method of an electronic device for data transmission according to various embodiments can be implemented.
  • FIG. 2 is a diagram illustrating the configuration of a server device (100) and a user device (200) according to various embodiments.
  • FIG. 3 is a diagram illustrating an operation method of a server device (100) for data transmission according to various embodiments.
  • Figure 4 is a diagram showing how logs on a service are converted into data suitable for each advertising platform and transmitted at the front-end level.
  • FIG. 5 is a diagram illustrating a service log being converted into data suitable for each advertising platform and transmitted at the backend level based on the data transmission structure of the present invention.
  • FIG. 6 is a diagram illustrating an operation method of a server device (100) that deactivates the operation of some converters according to the priority of an advertising platform.
  • FIG. 1 is a drawing for explaining a data transmission system in which an operating method of an electronic device for data transmission according to various embodiments can be implemented.
  • the data transmission system may be implemented in various types of electronic devices.
  • the data transmission system may be implemented in the server device (100) and the user device (200).
  • the server device (100) and the user device (200) may perform operations according to various embodiments of the present disclosure based on the data transmission system implemented in each device.
  • the server device (100) may correspond to a backend server that transmits data related to an event occurring in a service to the advertising platform based on a data transmission structure for transmitting data to the advertising platform
  • the user device (200) may correspond to a user's terminal that can use the service provided by the server device (100).
  • the data transmission system according to various embodiments is not limited to that illustrated in FIG. 1, and may be implemented in more diverse electronic devices and servers.
  • the server device (100) may be a device that performs wireless and wired communication with a plurality of user devices (200) and includes storage with a large storage capacity.
  • the server device (100) may be a cloud device that is linked with a plurality of user devices (200).
  • the user device (200) may be a device that can be used by individual users, such as a desktop PC, a tablet PC, or a mobile terminal.
  • other electronic devices that perform similar functions may be used as the user device (200).
  • a data transmission system may include various modules for operation.
  • the modules included in the data transmission system may be computer codes or one or more instructions implemented so that a physical device (e.g., a server device (100) and a user device (200)) in which the data transmission system is implemented (or included in a physical device) can perform a specified operation.
  • a physical device in which the data transmission system is implemented stores a plurality of modules in a memory in the form of computer codes, and when the plurality of modules stored in the memory are executed, the plurality of modules can cause the physical device to perform specified operations corresponding to the plurality of modules.
  • FIG. 2 is a diagram illustrating the configuration of a server device (100) and a user device (200) according to various embodiments.
  • the server device (100) and the user device (200) may include an input/output unit (210), a transceiver (or, communication unit) (220), storage (230), and a processor (240).
  • an input/output unit 210
  • a transceiver or, communication unit
  • storage 230
  • a processor 240
  • the input/output unit (210) may be various interfaces or connection ports that receive user input or output information to the user.
  • the input/output unit (210) may include an input module and an output module, and the input module receives user input from the user.
  • the user input may be in various forms, including key input, touch input, and voice input.
  • Examples of input modules that may receive such user input include, in addition to traditional keypads, keyboards, and mice, a touch sensor that detects the user's touch, a microphone that receives voice signals, a camera that recognizes gestures through image recognition, a proximity sensor that includes at least one of a light sensor or an infrared sensor that detects the user's approach, a motion sensor that recognizes user movements through an acceleration sensor or a gyro sensor, and various other forms of input means that detect or receive various forms of user input, and the input module according to an embodiment of the present disclosure may include at least one of the devices listed above.
  • the touch sensor may be implemented as a piezoelectric or electrostatic touch sensor that detects touch through a touch panel or touch film attached to the display panel, an optical touch sensor that detects touch in an optical manner, etc.
  • the input module may be implemented in the form of an input interface (such as a USB port or PS/2 port) that connects an external input device that receives user input instead of a device that detects user input on its own.
  • the output module may output various types of information.
  • the output module may include at least one of a display that outputs an image, a speaker that outputs sound, a haptic device that generates vibration, and various other forms of output means.
  • the output module may be implemented in the form of a port-type output interface that connects the individual output means described above.
  • an output module in the form of a display can display text, still images, and moving images.
  • the display can include at least one of a liquid crystal display (LCD), a light emitting diode (LED) display, an organic light emitting diode (OLED) display, a flat panel display (FPD), a transparent display, a curved display, a flexible display, a 3D display, a holographic display, a projector, and various other devices capable of performing an image output function.
  • a display can also be in the form of a touch display formed integrally with a touch sensor of the input module.
  • the transceiver (220) can communicate with other devices. Accordingly, the server device (100) and the user device (200) can transmit and receive information with other devices through the transceiver (220). For example, the server device (100) and the user device (200) can communicate with each other or with other devices using the transceiver (220).
  • the transceiver (220) may include a wired communication module that connects to the Internet, etc., via a LAN (Local Area Network), a mobile communication module that connects to a mobile communication network via a mobile communication base station to transmit and receive data, a short-distance communication module that uses a WLAN (Wireless Local Area Network) series communication method such as Wi-Fi or a WPAN (Wireless Personal Area Network) series communication method such as Bluetooth or Zigbee, a satellite communication module that uses a GNSS (Global Navigation Satellite System) such as a GPS (Global Positioning System), or a combination thereof.
  • WLAN Wireless Local Area Network
  • WPAN Wireless Personal Area Network
  • GNSS Global Navigation Satellite System
  • GPS Global Positioning System
  • the storage (230) can store various types of information.
  • the storage (230) can temporarily or semi-permanently store data.
  • the storage (230) of the server device (100) can store an operating program (OS: Operating System) for operating the server device (100), data for hosting a website, a program for generating Braille, or data regarding an application (e.g., a web application).
  • OS Operating System
  • the storage (230) can store modules in the form of computer codes as described above.
  • Examples of storage (230) may include a hard disk drive (HDD), a solid state drive (SSD), flash memory, read-only memory (ROM), random access memory (RAM), etc. Such storage (230) may be provided as a built-in type or a detachable type.
  • HDD hard disk drive
  • SSD solid state drive
  • flash memory read-only memory
  • RAM random access memory
  • the processor (240) controls the overall operation of the server device (100) and the user device (200). To this end, the processor (240) may perform calculations and processing of various types of information and control the operation of the components of the server device (100). For example, the processor (240) may execute a program or application for data transmission.
  • the processor (240) may be implemented as a computer or a similar device according to hardware, software, or a combination thereof. In terms of hardware, the processor (240) may be implemented in the form of an electronic circuit that processes electrical signals to perform control functions, and in terms of software, it may be implemented in the form of a program that drives the hardware processor (240).
  • the operations of the server device (100) and the user device (200) may be interpreted as being performed under the control of the processor (240). That is, when the modules implemented in the above-described data transmission system are executed, the modules can be interpreted as controlling the processor (240) to perform the following operations on the server device (100) and the user device (200).
  • the various embodiments may be implemented by various means.
  • the various embodiments may be implemented by hardware, firmware, software, or a combination thereof.
  • the methods according to various embodiments can be implemented by one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), processors, controllers, microcontrollers, microprocessors, and the like.
  • ASICs application specific integrated circuits
  • DSPs digital signal processors
  • DSPDs digital signal processing devices
  • PLDs programmable logic devices
  • FPGAs field programmable gate arrays
  • processors controllers, microcontrollers, microprocessors, and the like.
  • the method according to various embodiments may be implemented in the form of a module, procedure, or function that performs the functions or operations described below.
  • software code may be stored in a memory and driven by a processor.
  • the memory may be located inside or outside the processor, and may exchange data with the processor by various means already known.
  • server device (100) for providing a service sets up a data transmission structure and performs an operation of transmitting data related to an event on the service to an advertising platform.
  • FIG. 3 is a diagram illustrating an operation method of a server device (100) for data transmission according to various embodiments.
  • the server device (100) checks information on one or more advertising platforms linked to the service (301), sets a data transmission structure for transmitting data related to an event occurring on the service to each advertising platform included in one or more advertising platforms (303), and transmits data related to the event to each advertising platform based on the data transmission structure (305).
  • the operation of the server device (100) transmitting data related to an event to each advertising platform may be performed for a service provided by the server device (100) or a service related to the server device (100), and the service may correspond to a service in which multiple users using the service can order and purchase multiple items sold in the service.
  • the multiple items sold in the service are not limited to the type or type of the items and may include various types or types of items registered by the seller to sell the items.
  • the server device (100) can check information about one or more advertising platforms linked to the service.
  • one or more advertising platforms for which the server device (100) verifies information according to operation 301 may include an advertising platform that is linked to the service and set up to provide advertisements on the service or collect data related to events on the service.
  • one or more advertising platforms for which the server device (100) verifies information according to operation 301 may be linked to the service based on a certain contractual relationship with the service.
  • the server device (100) may set up a data transmission structure for transmitting data related to an event occurring on a service to each advertising platform included in one or more advertising platforms.
  • an event occurring on a service may be an event occurring based on a user's action on the service.
  • the action may be identified as an event and data related to the identified event may be generated.
  • the data generated in this way may include various data related to the action, such as data about the user who is the subject of the action of purchasing an item, data about the item who is the object of the action of purchasing an item, and/or data about the price or order quantity of the item identified according to the action of purchasing an item.
  • the data transmission structure set by the server device (100) according to operation 303 may correspond to a structure that acquires logs from a library set to record all logs generated through a service, converts them into data, and manages them to transmit the converted data to each advertising platform. That is, the server device (100) can acquire logs for a service from a library set to record all logs generated through a service, and manages them to generate event-related data based on the acquired logs and transmit them to each advertising platform.
  • the 'Lumberjack' library which can connect the logging framework of Python to the backend, can be used as the library described above.
  • recording all logs generated through the service in the library may correspond to an operation performed in the frontend for the service. That is, recording all logs generated through the service in the library may be performed based on the frontend server for the service, and the frontend server may be managed to collect logs related to various actions performed by the user device (200) on the service and/or various events occurring according to various actions, and record them in the library.
  • the server device (100) that sets the data transmission structure according to operation 303, converts and acquires data related to the event, and transmits the data related to the event to each advertising platform may correspond to a backend server different from the frontend server. If the operation of setting the data transmission structure or converting and acquiring data related to the event is managed to be performed at the frontend, the user device (200) using the service may need to convert the data related to the event to suit each advertising platform, which may cause a load on the data processing of the user device (200).
  • the frontend manages so that the user device (200) only records logs for events occurring while using the service in a library
  • the backend manages so that the logs recorded in the library are converted into data suitable for each advertising platform at the backend, including the server device (100) of FIG. 3 corresponding to the backend server, thereby reducing the load on the data processing of the user device (200).
  • the front-end side including the user device (200) and the front-end server can asynchronously record a log generated on the service in the library
  • the back-end side including the back-end server can asynchronously convert the log recorded in the library into data suitable for each advertising platform and transmit it to each advertising platform.
  • Figure 4 is a diagram showing how logs on a service are converted into data suitable for each advertising platform and transmitted at the front-end level.
  • FIG. 4 when an event occurs according to a user's action on a service through a user device (200) using an app of the service, data related to the event can be converted to fit each advertising platform and transmitted to each advertising platform at the front-end including the user device (200).
  • a log for an event according to a user's action can be converted into a series of data for a first advertising platform and transmitted to the first advertising platform (401), and a log for an event according to a user's action can be converted into a series of data for a second advertising platform and transmitted to the second advertising platform (403).
  • a log for an event according to a user's action can be converted into data for the other advertising platform and transmitted to the other advertising platform (405).
  • FIG. 5 in which data related to an event is converted to fit each advertising platform and transmitted to each advertising platform at the front-end end including the user device (200), the structural diagram of the present invention, in which data related to an event is converted to fit each advertising platform and transmitted to each advertising platform at the back-end end including the server device (100) corresponding to the back-end server, may be as shown in FIG. 5.
  • FIG. 5 is a diagram illustrating a service log being converted into data suitable for each advertising platform and transmitted at the backend level based on the data transmission structure of the present invention.
  • a log for the event can be recorded in a library ("Lumberjack") at the front-end including the user device (200) (501).
  • a data transmission structure including a log storage structure ("Consume"->"ETL”->"Mysql", 503) that can extract logs related to events from among logs recorded in the library and store them in a database, and a log-data converter structure equipped with each converter (505, 507, 509) that can convert and transmit the stored logs into each data for each advertising platform through the log storage structure can be set.
  • logs related to events on a service are converted into data suitable for each advertising platform and transmitted to each advertising platform, thereby reducing the data processing burden on the front-end including the user device (200) unlike Fig. 4.
  • the data transmission structure set by the server device (100) according to operation 303 may include a log storage structure that extracts and stores at least some logs related to the event among logs for the service. That is, a log storage structure for extracting some logs related to an event occurring according to a user's action from among all logs of the service recorded in the library and storing them in a database may be included in the data transmission structure according to operation 303.
  • the data transmission structure set by the server device (100) according to operation 303 may include a log-data converter structure for converting at least some of the logs stored through the log storage structure into respective data for each advertising platform. That is, a log-data converter structure having each converter for converting logs related to events stored in a database of the log storage structure into respective data for each advertising platform may be included in the data transmission structure according to operation 303.
  • the log-data converter structure may include one or more converters set corresponding to one or more advertising platforms that are confirmed to be linked to the service, and the server device (100) may set each converter corresponding to each advertising platform, thereby converting logs related to events into data in a data format for each advertising platform through each converter.
  • a first converter corresponding to a first advertising platform included in one or more advertising platforms among one or more converters in the log-data converter structure may be set to convert logs related to events into first data in a data format for the first advertising platform.
  • the first data set in this manner may include not only data corresponding to the event, but also identifier data set to identify the service in the first advertising platform.
  • the advertising platform since the advertising platform will provide advertisements for a plurality of different services, it is necessary to identify each service providing the advertisements, and it must be possible to distinguish which service the data related to the event was obtained from. Therefore, the data that the server device (100) provides to the advertising platform may include service identifier data for the service along with the data related to the event.
  • the server device (100) can manage data in parallel by setting up each converter corresponding to each advertising platform to convert and transmit data as a unit of one advertising platform, and can transmit individual data generated for an advertising platform having an individual data format to the advertising platform.
  • the server device (100) can easily manage data transmission to the advertising platform by adding a new converter corresponding to the new advertising platform or deleting an existing converter.
  • the server device (100) when the server device (100) confirms information about a new advertising platform to be linked to the service, it can set to add a new converter for the new advertising platform to the data transmission structure and transmit data related to the event to the new advertising platform based on the new converter.
  • the server device (100) when the server device (100) confirms information about an advertising platform to be deleted among one or more advertising platforms linked to the service, it can set to delete a converter for the advertising platform to be deleted from the data transmission structure, thereby managing data related to the event to no longer be transmitted to the corresponding advertising platform.
  • each converter of the log-data converter structure included in the data transmission structure set by the server device (100) according to operation 303 can be individually managed to be activated or deactivated. That is, a switch function is set for each converter to determine whether to activate each converter included in one or more converters of the log-data converter structure, so that whether to activate each converter can be individually set.
  • the server device (100) can effectively manage the operation of each converter that individually converts data and transmits data to the advertising platform.
  • the server device (100) may transmit data related to the event to each advertising platform based on a data transmission structure.
  • operation 305 in which the server device (100) transmits data related to an event to each advertising platform, may correspond to an operation in which, as described above, each converter corresponding to each advertising platform converts a log related to the event into each data and transmits each converted data to each advertising platform.
  • the server device (100) sets up a data transmission structure including each converter suitable for each advertising platform as shown in FIG. 3 and transmits data to each advertising platform
  • the server device (100) converts logs related to events into data and transmits them to all advertising platforms linked to the service. Therefore, depending on the number of advertising platforms linked to the service, the operation of FIG. 3 may cause an overload on the server device (100).
  • the server device (100) can set load management information for managing the load related to data conversion processing for one or more advertising platforms, and can check how much load is generated on the server device (100) according to the data transmission structure of FIG. 3 through the load management information. At this time, if it is confirmed through the load management information that a load exceeding a preset level is generated on the server device (100), the server device (100) can set a threshold number of converters to be activated simultaneously among one or more converters corresponding to the one or more advertising platforms in the data transmission structure, and can also check priority information for one or more advertising platforms and operate to deactivate the remaining converters except for some converters determined as a threshold number according to the priority information among one or more advertising platforms.
  • the load can be reduced by operating only a critical number of converters in order of priority and preventing the remaining converters from operating for a certain critical period of time.
  • the critical period of time during which converters with low priorities are deactivated can be a time period set in advance by the server device (100), and when the critical period of time has elapsed, the converters that were deactivated can be activated again.
  • priority information of each advertising platform for determining converters corresponding to the critical number may be set based on at least one of revenue information confirmed based on each advertising platform, contract period information with each advertising medium corresponding to each advertising platform, and information on click-through rates of users for each advertisement on a service related to each advertising platform. For example, the higher the revenue confirmed from each advertising platform, the higher the priority of each advertising platform may be set, or the longer the contract period with each advertising medium corresponding to each advertising platform, the higher the priority of each advertising platform may be set, or the higher the click-through rate of users for each advertisement on a service related to each advertising platform may be set, the higher the priority of each advertising platform may be set.
  • FIG. 6 is a diagram illustrating an operation method of a server device (100) that deactivates the operation of some converters according to the priority of an advertising platform.
  • the server device (100) can obtain load management information related to data conversion processing for one or more advertising platforms (601).
  • the load management information can include information related to how much load occurs when converting logs related to events on a service into each data through each converter for each advertising platform included in one or more advertising platforms.
  • a server device (100) that has acquired load management information can set a threshold number of converters that are activated simultaneously among one or more converters corresponding to one or more advertising platforms in a data transmission structure to limit the maximum number of converters that are activated simultaneously (603), and can manage only some converters determined according to the threshold number among one or more advertising platforms based on priority information of one or more advertising platforms to be activated, and manage the remaining converters except for the some converters to be deactivated (605).
  • the server device (100) may set a maximum data processing amount for each converter for each advertising platform linked to the service. In other words, the server device (100) may set a limit on the amount of data that can be processed by each converter included in the data transmission structure.
  • the maximum data processing amount set for the converter may be different for each converter, and the server device (100) may set the maximum data processing amount for each converter so that more data processing amount is allocated to the converter for the advertising platform with a higher priority according to the priority information of each advertising platform described above.
  • the priority information of each advertising platform may be set based on at least one of the revenue information confirmed based on each advertising platform, the contract period information with each advertising medium corresponding to each advertising platform, and the information on the click rate of users for each advertisement on the service related to each advertising platform.
  • the higher the revenue confirmed from each advertising platform the higher the priority of each advertising platform may be set, or the longer the contract period with each advertising medium corresponding to each advertising platform, the higher the priority of each advertising platform may be set, or the higher the click rate of users for each advertisement on the service related to each advertising platform may be set, the higher the priority of each advertising platform may be set.
  • the method according to the system or the like according to the present invention may be implemented in the form of program commands that can be executed through various computer means and recorded on a computer-readable medium.
  • a computer readable recording medium is any data storage device capable of storing data that can be read by a computer system. Examples of computer readable recording media can include read only memories (ROMs), random access memories (RAMs), compact disk-read only memories (CD-ROMs), magnetic tapes, floppy disks, optical data storage devices, and carrier waves (such as data transmission over the Internet).
  • ROMs read only memories
  • RAMs random access memories
  • CD-ROMs compact disk-read only memories
  • CD-ROMs compact disk-read only memories
  • magnetic tapes such as data transmission over the Internet
  • floppy disks such as data transmission over the Internet
  • carrier waves such as data transmission over the Internet
  • carrier waves such as data transmission over the Internet
  • a computer readable recording medium can also be distributed over network-connected computer systems, so that the computer readable code is stored and executed in a distributed manner. Additionally, functional programs, codes, and code segments for achieving various embodiments of the present invention can be easily interpreted by programmers skilled in the field to which the present invention is applied.
  • devices and methods according to various embodiments of the present invention can be realized in the form of hardware, software, or a combination of hardware and software.
  • Such software can be stored in, for example, a volatile or nonvolatile storage device such as a ROM, regardless of whether it is erasable or rewritable, or a memory such as a RAM, a memory chip, a device, or an integrated circuit, or an optically or magnetically recordable and machine-readable storage medium such as a compact disk (CD), a DVD, a magnetic disk, or a magnetic tape.
  • a volatile or nonvolatile storage device such as a ROM, regardless of whether it is erasable or rewritable
  • a memory such as a RAM, a memory chip, a device, or an integrated circuit
  • an optically or magnetically recordable and machine-readable storage medium such as a compact disk (CD), a DVD, a magnetic disk, or a magnetic tape.
  • the present invention includes a program including a code for implementing the device or method described in the claims of this specification and a machine-readable storage medium (such as a computer) storing such a program.
  • a program may be transmitted electronically via any medium, such as a communication signal transmitted via a wired or wireless connection, and the present invention appropriately includes equivalents thereof.

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Development Economics (AREA)
  • Accounting & Taxation (AREA)
  • General Business, Economics & Management (AREA)
  • Game Theory and Decision Science (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Physics & Mathematics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 개시에 따르면, 전자 장치가 데이터를 전송하는 방법에 있어서, 상기 전자 장치가 제공하는 서비스에 연계된 하나 이상의 광고 플랫폼들에 대한 정보를 확인하는 단계; 상기 서비스 상에서 발생하는 이벤트와 관련된 데이터를 상기 하나 이상의 광고 플랫폼들에 포함된 각 광고 플랫폼에 전송하기 위한 데이터 전송 구조를 설정하는 단계; 및 상기 데이터 전송 구조에 기반하여, 상기 이벤트와 관련된 데이터를 상기 각 광고 플랫폼으로 전송하는 단계를 포함하는 방법이 개시된다.

Description

데이터를 전송하는 전자 장치의 동작 방법 및 이를 지원하는 전자 장치
본 발명은 데이터를 전송하는 방법 및 장치에 관한 것으로서, 더욱 상세하게는 서비스 상에서 발생하는 이벤트에 대한 로그를 서비스에 연계된 각 광고 플랫폼에 맞는 각 데이터로 변환하여 전송하는 방법 및 이의 전자 장치에 관한 것이다.
전자기술의 발달에 따라 전자상거래는 쇼핑의 한 분야로 자리잡았다. 고객은 직접 쇼핑몰이나 시장에 가지 않고도 온라인 상에서 물품을 구매할 수 있으며, 온라인 상에서 구매한 물품은 고객이 요청한 배송지로 배송된다.
전자상거래의 경우 상품에 대한 자세하고 정확한 정보의 제공이 서비스 만족도에 상당한 영향을 미치기 때문에 보다 자세하고 정확한 정보를 제공하기 위한 다양한 방안에 대한 논의가 이루어지고 있다.
관련하여, KR101756594B1 건 또는 KR101500849B1 건 등의 선행문헌들을 참조할 수 있다.
본 발명의 방법에 따르면, 전자 장치가 서비스 상에서 발생하는 이벤트에 대한 로그를 서비스에 연계된 각 광고 플랫폼에 맞는 각 데이터로 변환하여 전송할 수 있다.
본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
다양한 실시예들은, 데이터 전송을 위한 전자 장치의 동작 방법 및 이를 지원하는 전자 장치를 제공할 수 있다.
다양한 실시예들에 따른 전자 장치가 전송하는 방법에 있어서, 상기 전자 장치가 제공하는 서비스에 연계된 하나 이상의 광고 플랫폼들에 대한 정보를 확인하는 단계; 상기 서비스 상에서 발생하는 이벤트와 관련된 데이터를 상기 하나 이상의 광고 플랫폼들에 포함된 각 광고 플랫폼에 전송하기 위한 데이터 전송 구조를 설정하는 단계; 및 상기 데이터 전송 구조에 기반하여, 상기 이벤트와 관련된 데이터를 상기 각 광고 플랫폼으로 전송하는 단계를 포함할 수 있다.
예시적 실시예에서, 상기 이벤트는, 상기 서비스 상에서의 사용자의 액션에 기반하여 발생할 수 있다.
예시적 실시예에서, 상기 데이터 전송 방법은, 상기 서비스를 통해 생성되는 모든 로그들을 기록하도록 설정된 라이브러리(library)로부터 상기 서비스에 대한 로그들을 획득하는 단계를 더 포함할 수 있다.
예시적 실시예에서, 상기 서비스를 통해 생성되는 모든 로그들의 상기 라이브러리에 대한 기록은 상기 서비스를 위한 프론트엔드(frontend) 서버에 기반하여 수행될 수 있다.
예시적 실시예에서, 상기 전자 장치는, 상기 프론트엔드 서버와 상이한 백엔드(backend) 서버에 대응할 수 있다.
예시적 실시예에서, 상기 데이터 전송 구조는, 상기 서비스에 대한 로그들 중 상기 이벤트와 관련된 적어도 일부의 로그들을 추출하여 저장하는 로그 저장 구조, 및 상기 로그 저장 구조를 통해 저장된 상기 적어도 일부의 로그들을 상기 각 광고 플랫폼을 위한 각 데이터로 변환하기 위한 로그-데이터 컨버터(converter) 구조를 포함할 수 있다.
예시적 실시예에서, 상기 로그-데이터 컨버터 구조는, 상기 하나 이상의 광고 플랫폼들 각각에 대응하여 설정되는 하나 이상의 컨버터들을 포함할 수 있다.
예시적 실시예에서, 상기 하나 이상의 컨버터들 중 상기 하나 이상의 광고 플랫폼들에 포함된 제1 광고 플랫폼에 대응하는 제1 컨버터는, 상기 적어도 일부의 로그들을 상기 제1 광고 플랫폼을 위한 데이터 포맷(format)에 따른 제1 데이터로 변환하도록 설정될 수 있다.
예시적 실시예에서, 상기 제1 데이터는, 상기 이벤트에 대한 데이터 및 상기 제1 광고 플랫폼에서 상기 서비스를 위해 설정한 서비스 식별자 데이터를 포함할 수 있다.
예시적 실시예에서, 상기 하나 이상의 컨버터들에 포함된 각 컨버터의 활성화 여부를 결정하기 위한 상기 각 컨버터에 대한 각 스위치 기능이 설정될 수 있다.
예시적 실시예에서, 상기 데이터 전송 방법은, 상기 서비스에 연계될 새로운 광고 플랫폼에 대한 정보를 확인하는 단계; 상기 데이터 전송 구조에 상기 새로운 광고 플랫폼을 위한 새로운 컨버터를 추가하도록 설정하는 단계; 및 상기 새로운 컨버터에 기반하여, 상기 이벤트와 관련된 데이터를 상기 새로운 광고 플랫폼으로 전송하는 단계를 더 포함할 수 있다.
예시적 실시예에서, 상기 데이터 전송 방법은, 상기 하나 이상의 광고 플랫폼들 중 삭제되는 광고 플랫폼에 대한 정보를 확인하는 단계; 및 상기 데이터 전송 구조에서 상기 삭제되는 광고 플랫폼을 위한 컨버터를 삭제하도록 설정하는 단계를 더 포함할 수 있다.
예시적 실시예에서, 상기 데이터 전송 방법은, 상기 하나 이상의 광고 플랫폼들을 위한 데이터 변환 처리와 관련된 부하 관리 정보를 획득하는 단계; 상기 부하 관리 정보에 기반하여, 상기 데이터 전송 구조에서 상기 하나 이상의 광고 플랫폼들에 대응하는 하나 이상의 컨버터들 중 동시에 활성화 되는 컨버터들의 임계 개수를 설정하는 단계; 및 상기 하나 이상의 광고 플랫폼들에 대한 우선순위 정보에 기반하여, 상기 하나 이상의 광고 플랫폼들 중 상기 임계 개수에 따라 결정된 일부의 컨버터들을 제외한 나머지 컨버터들을 비활성화 하는 단계를 더 포함할 수 있다.
예시적 실시예에서, 상기 나머지 컨버터들이 비활성화 되는 임계 시간을 설정하는 단계를 더 포함하고, 상기 임계 시간이 지나면 상기 나머지 컨버터들이 재활성화 될 수 있다.
예시적 실시예에서, 상기 우선순위 정보는, 상기 각 광고 플랫폼에 기반하여 확인되는 수익 정보, 상기 각 광고 플랫폼에 대응하는 각 광고 매체와의 계약 기간 정보, 및 상기 각 광고 플랫폼과 관련된 상기 서비스 상의 각 광고에 대한 사용자들의 클릭율에 대한 정보 중 적어도 하나에 기반하여 설정될 수 있다.
다양한 실시예들에 따른 데이터를 전송하는 전자 장치에 있어서, 프로세서(processor); 및 하나 이상의 인스트럭션(instruction)을 저장하는 하나 이상의 메모리(memory)를 포함하고, 상기 하나 이상의 인스트럭션은, 실행 시에, 상기 프로세서가: 상기 전자 장치가 제공하는 서비스에 연계된 하나 이상의 광고 플랫폼들에 대한 정보를 확인하는 단계; 상기 서비스 상에서 발생하는 이벤트와 관련된 데이터를 상기 하나 이상의 광고 플랫폼들에 포함된 각 광고 플랫폼에 전송하기 위한 데이터 전송 구조를 설정하는 단계; 및 상기 데이터 전송 구조에 기반하여, 상기 이벤트와 관련된 데이터를 상기 각 광고 플랫폼으로 전송하는 단계를 수행하도록 상기 프로세서를 제어할 수 있다.
상술한 본 개시의 다양한 실시예들은 본 개시의 바람직한 실시예들 중 일부에 불과하며, 본 개시의 다양한 실시예들의 기술적 특징들이 반영된 여러 가지 실시예들이 당해 기술분야의 통상적인 지식을 가진 자에 의해 이하 상술할 상세한 설명을 기반으로 도출되고 이해될 수 있다.
본 발명은 전자 장치가 서비스 상에서 발생하는 이벤트에 대한 로그를 서비스에 연계된 각 광고 플랫폼에 맞는 각 데이터로 변환하여 전송하는 방법을 제시하여, 서비스 상에서 발생하는 이벤트에 대한 데이터를 개별적인 광고 플랫폼에 효과적으로 전송할 수 있는 측면에서 기술적인 효과를 갖는다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 다양한 실시예들에 따른 데이터 전송을 위한 전자 장치의 동작 방법이 구현될 수 있는 데이터 전송 시스템을 설명하기 위한 도면이다.
도 2는 다양한 실시예들에 따른 서버 디바이스(100) 및 사용자 디바이스(200)의 구성을 도시한 도면이다.
도 3은 다양한 실시예들에 따른 데이터 전송을 위한 서버 디바이스(100)의 동작 방법을 도시한 도면이다.
도 4는 서비스 상의 로그가 프론트엔드 단에서 각 광고 플랫폼에 맞는 데이터로 변환되어 전송되는 모습을 도시한 도면이다.
도 5는 본원발명의 데이터 전송 구조를 기반으로 서비스 상의 로그가 백엔드 단에서 각 광고 플랫폼에 맞는 데이터로 변환되어 전송되는 모습을 도시한 도면이다.
도 6은 광고 플랫폼의 우선순위에 따라서 일부 컨버터들의 동작을 비활성화 하는 서버 디바이스(100)의 동작 방법을 도시한 도면이다.
이하의 실시예들은 다양한 실시예들의 구성요소들과 특징들을 소정 형태로 결합한 것들이다. 각 구성요소 또는 특징은 별도의 명시적 언급이 없는 한 선택적인 것으로 고려될 수 있다. 각 구성요소 또는 특징은 다른 구성요소나 특징과 결합되지 않은 형태로 실시될 수 있다. 또한, 일부 구성요소들 및 특징들을 결합하여 다양한 실시예들을 구성할 수도 있다. 다양한 실시예들에서 설명되는 동작들의 순서는 변경될 수 있다. 어느 실시예의 일부 구성이나 특징은 다른 실시예에 포함될 수 있고, 또는 다른 실시예의 대응하는 구성 또는 특징과 교체될 수 있다.
도면에 대한 설명에서, 다양한 실시예들의 요지를 흐릴 수 있는 절차 또는 단계 등은 기술하지 않았으며, 당해 기술분야에서 통상의 지식을 가진 자의 수준에서 이해할 수 있을 정도의 절차 또는 단계는 또한 기술하지 아니하였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함(comprising 또는 including)"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "...부", "...기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, "일(a 또는 an)", "하나(one)", "그(the)" 및 유사 관련어는 다양한 실시예들을 기술하는 문맥에 있어서(특히, 이하의 청구항의 문맥에서) 본 명세서에 달리 지시되거나 문맥에 의해 분명하게 반박되지 않는 한, 단수 및 복수 모두를 포함하는 의미로 사용될 수 있다.
이하, 다양한 실시예들에 따른 바람직한 실시 형태를 첨부된 도면을 참조하여 상세하게 설명한다. 첨부된 도면과 함께 이하에 개시될 상세한 설명은 다양한 실시예들의 예시적인 실시형태를 설명하고자 하는 것이며, 유일한 실시형태를 나타내고자 하는 것이 아니다.
또한, 다양한 실시예들에서 사용되는 특정(特定) 용어들은 다양한 실시예들의 이해를 돕기 위해서 제공된 것이며, 이러한 특정 용어의 사용은 다양한 실시예들의 기술적 사상을 벗어나지 않는 범위에서 다른 형태로 변경될 수 있다.
도 1은 다양한 실시예들에 따른 데이터 전송을 위한 전자 장치의 동작 방법이 구현될 수 있는 데이터 전송 시스템을 설명하기 위한 도면이다.
도 1을 참조하면, 다양한 실시예들에 따른 데이터 전송 시스템은 다양한 종류의 전자 장치들에 구현될 수 있다. 예를 들어, 데이터 전송 시스템은 서버 디바이스(100) 및 사용자 디바이스(200)에 구현될 수 있다. 달리 말해, 서버 디바이스(100) 및 사용자 디바이스(200)는 각각의 장치에 구현된 데이터 전송 시스템을 기반으로, 본 개시의 다양한 실시예들에 따른 동작을 수행할 수 있다. 일 예로, 본 개시에 따른 다양한 실시예들에서 서버 디바이스(100)는 광고 플랫폼에 데이터를 전송하기 위한 데이터 전송 구조를 기반으로 서비스 상에서 발생하는 이벤트와 관련된 데이터를 광고 플랫폼으로 전송하는 백엔드(backend) 서버에 대응할 수 있으며, 사용자 디바이스(200)는 서버 디바이스(100)가 제공하는 서비스를 이용할 수 있는 사용자의 단말에 대응할 수 있다. 한편, 다양한 실시예들에 따른 데이터 전송 시스템은, 상기 도 1에 도시된 바에 국한되지 않고, 더 다양한 전자 장치와 서버들에 구현될 수도 있을 것이다.
다양한 실시예들에 따른 서버 디바이스(100)는, 복수 개의 사용자 디바이스(200)들과 무선 및 유선 통신을 수행하며, 대단위의 저장 용량을 갖는 스토리지를 포함하는 장치일 수 있다. 예를 들어, 서버 디바이스(100)는 복수 개의 사용자 디바이스(200)들과 연동되는 클라우드 디바이스(Cloud device)일 수 있다.
다양한 실시예들에 따른 사용자 디바이스(200)는, 데스크탑 피시, 태블릿 피시, 모바일 단말 등의 개인 사용자에 의해 이용될 수 있는 장치일 수 있다. 이외에도 유사한 기능을 수행하는 다른 전자 장치들이 사용자 디바이스(200)로 이용될 수 있다.
다양한 실시예들에 따른 데이터 전송 시스템은 동작을 위한 다양한 모듈들을 포함할 수 있다. 데이터 전송 시스템에 포함된 모듈들은 데이터 전송 시스템이 구현되는(또는, 물리적 장치에 포함되는) 물리적 장치(예: 서버 디바이스(100) 및 사용자 디바이스(200))가 지정된 동작을 수행할 수 있도록 구현된 컴퓨터 코드 내지는 하나 이상의 인스트럭션 (instruction) 일 수 있다. 다시 말해, 데이터 전송 시스템이 구현되는 물리적 장치는 복수 개의 모듈들을 컴퓨터 코드 형태로 메모리에 저장하고, 메모리에 저장된 복수 개의 모듈들이 실행되는 경우 복수 개의 모듈들은 물리적 장치가 복수 개의 모듈들에 대응하는 지정된 동작들을 수행하도록 할 수 있다.
도 2는 다양한 실시예들에 따른 서버 디바이스(100) 및 사용자 디바이스(200)의 구성을 도시한 도면이다.
도 2를 참조하면, 서버 디바이스(100) 및 사용자 디바이스(200)는 입/출력부(210), 트랜시버(또는, 통신부)(220), 스토리지(230) 및 프로세서(240)를 포함할 수 있다.
입/출력부(210)는 사용자 입력을 받거나 또는 사용자에게 정보를 출력하는 각종 인터페이스나 연결 포트 등일 수 있다. 입/출력부(210)는 입력 모듈과 출력 모듈을 포함할 수 있는데, 입력 모듈은 사용자로부터 사용자 입력을 수신한다. 사용자 입력은 키 입력, 터치 입력, 음성 입력을 비롯한 다양한 형태로 이루어질 수 있다. 이러한 사용자 입력을 받을 수 있는 입력 모듈의 예로는 전통적인 형태의 키패드나 키보드, 마우스는 물론, 사용자의 터치를 감지하는 터치 센서, 음성 신호를 입력받는 마이크, 영상 인식을 통해 제스처 등을 인식하는 카메라, 사용자 접근을 감지하는 조도 센서나 적외선 센서 중 적어도 하나를 포함하는 근접 센서, 가속도 센서나 자이로 센서 등을 통해 사용자 동작을 인식하는 모션 센서 및 그 외의 다양한 형태의 사용자 입력을 감지하거나 입력받는 다양한 형태의 입력 수단이 있으며, 본 개시의 실시예에 따른 입력 모듈은 위에 나열한 장치 중 적어도 하나를 포함할 수 있다. 여기서, 터치 센서는 디스플레이 패널에 부착되는 터치 패널이나 터치 필름을 통해 터치를 감지하는 압전식 또는 정전식 터치 센서, 광학적인 방식에 의해 터치를 감지하는 광학식 터치 센서 등으로 구현될 수 있다. 이외에도 입력 모듈은 자체적으로 사용자 입력을 감지하는 장치 대신 사용자 입력을 입력받는 외부의 입력 장치를 연결시키는 입력 인터페이스(USB 포트, PS/2 포트 등)의 형태로 구현될 수도 있다. 또 출력 모듈은 각종 정보를 출력할 수 있다. 출력 모듈은 영상을 출력하는 디스플레이, 소리를 출력하는 스피커, 진동을 발생시키는 햅틱 장치 및 그 외의 다양한 형태의 출력 수단 중 적어도 하나를 포함할 수 있다. 이외에도 출력 모듈은 상술한 개별 출력 수단을 연결시키는 포트 타입의 출력 인터페이스의 형태로 구현될 수도 있다.
일 예로, 디스플레이 형태의 출력 모듈은 텍스트, 정지 영상, 동영상을 디스플레이 할 수 있다. 디스플레이는 액정 디스플레이(LCD: Liquid Crystal Display), 발광 다이오드(LED: light emitting diode) 디스플레이, 유기 발광 다이오드(OLED: Organic Light Emitting Diode) 디스플레이, 평판 디스플레이(FPD: Flat Panel Display), 투명 디스플레이(transparent display), 곡면 디스플레이(Curved Display), 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display), 홀로그래픽 디스플레이(holographic display), 프로젝터 및 그 외의 영상 출력 기능을 수행할 수 있는 다양한 형태의 장치 중 적어도 하나를 포함할 수 있다. 이러한 디스플레이는 입력 모듈의 터치 센서와 일체로 구성된 터치 디스플레이의 형태일 수도 있다.
트랜시버(220)는 다른 장치와 통신할 수 있다. 따라서, 서버 디바이스(100) 및 사용자 디바이스(200)는 트랜시버(220)를 통해 다른 장치와 정보를 송수신할 수 있다. 예를 들어, 서버 디바이스(100) 및 사용자 디바이스(200)는 트랜시버(220)를 이용해 상호 간 통신을 수행하거나, 기타 다른 장치와 통신을 수행할 수 있다.
여기서, 통신, 즉 데이터의 송수신은 유선 또는 무선으로 이루어질 수 있다. 이를 위해 트랜시버(220)는 LAN(Local Area Network)를 통해 인터넷 등에 접속하는 유선 통신 모듈, 이동 통신 기지국을 거쳐 이동 통신 네트워크에 접속하여 데이터를 송수신하는 이동 통신 모듈, 와이파이(Wi-Fi) 같은 WLAN(Wireless Local Area Network) 계열의 통신 방식이나 블루투스(Bluetooth), 직비(Zigbee)와 같은 WPAN(Wireless Personal Area Network) 계열의 통신 방식을 이용하는 근거리 통신 모듈, GPS(Global Positioning System)과 같은 GNSS(Global Navigation Satellite System)을 이용하는 위성 통신 모듈 또는 이들의 조합을 포함할 수 있다.
스토리지(230)는 각종 정보를 저장할 수 있다. 스토리지(230)는 데이터를 임시적으로 또는 반영구적으로 저장할 수 있다. 예를 들어, 서버 디바이스(100)의 스토리지(230)에는 서버 디바이스(100)를 구동하기 위한 운용 프로그램(OS: Operating System), 웹 사이트를 호스팅하기 위한 데이터나 점자 생성을 위한 프로그램 내지는 어플리케이션(예를 들어, 웹 어플리케이션)에 관한 데이터 등이 저장될 수 있다. 또, 스토리지(230)는 상술한 바와 같이 모듈들을 컴퓨터 코드 형태로 저장할 수 있다.
스토리지(230)의 예로는 하드 디스크(HDD: Hard Disk Drive), SSD(Solid State Drive), 플래쉬 메모리(flash memory), 롬(ROM: Read-Only Memory), 램(RAM: Random Access Memory) 등이 있을 수 있다. 이러한 스토리지(230)는 내장 타입 또는 탈부착 가능한 타입으로 제공될 수 있다.
프로세서(240)는 서버 디바이스(100) 및 사용자 디바이스(200)의 전반적인 동작을 제어한다. 이를 위해 프로세서(240)는 각종 정보의 연산 및 처리를 수행하고 서버 디바이스(100)의 구성요소들의 동작을 제어할 수 있다. 예를 들어, 프로세서(240)는 데이터 전송을 위한 프로그램 내지 어플리케이션을 실행시킬 수 있을 것이다. 프로세서(240)는 하드웨어, 소프트웨어 또는 이들의 조합에 따라 컴퓨터나 이와 유사한 장치로 구현될 수 있다. 하드웨어적으로 프로세서(240)는 전기적인 신호를 처리하여 제어 기능을 수행하는 전자 회로 형태로 구현될 수 있으며, 소프트웨어적으로는 하드웨어적인 프로세서(240)를 구동시키는 프로그램 형태로 구현될 수 있다. 한편, 이하의 설명에서 특별한 언급이 없는 경우에는 서버 디바이스(100) 및 사용자 디바이스(200)의 동작은 프로세서(240)의 제어에 의해 수행되는 것으로 해석될 수 있다. 즉, 상술한 데이터 전송 시스템에 구현되는 모듈들이 실행되는 경우, 모듈들은 프로세서(240)가 서버 디바이스(100) 및 사용자 디바이스(200)를 이하의 동작들을 수행하도록 제어하는 것으로 해석될 수 있다.
요약하면, 다양한 실시예들은 다양한 수단을 통해 구현될 수 있다. 예를 들어, 다양한 실시예들은 하드웨어, 펌웨어(firmware), 소프트웨어 또는 그것들의 결합 등에 의해 구현될 수 있다.
하드웨어에 의한 구현의 경우, 다양한 실시예들에 따른 방법은 하나 또는 그 이상의 ASICs(application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서, 콘트롤러, 마이크로 콘트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.
펌웨어나 소프트웨어에 의한 구현의 경우, 다양한 실시예들에 따른 방법은 이하에서 설명된 기능 또는 동작들을 수행하는 모듈, 절차 또는 함수 등의 형태로 구현될 수 있다. 예를 들어, 소프트웨어 코드는 메모리에 저장되어 프로세서에 의해 구동될 수 있다. 상기 메모리는 상기 프로세서 내부 또는 외부에 위치할 수 있으며, 이미 공지된 다양한 수단에 의해 상기 프로세서와 데이터를 주고받을 수 있다.
이하에서는, 상기와 같은 기술적 사상에 기반하여 다양한 실시예들에 대해 보다 상세히 설명한다. 이하에서 설명되는 다양한 실시예들에 대해서는 앞서 설명한 내용들이 적용될 수 있다. 예를 들어, 이하에서 설명되는 다양한 실시예들에서 정의되지 않은 동작, 기능, 용어 등은 앞서 설명한 내용들에 기반하여 수행되고 설명될 수 있다.
이하의 설명에서는 서비스를 제공하기 위한 서버 디바이스(100)가 데이터 전송 구조를 설정하여 서비스 상의 이벤트와 관련된 데이터를 광고 플랫폼으로 전송하는 동작을 수행함을 전제로 다양한 실시예들에 대하여 설명한다.
도 3은 다양한 실시예들에 따른 데이터 전송을 위한 서버 디바이스(100)의 동작 방법을 도시한 도면이다.
도 3에 따를 때 서버 디바이스(100)는, 서비스에 연계된 하나 이상의 광고 플랫폼들에 대한 정보를 확인하고(301), 서비스 상에서 발생하는 이벤트와 관련된 데이터를 하나 이상의 광고 플랫폼들에 포함된 각 광고 플랫폼에 전송하기 위한 데이터 전송 구조를 설정하며(303), 데이터 전송 구조에 기반하여 이벤트와 관련된 데이터를 각 광고 플랫폼으로 전송할 수 있다(305).
도 3에 따라 서버 디바이스(100)가 이벤트와 관련된 데이터를 각 광고 플랫폼으로 전송하는 동작은 서버 디바이스(100)가 제공하는 서비스 또는 서버 디바이스(100)와 관련된 서비스에 대하여 수행될 수 있으며, 상기 서비스는 서비스에서 판매되는 복수의 아이템들을 서비스를 이용하는 복수의 사용자가 주문 및 구매할 수 있는 서비스에 해당할 수 있다. 서비스에서 판매되는 복수의 아이템들은 아이템의 종류 또는 타입 등에 제한되지 않고 판매자가 아이템을 판매하기 위해 등록하는 다양한 종류 또는 타입의 아이템을 포함할 수 있다.
다양한 실시예들에 따르면, 동작 301에서, 서버 디바이스(100)는 서비스에 연계된 하나 이상의 광고 플랫폼들에 대한 정보를 확인할 수 있다.
예를 들어, 동작 301에 따라 서버 디바이스(100)가 정보를 확인하는 하나 이상의 광고 플랫폼들은, 서비스에 연계되어 서비스 상에서 광고를 제공하거나, 서비스 상의 이벤트와 관련된 데이터를 수집할 수 있도록 서비스에 연계되어 설정된 광고 플랫폼을 포함할 수 있다.
예를 들어, 동작 301에 따라 서버 디바이스(100)가 정보를 확인하는 하나 이상의 광고 플랫폼들은, 서비스와의 일정한 계약 관계에 기반하여 서비스에 연계되는 것일 수 있다.
다양한 실시예들에 따르면, 동작 303에서, 서버 디바이스(100)는 서비스 상에서 발생하는 이벤트와 관련된 데이터를 하나 이상의 광고 플랫폼들에 포함된 각 광고 플랫폼에 전송하기 위한 데이터 전송 구조를 설정할 수 있다.
예를 들어, 서비스 상에서 발생하는 이벤트는, 서비스 상에서의 사용자의 액션에 기반하여 발생하는 이벤트일 수 있다. 일 예로, 사용자가 서비스 상에서 아이템을 구매하는 액션을 수행하면 해당 액션이 이벤트로 확인되어 확인된 이벤트와 관련된 데이터가 생성될 수 있다. 이와 같이 생성되는 데이터에는, 아이템을 구매하는 액션의 주체인 사용자에 대한 데이터, 아이템을 구매하는 액션의 객체인 아이템에 대한 데이터, 및/또는 아이템을 구매하는 액션에 따라 확인되는 아이템의 가격, 주문 수량에 대한 데이터 등 액션과 관련된 다양한 데이터가 포함될 수 있다.
예를 들어, 서버 디바이스(100)가 동작 303에 따라 설정하는 데이터 전송 구조는, 서비스를 통해 생성되는 모든 로그들을 기록하도록 설정된 라이브러리(library)로부터 로그를 획득하여 데이터로 변환하고 각 광고 플랫폼으로 변환한 데이터를 전송하도록 관리하는 구조에 해당할 수 있다. 즉, 서버 디바이스(100)는 서비스를 통해 생성되는 모든 로그들을 기록하도록 설정된 라이브러리로부터 서비스에 대한 로그들을 획득할 수 있으며, 획득된 로그를 기반으로 이벤트와 관련된 데이터를 생성해 각 광고 플랫폼으로 전송하도록 관리할 수 있다. 상기와 같은 라이브러리에는 파이썬(Python)의 로깅 프레임워크를 백엔드(backend) 단에 연결시켜줄 수 있는 'Lumberjack' 라이브러리가 이용될 수 있다.
예를 들어, 서비스를 통해 생성되는 모든 로그들이 라이브러리에 기록되는 것은, 서비스를 위한 프론트엔드(frontend) 단에서 수행되는 동작에 해당할 수 있다. 즉, 서비스를 통해 생성되는 모든 로그들의 라이브러리에 대한 기록은 서비스를 위한 프론트엔드(frontend) 서버에 기반하여 수행될 수 있으며, 프론트엔드 서버는 사용자 디바이스(200)가 서비스 상에서 수행하는 다양한 액션 및/또는 다양한 액션에 따라 발생하는 다양한 이벤트 등과 관련된 로그를 수집하여 라이브러리에 기록하도록 관리될 수 있다.
반면, 동작 303에 따라 데이터 전송 구조를 설정하고 이벤트와 관련된 데이터를 변환 및 획득하여 각 광고 플랫폼으로 이벤트와 관련된 데이터를 전송하는 서버 디바이스(100)는, 상기의 프론트엔드 서버와는 상이한 백엔드(backend) 서버에 해당할 수 있다. 데이터 전송 구조를 설정하거나, 이벤트와 관련된 데이터를 변환 및 획득하는 동작을 프론트엔드 단에서 수행하도록 관리한다면 서비스를 이용하는 사용자 디바이스(200)가 이벤트와 관련된 데이터를 각 광고 플랫폼에 맞게 변환하는 것이 필요할 수 있으며, 이는 사용자 디바이스(200)의 데이터 처리에 부하를 발생시킬 수 있다. 따라서 본원발명에서는, 사용자 디바이스(200)가 서비스를 이용하여 발생하는 이벤트 등에 대한 로그를 라이브러리에 기록하기만 하도록 프론트엔드 단에서 관리하고, 백엔드 서버에 해당하는 도 3의 서버 디바이스(100)를 포함하는 백엔드 단에서 라이브러리에 기록된 로그를 각 광고 플랫폼에 맞는 데이터로 변환하도록 관리함으로써, 사용자 디바이스(200)의 데이터 처리에 있어 부하를 경감시킬 수 있다. 이 경우, 사용자 디바이스(200)와 프론트엔드 서버를 포함한 프론트엔드 단에서는 서비스 상에서 생성되는 로그를 라이브러리에 기록하는 동작을, 백엔드 서버를 포함한 백엔드 단에서는 라이브러리에 기록된 로그를 각 광고 플랫폼에 맞는 데이터로 변환하여 각 광고 플랫폼에 전송하는 동작을 각각 비동기식으로 수행할 수 있게 된다.
도 4는 서비스 상의 로그가 프론트엔드 단에서 각 광고 플랫폼에 맞는 데이터로 변환되어 전송되는 모습을 도시한 도면이다.
도 4에서는 서비스의 앱을 이용하는 사용자 디바이스(200)를 통해 서비스 상 사용자의 액션에 따른 이벤트가 발생한 경우, 사용자 디바이스(200)를 포함한 프론트엔드 단에서 이벤트와 관련된 데이터가 각 광고 플랫폼에 맞게 변환되어 각 광고 플랫폼으로 전송될 수 있다. 일 예로 도 4에서는, 사용자의 액션에 따른 이벤트에 대한 로그가 제1 광고 플랫폼을 위한 일련의 데이터로 변환되어 제1 광고 플랫폼으로 전송될 수 있으며(401), 사용자의 액션에 따른 이벤트에 대한 로그가 제2 광고 플랫폼을 위한 일련의 데이터로 변환되어 제2 광고 플랫폼으로 전송될 수도 있다(403). 또한, 서비스 상에 연계된 다른 광고 플랫폼이 있다면 상기 다른 광고 플랫폼을 위해서도 사용자의 액션에 따른 이벤트에 대한 로그가 데이터로 변환되어 상기 다른 광고 플랫폼에 전송될 수 있다(405).
사용자 디바이스(200)를 포함한 프론트엔드 단에서 이벤트와 관련된 데이터가 각 광고 플랫폼에 맞게 변환되어 각 광고 플랫폼으로 전송되는 도 4와 달리, 백엔드 서버에 대응하는 서버 디바이스(100)가 포함된 백엔드 단에서 이벤트와 관련된 데이터가 각 광고 플랫폼에 맞게 변환되어 각 광고 플랫폼으로 전송되는 본원발명의 구조도는 도 5와 같을 수 있다.
도 5는 본원발명의 데이터 전송 구조를 기반으로 서비스 상의 로그가 백엔드 단에서 각 광고 플랫폼에 맞는 데이터로 변환되어 전송되는 모습을 도시한 도면이다.
도 5에서는 서비스의 앱을 이용하는 사용자 디바이스(200)를 통해 서비스 상 사용자의 액션에 따른 이벤트가 발생한 경우, 사용자 디바이스(200)를 포함한 프론트엔드 단에서 이벤트에 대한 로그가 라이브러리("Lumberjack")에 기록될 수 있다(501).
이 때 백엔드 단에서, 라이브러리에 기록된 로그들 중 이벤트와 관련된 로그를 추출하여 데이터베이스에 저장할 수 있는 로그 저장 구조("Consume"->"ETL"->"Mysql", 503)와 로그 저장 구조를 통해 저장된 로그를 각 광고 플랫폼을 위한 각 데이터로 변환하여 전송할 수 있는 각각의 컨버터(505, 507, 509)가 구비된 로그-데이터 컨버터 구조를 포함한 데이터 전송 구조가 설정될 수 있다.
도 5와 같은 데이터 전송 구조를 기반으로 서비스 상의 이벤트와 관련된 로그를 각 광고 플랫폼에 맞는 각 데이터로 변환하고 각 광고 플랫폼에 전송함으로써, 도 4와 다르게 사용자 디바이스(200)를 포함한 프론트엔드 단의 데이터 처리 부담을 경감할 수 있다.
예를 들어, 동작 303에 따라 서버 디바이스(100)가 설정하는 데이터 전송 구조는, 서비스에 대한 로그들 중 상기 이벤트와 관련된 적어도 일부의 로그들을 추출하여 저장하는 로그 저장 구조를 포함할 수 있다. 즉 라이브러리에 기록되는 서비스의 전체 로그들 중, 사용자의 액션에 따라 발생하는 이벤트와 관련된 일부의 로그들을 라이브러리로부터 추출하여 데이터베이스에 저장하기 위한 로그 저장 구조가 동작 303에 따른 데이터 전송 구조에 포함될 수 있다.
예를 들어, 동작 303에 따라 서버 디바이스(100)가 설정하는 데이터 전송 구조는, 로그 저장 구조를 통해 저장된 적어도 일부의 로그들을 각 광고 플랫폼을 위한 각 데이터로 변환하기 위한 로그-데이터 컨버터(converter) 구조를 포함할 수 있다. 즉, 로그 저장 구조의 데이터베이스에 저장된 이벤트와 관련된 로그들을 각 광고 플랫폼을 위한 각 데이터로 변환하기 위한 각 컨버터를 구비하는 로그-데이터 컨버터 구조가 동작 303에 따른 데이터 전송 구조에 포함될 수 있다.
이 때 로그-데이터 컨버터 구조에는 서비스에 연계되는 것으로 확인되는 하나 이상의 광고 플랫폼들 각각에 대응하여 설정되는 하나 이상의 컨버터들이 포함될 수 있으며, 서버 디바이스(100)는 각 광고 플랫폼마다 대응되는 각 컨버터를 설정함으로써 각 컨버터를 통해 각 광고 플랫폼을 위한 데이터 포맷(format)에 맞게 이벤트와 관련된 로그를 데이터로 변환할 수 있다. 일 예로, 로그-데이터 컨버터 구조 내 하나 이상의 컨버터들 중 하나 이상의 광고 플랫폼들에 포함된 제1 광고 플랫폼에 대응하는 제1 컨버터는, 이벤트와 관련된 로그들을 제1 광고 플랫폼을 위한 데이터 포맷(format)에 맞는 제1 데이터로 변환하도록 설정할 수 있다. 이 때 이와 같이 설정되는 제1 데이터에는, 이벤트에 대응하는 데이터 뿐만 아니라, 제1 광고 플랫폼에서 서비스를 식별하기 위해 설정한 식별자(identifier) 데이터 또한 포함될 수 있다. 즉, 광고 플랫폼에서는 복수의 다양한 서비스에 대해서 광고를 제공할 것이기에 광고를 제공하는 각 서비스를 식별할 필요가 있으며, 이벤트와 관련된 데이터가 어느 서비스로부터 획득된 것인지를 구분할 수 있어야 하므로, 서버 디바이스(100)가 광고 플랫폼에 제공하는 데이터에는 이벤트와 관련된 데이터와 함께 서비스를 위한 서비스 식별자 데이터도 포함될 수 있다.
서버 디바이스(100)는 각 광고 플랫폼마다 대응되는 각 컨버터를 설정하여 하나의 광고 플랫폼 단위로 데이터를 변환하고 전송하도록 병렬적으로 관리할 수 있으며, 개별적인 데이터 포맷을 가지는 광고 플랫폼에 맞게 생성된 개별적인 데이터를 광고 플랫폼으로 전송할 수 있다. 또한 서버 디바이스(100)는, 서비스에 새롭게 연계되는 광고 플랫폼이 확인되거나 서비스에 더 이상 연계되지 않는 광고 플랫폼이 확인되는 경우, 새로운 광고 플랫폼에 대응하는 새로운 컨버터를 추가하거나 기존의 컨버터를 삭제함으로써 광고 플랫폼에 대한 데이터 전송을 쉽게 관리할 수도 있다.
즉, 서버 디바이스(100)는 서비스에 연계될 새로운 광고 플랫폼에 대한 정보를 확인하면, 데이터 전송 구조에 새로운 광고 플랫폼을 위한 새로운 컨버터를 추가하도록 설정하고, 새로운 컨버터에 기반하여 이벤트와 관련된 데이터를 새로운 광고 플랫폼으로 전송할 수 있다. 반면 서버 디바이스(100)가 서비스에 연계되는 하나 이상의 광고 플랫폼들 중 삭제되는 광고 플랫폼에 대한 정보를 확인하면, 서버 디바이스(100)는 데이터 전송 구조에서 삭제되는 광고 플랫폼을 위한 컨버터를 삭제하도록 설정하여, 이벤트와 관련된 데이터가 더 이상 해당 광고 플랫폼으로 전송되지 않도록 관리할 수 있다.
예를 들어, 동작 303에 따라 서버 디바이스(100)가 설정하는 데이터 전송 구조에 포함된 로그-데이터 컨버터 구조의 각 컨버터는, 개별적으로 활성화 되거나 비활성화 되도록 관리될 수 있다. 즉, 로그-데이터 컨버터 구조의 하나 이상의 컨버터들에 포함된 각 컨버터의 활성화 여부를 결정하기 위한 각 컨버터에 대한 스위치 기능이 설정되어, 각 컨버터의 활성화 여부를 개별적으로 설정할 수 있다. 이를 통해 서버 디바이스(100)는 개별적으로 데이터를 변환하고 광고 플랫폼으로 데이터를 전송하는 각 컨버터의 동작을 효과적으로 관리할 수 있다.
다양한 실시예들에 따르면, 동작 305에서, 서버 디바이스(100)는 데이터 전송 구조에 기반하여 이벤트와 관련된 데이터를 각 광고 플랫폼으로 전송할 수 있다.
예를 들어, 서버 디바이스(100)가 이벤트와 관련된 데이터를 각 광고 플랫폼으로 전송하는 동작 305는, 전술한 것과 같이, 각 광고 플랫폼에 대응하는 각 컨버터에서 이벤트와 관련된 로그가 각각의 데이터로 변환되면 변환된 각각의 데이터를 각 광고 플랫폼으로 전송하는 동작에 해당할 수 있다.
한편, 서버 디바이스(100)가 도 3과 같이 각 광고 플랫폼에 맞는 각 컨버터를 포함하는 데이터 전송 구조를 설정하고 데이터를 각 광고 플랫폼으로 전송할 경우, 서버 디바이스(100)는 서비스에 연계된 모든 광고 플랫폼들을 대상으로 하여 이벤트와 관련된 로그를 데이터로 변환해 전송하게 되므로, 서비스에 연계된 광고 플랫폼들의 개수에 따라서 도 3의 동작이 서버 디바이스(100)에 과부하를 발생시킬 수도 있다.
위와 같은 문제를 방지하기 위해 서버 디바이스(100)는 하나 이상의 광고 플랫폼들을 위한 데이터 변환 처리와 관련된 부하를 관리하는 부하 관리 정보를 설정하도록 할 수 있으며, 부하 관리 정보를 통해 도 3의 데이터 전송 구조에 따라 서버 디바이스(100)에 얼마만큼의 부하가 발생하는지를 확인할 수 있다. 이 때, 만약 부하 관리 정보를 통해 서버 디바이스(100)에 기 설정된 수준 이상의 부하가 발생하는 것으로 확인될 경우, 서버 디바이스(100)는 데이터 전송 구조에서 상기 하나 이상의 광고 플랫폼들에 대응하는 하나 이상의 컨버터들 중 동시에 활성화 되는 컨버터들의 임계 개수를 설정할 수 있으며, 하나 이상의 광고 플랫폼들에 대한 우선순위 정보를 확인해 하나 이상의 광고 플랫폼들 중 우선순위 정보에 따라 임계 개수만큼 결정된 일부의 컨버터들을 제외한 나머지 컨버터들을 비활성화 하도록 동작할 수도 있다.
즉, 서버 디바이스(100)는 도 3의 데이터 전송 구조에 따라 높은 부하가 발생하는 것으로 확인되는 경우, 우선순위가 높은 순으로 임계 개수만큼의 컨버터들만이 동작하고 나머지 다른 컨버터들은 일정한 임계 시간 동안 동작하지 않도록 하여 부하를 경감시킬 수 있다. 여기서 우선순위가 낮은 컨버터들이 비활성화 되는 임계 시간은 서버 디바이스(100)가 사전에 설정한 시간 구간일 수 있으며, 임계 시간이 지나면 비활성화 되어 있던 컨버터들이 다시 활성화 될 수 있다.
임계 개수만큼의 컨버터들만이 활성화 상태를 유지하도록 서버 디바이스(100)가 제한할 때, 임계 개수에 해당하는 컨버터들을 결정하기 위한 각 광고 플랫폼의 우선순위 정보는, 각 광고 플랫폼에 기반하여 확인되는 수익 정보, 각 광고 플랫폼에 대응하는 각 광고 매체와의 계약 기간 정보, 및 각 광고 플랫폼과 관련된 서비스 상의 각 광고에 대한 사용자들의 클릭율에 대한 정보 중 적어도 하나에 기반하여 설정될 수 있다. 일 예로, 각 광고 플랫폼으로부터 확인되는 수익이 높을수록 각 광고 플랫폼의 우선순위가 높게 설정될 수 있거나, 각 광고 플랫폼에 대응하는 각 광고 매체와의 계약 기간이 오래될수록 각 광고 플랫폼의 우선순위가 높게 설정될 수 있으며, 혹은 각 광고 플랫폼과 관련된 서비스 상의 각 광고에 대한 사용자들의 클릭율이 높을수록 각 광고 플랫폼의 우선순위가 높게 설정될 수도 있다.
도 6은 광고 플랫폼의 우선순위에 따라서 일부 컨버터들의 동작을 비활성화 하는 서버 디바이스(100)의 동작 방법을 도시한 도면이다.
도 6에서, 서버 디바이스(100)는 하나 이상의 광고 플랫폼들을 위한 데이터 변환 처리와 관련된 부하 관리 정보를 획득할 수 있다(601). 여기서, 부하 관리 정보는 하나 이상의 광고 플랫폼들에 포함된 각 광고 플랫폼을 위한 각 컨버터를 통해 서비스 상의 이벤트와 관련된 로그를 각 데이터로 변환하는 경우에 얼마만큼의 부하가 발생하는지와 관련된 정보를 포함할 수 있다.
부하 관리 정보를 획득한 서버 디바이스(100)는 데이터 전송 구조에서 하나 이상의 광고 플랫폼들에 대응하는 하나 이상의 컨버터들 중 동시에 활성화 되는 컨버터들의 임계 개수를 설정하여 동시에 활성화 되는 컨버터들의 최대 개수를 제한할 수 있으며(603), 하나 이상의 광고 플랫폼들의 우선순위 정보에 기반하여 하나 이상의 광고 플랫폼들 중 임계 개수에 따라 결정된 일부의 컨버터들만 활성화 되도록 관리하고 상기 일부의 컨버터들을 제외한 나머지 컨버터들은 비활성화 되도록 관리할 수 있다(605).
예를 들어, 서버 디바이스(100)가 광고 플랫폼들을 대상으로 하여 이벤트와 관련된 로그를 데이터로 변환해 전송하는 과정 상에서 발생하는 데이터 처리 부담을 방지하기 위해, 서버 디바이스(100)는 서비스에 연계된 각 광고 플랫폼을 위한 각 컨버터에 대한 최대 데이터 처리량을 설정할 수도 있다. 다시 말해, 서버 디바이스(100)는 데이터 전송 구조에 포함되는 각 컨버터에서 처리될 수 있는 데이터의 양에 대한 제한을 설정할 수 있다.
이 때 컨버터에 대해서 설정되는 최대 데이터 처리량은 각 컨버터마다 상이할 수 있으며, 서버 디바이스(100)는 전술한 각 광고 플랫폼의 우선순위 정보 등에 따라 우선순위가 높은 광고 플랫폼을 위한 컨버터에 더 많은 데이터 처리량이 할당되도록 각 컨버터에 대한 최대 데이터 처리량을 설정할 수 있다. 여기서 각 광고 플랫폼의 우선순위 정보는, 각 광고 플랫폼에 기반하여 확인되는 수익 정보, 각 광고 플랫폼에 대응하는 각 광고 매체와의 계약 기간 정보, 및 각 광고 플랫폼과 관련된 서비스 상의 각 광고에 대한 사용자들의 클릭율에 대한 정보 중 적어도 하나에 기반하여 설정될 수 있다. 일 예로, 각 광고 플랫폼으로부터 확인되는 수익이 높을수록 각 광고 플랫폼의 우선순위가 높게 설정될 수 있거나, 각 광고 플랫폼에 대응하는 각 광고 매체와의 계약 기간이 오래될수록 각 광고 플랫폼의 우선순위가 높게 설정될 수 있으며, 혹은 각 광고 플랫폼과 관련된 서비스 상의 각 광고에 대한 사용자들의 클릭율이 높을수록 각 광고 플랫폼의 우선순위가 높게 설정될 수도 있다.
도 3 내지 도 6에 따라 서버 디바이스(100)가 데이터를 전송하는 동작 방법을 수행하는 과정에서 각 정보들이 다양한 형태로 결합될 수 있음은 자명하다.
본 명세서와 도면에 개시된 본 발명의 실시예들은 본 발명의 기술 내용을 쉽게 설명하고 본 발명의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 즉 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명의 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다. 또한 상기 각각의 실시 예는 필요에 따라 서로 조합되어 운용할 수 있다. 예컨대, 본 발명의 모든 실시 예는 일부분들이 서로 조합되어 시스템에 의해 구현될 수 있다.
또한, 본 발명에 따른 시스템 등에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다.
이와 같이, 본 발명의 다양한 실시예들은 특정 관점에서 컴퓨터 리드 가능 기록 매체(computer readable recording medium)에서 컴퓨터 리드 가능 코드(computer readable code)로서 구현될 수 있다. 컴퓨터 리드 가능 기록 매체는 컴퓨터 시스템에 의해 리드될 수 있는 데이터를 저장할 수 있는 임의의 데이터 저장 디바이스이다. 컴퓨터 리드 가능 기록 매체의 예들은 읽기 전용 메모리(read only memory: ROM)와, 랜덤-접속 메모리(random access memory: RAM)와, 컴팩트 디스크- 리드 온니 메모리(compact disk-read only memory: CD-ROM)들과, 마그네틱 테이프(magnetic tape)들과, 플로피 디스크(floppy disk)들과, 광 데이터 저장 디바이스들, 및 캐리어 웨이브(carrier wave)들(인터넷을 통한 데이터 송신 등)을 포함할 수 있다. 컴퓨터 리드 가능 기록 매체는 또한 네트워크 연결된 컴퓨터 시스템들을 통해 분산될 수 있고, 따라서 컴퓨터 리드 가능 코드는 분산 방식으로 저장 및 실행된다. 또한, 본 발명의 다양한 실시예들을 성취하기 위한 기능적 프로그램들, 코드, 및 코드 세그먼트(segment)들은 본 발명이 적용되는 분야에서 숙련된 프로그래머들에 의해 쉽게 해석될 수 있다.
또한 본 발명의 다양한 실시예들에 따른 장치 및 방법은 하드웨어, 소프트웨어 또는 하드웨어 및 소프트웨어의 조합의 형태로 실현 가능하다는 것을 알 수 있을 것이다. 이러한 소프트웨어는 예를 들어, 삭제 가능 또는 재 기록 가능 여부와 상관없이, ROM 등의 저장 장치와 같은 휘발성 또는 비 휘발성 저장 장치, 또는 예를 들어, RAM, 메모리 칩, 장치 또는 집적 회로와 같은 메모리, 또는 예를 들어 콤팩트 디스크(compact disk: CD), DVD, 자기 디스크 또는 자기 테이프 등과 같은 광학 또는 자기적으로 기록 가능함과 동시에 기계(예를 들어, 컴퓨터)로 읽을 수 있는 저장 매체에 저장될 수 있다. 본 발명의 다양한 실시예들에 따른 방법은 제어부 및 메모리를 포함하는 컴퓨터 또는 이와 같은 메모리 또는 컴퓨터를 포함한 차량 등에 의해 구현될 수 있고, 이러한 메모리는 본 발명의 실시예들을 구현하는 명령들을 포함하는 프로그램 또는 프로그램들을 저장하기에 적합한 기계로 읽을 수 있는 저장 매체의 한 예임을 알 수 있을 것이다.
따라서, 본 발명은 본 명세서의 청구항에 기재된 장치 또는 방법을 구현하기 위한 코드를 포함하는 프로그램 및 이러한 프로그램을 저장하는 기계(컴퓨터 등)로 읽을 수 있는 저장 매체를 포함한다. 또한, 이러한 프로그램은 유선 또는 무선 연결을 통해 전달되는 통신 신호와 같은 임의의 매체를 통해 전자적으로 이송될 수 있고, 본 발명은 이와 균등한 것을 적절하게 포함한다.
상기에서는 본 발명의 실시예들을 참조하여 설명하였지만, 본 명세서와 도면에 개시된 본 발명의 실시예들은 본 발명의 기술 내용을 쉽게 설명하고 본 발명의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며 본 발명의 범위를 한정하고자 하는 것은 아니다. 또한 앞서 설명된 본 발명에 따른 실시예들은 예시적인 것에 불과하며, 당해 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 범위의 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 다음의 특허청구범위에 의해서 정해져야 할 것이다.

Claims (16)

  1. 전자 장치가 데이터를 전송하는 방법에 있어서,
    상기 전자 장치가 제공하는 서비스에 연계된 하나 이상의 광고 플랫폼들에 대한 정보를 확인하는 단계;
    상기 서비스 상에서 발생하는 이벤트와 관련된 데이터를 상기 하나 이상의 광고 플랫폼들에 포함된 각 광고 플랫폼에 전송하기 위한 데이터 전송 구조를 설정하는 단계; 및
    상기 데이터 전송 구조에 기반하여, 상기 이벤트와 관련된 데이터를 상기 각 광고 플랫폼으로 전송하는 단계를 포함하는,
    데이터 전송 방법.
  2. 제 1 항에 있어서,
    상기 이벤트는, 상기 서비스 상에서의 사용자의 액션에 기반하여 발생하는,
    데이터 전송 방법.
  3. 제 1 항에 있어서,
    상기 데이터 전송 방법은,
    상기 서비스를 통해 생성되는 모든 로그들을 기록하도록 설정된 라이브러리(library)로부터 상기 서비스에 대한 로그들을 획득하는 단계를 더 포함하는,
    데이터 전송 방법.
  4. 제 3 항에 있어서,
    상기 서비스를 통해 생성되는 모든 로그들의 상기 라이브러리에 대한 기록은 상기 서비스를 위한 프론트엔드(frontend) 서버에 기반하여 수행되는,
    데이터 전송 방법.
  5. 제 4 항에 있어서,
    상기 전자 장치는, 상기 프론트엔드 서버와 상이한 백엔드(backend) 서버에 대응하는,
    데이터 전송 방법.
  6. 제 3 항에 있어서,
    상기 데이터 전송 구조는,
    상기 서비스에 대한 로그들 중 상기 이벤트와 관련된 적어도 일부의 로그들을 추출하여 저장하는 로그 저장 구조, 및
    상기 로그 저장 구조를 통해 저장된 상기 적어도 일부의 로그들을 상기 각 광고 플랫폼을 위한 각 데이터로 변환하기 위한 로그-데이터 컨버터(converter) 구조를 포함하는,
    데이터 전송 방법.
  7. 제 6 항에 있어서,
    상기 로그-데이터 컨버터 구조는,
    상기 하나 이상의 광고 플랫폼들 각각에 대응하여 설정되는 하나 이상의 컨버터들을 포함하는,
    데이터 전송 방법.
  8. 제 7 항에 있어서,
    상기 하나 이상의 컨버터들 중 상기 하나 이상의 광고 플랫폼들에 포함된 제1 광고 플랫폼에 대응하는 제1 컨버터는, 상기 적어도 일부의 로그들을 상기 제1 광고 플랫폼을 위한 데이터 포맷(format)에 따른 제1 데이터로 변환하도록 설정되는,
    데이터 전송 방법.
  9. 제 8 항에 있어서,
    상기 제1 데이터는, 상기 이벤트에 대한 데이터 및 상기 제1 광고 플랫폼에서 상기 서비스를 위해 설정한 서비스 식별자 데이터를 포함하는,
    데이터 전송 방법.
  10. 제 7 항에 있어서,
    상기 하나 이상의 컨버터들에 포함된 각 컨버터의 활성화 여부를 결정하기 위한 상기 각 컨버터에 대한 각 스위치 기능이 설정되는,
    데이터 전송 방법.
  11. 제 1 항에 있어서,
    상기 데이터 전송 방법은,
    상기 서비스에 연계될 새로운 광고 플랫폼에 대한 정보를 확인하는 단계;
    상기 데이터 전송 구조에 상기 새로운 광고 플랫폼을 위한 새로운 컨버터를 추가하도록 설정하는 단계; 및
    상기 새로운 컨버터에 기반하여, 상기 이벤트와 관련된 데이터를 상기 새로운 광고 플랫폼으로 전송하는 단계를 더 포함하는,
    데이터 전송 방법.
  12. 제 1 항에 있어서,
    상기 데이터 전송 방법은,
    상기 하나 이상의 광고 플랫폼들 중 삭제되는 광고 플랫폼에 대한 정보를 확인하는 단계; 및
    상기 데이터 전송 구조에서 상기 삭제되는 광고 플랫폼을 위한 컨버터를 삭제하도록 설정하는 단계를 더 포함하는,
    데이터 전송 방법.
  13. 제 1 항에 있어서,
    상기 데이터 전송 방법은,
    상기 하나 이상의 광고 플랫폼들을 위한 데이터 변환 처리와 관련된 부하 관리 정보를 획득하는 단계;
    상기 부하 관리 정보에 기반하여, 상기 데이터 전송 구조에서 상기 하나 이상의 광고 플랫폼들에 대응하는 하나 이상의 컨버터들 중 동시에 활성화 되는 컨버터들의 임계 개수를 설정하는 단계; 및
    상기 하나 이상의 광고 플랫폼들에 대한 우선순위 정보에 기반하여, 상기 하나 이상의 광고 플랫폼들 중 상기 임계 개수에 따라 결정된 일부의 컨버터들을 제외한 나머지 컨버터들을 비활성화 하는 단계를 더 포함하는,
    데이터 전송 방법.
  14. 제 13 항에 있어서,
    상기 나머지 컨버터들이 비활성화 되는 임계 시간을 설정하는 단계를 더 포함하고,
    상기 임계 시간이 지나면 상기 나머지 컨버터들이 재활성화 되는,
    데이터 전송 방법.
  15. 제 13 항에 있어서,
    상기 우선순위 정보는,
    상기 각 광고 플랫폼에 기반하여 확인되는 수익 정보,
    상기 각 광고 플랫폼에 대응하는 각 광고 매체와의 계약 기간 정보, 및
    상기 각 광고 플랫폼과 관련된 상기 서비스 상의 각 광고에 대한 사용자들의 클릭율에 대한 정보 중 적어도 하나에 기반하여 설정되는,
    데이터 전송 방법.
  16. 데이터를 전송하는 전자 장치에 있어서,
    프로세서 (processor); 및
    하나 이상의 인스트럭션 (instruction) 을 저장하는 하나 이상의 메모리 (memory) 를 포함하고,
    상기 하나 이상의 인스트럭션은, 실행 시에, 상기 프로세서가:
    상기 전자 장치가 제공하는 서비스에 연계된 하나 이상의 광고 플랫폼들에 대한 정보를 확인하는 단계;
    상기 서비스 상에서 발생하는 이벤트와 관련된 데이터를 상기 하나 이상의 광고 플랫폼들에 포함된 각 광고 플랫폼에 전송하기 위한 데이터 전송 구조를 설정하는 단계; 및
    상기 데이터 전송 구조에 기반하여, 상기 이벤트와 관련된 데이터를 상기 각 광고 플랫폼으로 전송하는 단계를 수행하도록 상기 프로세서를 제어하는,
    전자 장치.
PCT/KR2023/008510 2023-06-15 2023-06-20 데이터를 전송하는 전자 장치의 동작 방법 및 이를 지원하는 전자 장치 Ceased WO2024257934A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2023-0076712 2023-06-15
KR1020230076712A KR102630699B1 (ko) 2023-06-15 2023-06-15 데이터를 전송하는 전자 장치의 동작 방법 및 이를 지원하는 전자 장치

Publications (1)

Publication Number Publication Date
WO2024257934A1 true WO2024257934A1 (ko) 2024-12-19

Family

ID=89714851

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2023/008510 Ceased WO2024257934A1 (ko) 2023-06-15 2023-06-20 데이터를 전송하는 전자 장치의 동작 방법 및 이를 지원하는 전자 장치

Country Status (3)

Country Link
KR (2) KR102630699B1 (ko)
TW (1) TWI913575B (ko)
WO (1) WO2024257934A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080014345A (ko) * 2006-08-10 2008-02-14 에스케이 텔레콤주식회사 콘텐츠 다운로드 시스템 및 콘텐츠 서버 시스템 및운용방법
KR20150113370A (ko) * 2014-03-28 2015-10-08 에스케이플래닛 주식회사 개인화된 광고를 사용자 장치에 타겟팅하는 광고 서비스 장치, 개인화된 광고를 수신하는 사용자 장치, 개인화된 광고를 사용자 장치에 타겟팅하는 방법 및 컴퓨터 프로그램이 기록된 기록매체
US20160343041A1 (en) * 2015-05-21 2016-11-24 Outfit7 Limited INTERFACING WITH SERVERS HAVING DIFFERENT APIs TO OBTAIN ADVERTISEMENT DATA
KR20170038813A (ko) * 2014-06-30 2017-04-07 비데리 인코포레이티드 광고 배치를 위한 광고 플랫폼
KR20210125742A (ko) * 2020-04-09 2021-10-19 주식회사 크로센트 클라우드 상에서의 시각화된 마이크로서비스 기반 소프트웨어 개발 지원 시스템 및 방법

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100293050A1 (en) 2008-04-30 2010-11-18 Intertrust Technologies Corporation Dynamic, Local Targeted Advertising Systems and Methods
EP2433256A4 (en) 2009-05-21 2016-10-05 Intertrust Tech Corp SYSTEMS AND METHODS FOR CONTENT DISTRIBUTION
CN106682925A (zh) 2015-11-06 2017-05-17 北京奇虎科技有限公司 广告内容的推荐方法及装置
TWI753267B (zh) 2019-06-14 2022-01-21 劉國良 消費推薦資訊與採購決策的優化系統及其實施方法
TW202143136A (zh) 2019-08-09 2021-11-16 英商路昂有限公司 使用者媒體平台伺服器系統
CN113536097B (zh) 2020-04-14 2024-03-29 华为技术有限公司 基于自动特征分组的推荐方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080014345A (ko) * 2006-08-10 2008-02-14 에스케이 텔레콤주식회사 콘텐츠 다운로드 시스템 및 콘텐츠 서버 시스템 및운용방법
KR20150113370A (ko) * 2014-03-28 2015-10-08 에스케이플래닛 주식회사 개인화된 광고를 사용자 장치에 타겟팅하는 광고 서비스 장치, 개인화된 광고를 수신하는 사용자 장치, 개인화된 광고를 사용자 장치에 타겟팅하는 방법 및 컴퓨터 프로그램이 기록된 기록매체
KR20170038813A (ko) * 2014-06-30 2017-04-07 비데리 인코포레이티드 광고 배치를 위한 광고 플랫폼
US20160343041A1 (en) * 2015-05-21 2016-11-24 Outfit7 Limited INTERFACING WITH SERVERS HAVING DIFFERENT APIs TO OBTAIN ADVERTISEMENT DATA
KR20210125742A (ko) * 2020-04-09 2021-10-19 주식회사 크로센트 클라우드 상에서의 시각화된 마이크로서비스 기반 소프트웨어 개발 지원 시스템 및 방법

Also Published As

Publication number Publication date
TW202501272A (zh) 2025-01-01
KR102630699B1 (ko) 2024-01-30
KR102900899B1 (ko) 2025-12-16
TWI913575B (zh) 2026-02-01
KR20240176419A (ko) 2024-12-24

Similar Documents

Publication Publication Date Title
WO2023191157A1 (ko) 페이지를 제공하는 전자 장치의 동작 방법 및 이를 지원하는 전자 장치
WO2025164926A1 (ko) 정보를 제공하는 전자 장치의 동작 방법 및 이를 지원하는 전자 장치
WO2023136391A1 (ko) 아이템 카테고리 페이지 제공을 위한 동작 방법 및 이를 지원하는 전자 장치
WO2023033219A1 (ko) 서비스 관련 정보 제공을 위한 동작 방법 및 이를 지원하는 전자 장치
WO2023017878A1 (ko) 아이템 그룹 정보 제공을 위한 동작 방법 및 이를 지원하는 전자 장치
WO2023022275A1 (ko) 아이템 관련 정보 제공을 위한 동작 방법 및 이를 지원하는 전자 장치
WO2023017877A1 (ko) 검색 정보를 제공하는 전자 장치의 동작 방법 및 이를 지원하는 전자 장치
WO2024237382A1 (ko) 정보를 설정하는 전자 장치의 동작 방법 및 이를 지원하는 전자 장치
WO2024111750A1 (ko) 정보를 제공하는 전자 장치의 동작 방법 및 이를 지원하는 전자 장치
WO2024010116A1 (ko) 정보를 제공하는 전자 장치의 동작 방법 및 이를 지원하는 전자 장치
WO2023191153A1 (ko) 정보를 설정하는 전자 장치의 동작 방법 및 이를 지원하는 전자 장치
WO2024117384A1 (ko) 테스트 정보 관리 방법 및 이를 지원하는 전자 장치
WO2023063501A1 (ko) 페이지 정보 제공을 위한 전자 장치의 동작 방법 및 이를 지원하는 전자 장치
KR102630699B1 (ko) 데이터를 전송하는 전자 장치의 동작 방법 및 이를 지원하는 전자 장치
WO2023229093A1 (ko) 재고 정보를 관리하는 방법 및 이를 지원하는 전자 장치
WO2023033217A1 (ko) 결제 처리 정보 제공을 위한 동작 방법 및 이를 지원하는 전자 장치
WO2023063502A1 (ko) 페이지 정보 제공을 위한 전자 장치의 동작 방법 및 이를 지원하는 전자 장치
WO2025018464A1 (ko) 정보를 제공하는 전자 장치의 동작 방법 및 이를 지원하는 전자 장치
WO2025063379A1 (ko) 정보를 제공하는 전자 장치의 동작 방법 및 이를 지원하는 전자 장치
WO2023214604A1 (ko) 정보를 설정하는 전자 장치의 동작 방법 및 이를 지원하는 전자 장치
WO2023068425A1 (ko) 아이템 정보 제공을 위한 동작 방법 및 이를 지원하는 전자 장치
WO2025105551A1 (ko) 정보를 제공하는 전자 장치의 동작 방법 및 이를 지원하는 전자 장치
WO2024135932A1 (ko) 정보를 제공하는 전자 장치의 동작 방법 및 이를 지원하는 전자 장치
WO2024242217A1 (ko) 정보를 제공하는 전자 장치의 동작 방법 및 이를 지원하는 전자 장치
WO2025037657A1 (ko) 정보를 제공하는 전자 장치의 동작 방법 및 이를 지원하는 전자 장치

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23941717

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE