WO2020008600A1 - ブラウザ管理システム、ブラウザ管理方法、ブラウザ管理プログラム、およびクライアントプログラム - Google Patents

ブラウザ管理システム、ブラウザ管理方法、ブラウザ管理プログラム、およびクライアントプログラム Download PDF

Info

Publication number
WO2020008600A1
WO2020008600A1 PCT/JP2018/025568 JP2018025568W WO2020008600A1 WO 2020008600 A1 WO2020008600 A1 WO 2020008600A1 JP 2018025568 W JP2018025568 W JP 2018025568W WO 2020008600 A1 WO2020008600 A1 WO 2020008600A1
Authority
WO
WIPO (PCT)
Prior art keywords
user terminal
browser
image file
server
data
Prior art date
Application number
PCT/JP2018/025568
Other languages
English (en)
French (fr)
Inventor
信敬 伊藤
津留 雅文
Original Assignee
バリューコマース株式会社
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 バリューコマース株式会社 filed Critical バリューコマース株式会社
Priority to US17/256,399 priority Critical patent/US11258845B2/en
Priority to EP18925414.7A priority patent/EP3819779A4/en
Priority to JP2020528633A priority patent/JP7145215B2/ja
Priority to PCT/JP2018/025568 priority patent/WO2020008600A1/ja
Publication of WO2020008600A1 publication Critical patent/WO2020008600A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • 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/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]

Definitions

  • One aspect of the present invention relates to a browser management system, a browser management method, a browser management program, and a client program.
  • Patent Literature 1 describes a method of tracking user activity using a tracking server site.
  • the tracking server site creates cookie data based on the click information and transmits the cookie data to the user terminal.
  • the advertiser site receives cookie data from the user terminal and writes a cookie to the user terminal based on the cookie data.
  • the advertiser site acquires a cookie from the user terminal, creates a tracking message including the record information of the cookie, and transmits the message to the tracking server site.
  • Patent Document 1 The technology described in Patent Document 1 is based on the use of HTTP cookies (HTTP @ cookie). However, there are environments in which HTTP cookies cannot be used, and it is desired to specify a browser using a method other than HTTP cookies.
  • a browser management system includes at least one processor, and at least one processor specifies a browser in response to a process for displaying a web page on a browser of a user terminal. And generates an image file including a plurality of pixels indicating the data sequence, and transmits the image file to the user terminal to store the data sequence in a cache of the user terminal.
  • a browser management program includes, in response to a process for displaying a web page on a browser of a user terminal, generating a data sequence for identifying the browser, Generating an image file including a plurality of pixels, and transmitting the image file to the user terminal for storing the data sequence in a cache of the user terminal, the computer system.
  • an image file indicating a data string for specifying the browser is stored in the cache of the user terminal. Therefore, by using the image file, the browser can be specified without using the HTTP cookie.
  • a browser can be specified by a method other than the HTTP cookie.
  • FIG. 2 is a diagram illustrating a general hardware configuration of a computer used in the browser management system according to the embodiment.
  • 9 is a flowchart illustrating an example of an operation of the user terminal.
  • FIG. 6 is a sequence diagram illustrating an example of an operation of the browser management system according to the first embodiment. It is a figure showing an example of functional composition of a browser management system concerning a 2nd embodiment.
  • FIG. 14 is a sequence diagram illustrating an example of an operation of the browser management system according to the second embodiment. It is a figure showing an example of functional composition of a browser management system concerning a 3rd embodiment.
  • FIG. 13 is a flowchart illustrating an example of an operation of the browser management system according to the third embodiment. It is a figure showing an example of application of a browser management system concerning a 4th embodiment. It is a figure showing an example of functional composition of a browser management system concerning a 4th embodiment. It is a sequence diagram showing an example of operation of a browser management system concerning a 4th embodiment. It is a figure showing an example of application of a browser management system concerning a 5th embodiment. It is a figure showing an example of functional composition of a browser management system concerning a 5th embodiment. It is a sequence diagram showing an example of operation of a browser management system concerning a 5th embodiment. It is a figure showing an example of application of a browser management system concerning a 6th embodiment. It is a figure showing an example of functional composition of a browser management system concerning a 6th embodiment. It is a sequence diagram showing an example of operation of a browser management system concerning a 6th embodiment.
  • the browser management system is a computer system that provides a mechanism for identifying a browser of a user terminal. With this browser management system, it becomes possible to realize stateful processing on a computer system using a stateless protocol.
  • Stateless refers to a method in which the system does not retain data indicating the current state.
  • An example of a stateless protocol includes, but is not limited to, HTTP (Hypertext ⁇ Transfer ⁇ Protocol).
  • stateful refers to a method in which data indicating the current state is held by the system and the state is reflected in processing.
  • ⁇ ⁇ Various services can be realized by stateful processing. Examples of the service include electronic commerce (EC), conversion tracking, affiliate tracking, analytics, targeting, and unauthorized access countermeasures. However, the types of services that involve stateful processing are not limited to these. Browser management systems can be built for any service.
  • the browser management system does not use a conventionally known HTTP cookie but uses a new method different from the conventional technology.
  • the browser management system allows a user to input an image file (hereinafter, simply referred to as “image file”) in which a data string for specifying a browser (hereinafter, also simply referred to as “data string”) is embedded.
  • image file an image file
  • data string a data string for specifying a browser
  • the browser management system is described in detail while showing some embodiments as examples.
  • FIG. 1 is a diagram illustrating an example of a functional configuration of a browser management system 1 according to the first embodiment.
  • the browser management system 1 includes a first server 10.
  • the first server 10 can be connected to one or more user terminals 20 via a communication network.
  • the user terminal 20 can be connected to the web server 30 via a communication network.
  • the configuration of the communication network connecting the computers is not limited at all.
  • a communication network may be established using at least one of the Internet and an intranet.
  • the user terminal 20 is a computer operated by a user who receives an arbitrary online service.
  • the user terminal 20 includes a browser 21 and a cache 22.
  • the browser 21 is software for displaying a web page on a monitor.
  • the user terminal 20 may include a plurality of types of browsers 21.
  • the cache 22 has a function of temporarily storing data in a computer.
  • the method of implementing the cache 22 is not limited.
  • the cache 22 may be implemented using a cache memory, a disk cache, or a cache file.
  • the type of computer used as the user terminal is not limited.
  • the user terminal may be a portable or stationary personal computer.
  • the user terminal may be a mobile terminal such as a high-performance mobile phone (smartphone), a mobile phone, a personal digital assistant (PDA), or a tablet.
  • PDA personal digital assistant
  • the web server 30 is a computer that provides the user terminal 20 with a website capable of providing a stateful service (hereinafter, simply referred to as “website”).
  • a web site is a collection of one or more web pages under a particular domain name.
  • a web page is a document of one page that can be browsed by a browser. Examples of websites include EC sites, news sites, portal sites, blog sites, and social networking service (SNS) sites. However, examples of websites are not limited to these.
  • SNS social networking service
  • the first server 10 is a computer that executes a process for specifying the browser 21 of the user terminal 20. More specifically, the first server 10 transmits the image file in which the data sequence is embedded to the user terminal 20.
  • the first server 10 includes a receiving unit 11, an image generating unit 12, and a transmitting unit 13 as functional elements.
  • the receiving unit 11 is a functional element that receives a request for an image file from the user terminal 20 that processes a web page.
  • the image generation unit 12 is a functional element that generates an image file in which a data string is embedded in response to the request.
  • the transmission unit 13 is a functional element that transmits the image file to the user terminal 20 in order to store the data string in the cache 22.
  • the first server 10 is composed of one or more computers. When a plurality of computers are used, these computers are connected via a communication network such as the Internet or an intranet, so that one first server 10 is logically constructed.
  • FIG. 2 shows a general hardware configuration of the computer 100 constituting the first server 10.
  • the computer 100 includes a processor 101, a main storage unit 102, an auxiliary storage unit 103, a communication control unit 104, an input device 105, and an output device 106.
  • the processor 101 executes an operating system and an application program.
  • the main storage unit 102 includes, for example, a ROM and a RAM.
  • the auxiliary storage unit 103 is composed of, for example, a hard disk or a flash memory, and generally stores a larger amount of data than the main storage unit 102.
  • the auxiliary storage unit 103 stores a first program for causing at least one computer to function as the first server 10.
  • the communication control unit 104 includes, for example, a network card or a wireless communication module.
  • the input device 105 includes, for example, a keyboard, a mouse, a touch panel, and the like.
  • the output device 106 includes, for example, a monitor and a speaker.
  • Each functional element of the first server 10 is realized by reading the first program on the processor 101 or the main storage unit 102 and executing the program.
  • the first program includes a code for implementing each functional element of the first server 10.
  • the processor 101 operates the communication control unit 104, the input device 105, or the output device 106 according to the first program to read and write data in the main storage unit 102 or the auxiliary storage unit 103.
  • each functional element of the first server 10 is realized.
  • Data or a database necessary for processing may be stored in the main storage unit 102 or the auxiliary storage unit 103.
  • the first program may be provided after being fixedly recorded on a tangible recording medium such as a CD-ROM, a DVD-ROM, and a semiconductor memory.
  • the first program may be provided via a communication network as a data signal superimposed on a carrier wave.
  • the provided first program may be stored in the auxiliary storage unit 103.
  • the first server 10 is a computer different from the web server 30, but the configuration of the server is not limited to this.
  • one server may have the functions of both the first server 10 and the web server 30.
  • FIG. 3 is a flowchart illustrating an example of the operation of the user terminal 20.
  • step S12 the user terminal 20 acquires JavaScript (registered trademark) for acquiring a data string.
  • the user terminal 20 acquires the script according to the ⁇ script> tag described in the received web page.
  • the script is a relatively simple program executed on the browser 21.
  • the user terminal 20 executes subsequent steps (for example, at least a part of steps S13 to S17) by executing the script.
  • the script is not limited to JavaScript (registered trademark), and another script language may be used.
  • step S13 the user terminal 20 checks whether or not a data string corresponding to the website is stored in the cache 22. If the data string already exists in the cache 22 (YES in step S13), the user terminal 20 does not request the first server 10 for the data string because there is no need to newly acquire the data string. On the other hand, if the data string does not exist in cache 22 (NO in step S13), the process proceeds to step S14.
  • step S14 the user terminal 20 acquires a data sequence corresponding to the website from the first server 10.
  • the user terminal 20 obtains the data sequence by receiving the image file in which the data sequence is embedded from the first server 10.
  • the user terminal 20 stores the data string in the cache 22.
  • the user terminal 20 may store the image file in the cache 22. Since an image file includes a data string, storing an image file is an example of storing a data string.
  • the user terminal 20 may extract a data string from the image file and store the data string in the cache 22.
  • the user terminal 20 can transmit the data string to the server side (network side).
  • the server that receives the request obtains the data string, and can execute a process based on the current state of the browser 21, thereby realizing a stateful process.
  • step S16 the user terminal 20 reads a data string from the cache 22, and transmits the data string to a predetermined server.
  • the transmission destination of the data string is not limited, and may be, for example, any one of the redirect server, the beacon server, and the web server 30.
  • step S17 the user terminal 20 displays the received web page on the monitor.
  • Steps S11 to S17 are processing for displaying a web page on the browser 21 of the user terminal 20.
  • a client program is prepared to execute this processing.
  • the user terminal 20 can execute the processing of steps S11 to S17.
  • the client program may be provided after being fixedly recorded on a tangible recording medium, or may be provided via a communication network.
  • Client programs can be provided separately from other programs.
  • step S21 the user terminal 20 executes a process related to the web page selected by the user.
  • the “process related to the web page” is a process for displaying the web page on the browser 21 of the user terminal 20, and includes at least a part of the above-described steps S11 to S17.
  • step S23 the image generation unit 12 generates a data string for specifying the browser 21.
  • “Specifying a browser” refers to recognizing one browser on one website while distinguishing it from other browsers. It should be noted that the data string is an identifier for specifying the browser 21, not an identifier for specifying the user terminal 20.
  • the data string is data represented by one character string composed of a plurality of characters that can be processed by a computer.
  • the image generation unit 12 generates the data sequence so that the data sequence includes a sufficient amount of information for specifying the browser 21 on the website.
  • the information amount can be represented by 2 n (that is, n bits), and the larger the index n, the larger the information amount of the data string.
  • the image generation unit 12 may generate the data string by using an arbitrary method.
  • the data column may be a value that may be reused for another browser or the same browser in the future, or a unique value that is generated only once (ie, for another browser or the same browser in the future) A disposable value that is not likely to be used again.)
  • the configuration of the data string is not limited.
  • the image generation unit 12 may generate a data string including at least one of a system time (for example, the current date and time) and an IP address.
  • the data string uses a combination of the IP address of the first server 10, a thread ID indicating a thread executed on the first server 10 for the user terminal 20, and the system time. May be generated.
  • the data sequence may be generated using a combination of the IP address and port number of the user terminal 20, the IP address and port number of the first server 10, and the system time.
  • the image generation unit 12 may generate a data sequence using a random number, automatic increment, or a sequence.
  • the image generation unit 12 generates an image file including a plurality of pixels indicating the data string. Specifically, the image generation unit 12 generates an image file by converting a data string into a plurality of pixel values of a plurality of pixels.
  • the color mode (method for setting colors), the number of pixels, and the generation method of the image file are not limited, and the image generation unit 12 may generate the image file using an arbitrary method.
  • the image file may be represented in RGB colors.
  • the image generation unit 12 converts the data string into a plurality of pixel values (RGB values) of the plurality of pixels, thereby converting the data string.
  • the image file is represented by a plurality of pixels, and an image file including the plurality of pixels is generated.
  • Each pixel may be defined by an additional value in addition to the RGB value.
  • an individual pixel may be further defined by using an alpha value indicating transmittance, which is used in alpha blending (Alpha Blending). Since the information amount of each color of RGB is 8 bits, the information amount of one pixel is 2 (8 ⁇ 3) (that is, 24 bits). If the data sequence is converted into RGB values of k pixels, the image generation unit 12 can embed 2 (8 ⁇ 3 ⁇ k) information amounts in k pixels.
  • the image file may be represented in grayscale.
  • the image generation unit 12 converts the data string into a plurality of pixel values (gray scale values) of the plurality of pixels, thereby expressing the data string with a plurality of pixels. Then, an image file including the plurality of pixels is generated. Since the information amount of the gray scale is 8 bits, the information amount of one pixel is 2 8 (that is, 8 bits). If the data sequence is converted into gray scale values of k pixels, the image generation unit 12 can embed 2 (8 ⁇ k) information amounts in k pixels.
  • the image generation unit 12 may generate an image file including a plurality of pixels in which a data sequence is embedded. Alternatively, the image generation unit 12 may generate an image file including a plurality of pixels in which the data string is embedded and one or more pixels in which the data string is not embedded. That is, the image generation unit 12 may generate an image file including other information in addition to the data string.
  • the shape of the generated image file is not limited.
  • the shape of the image file may be square, rectangular, linear, substantially circular, or other polygonal, or more complex shapes.
  • the image generation unit 12 may generate a 2 (pixel) ⁇ 2 (pixel) image file (the amount of information is 96 bits) or 3 (pixel) ⁇
  • An image file of 3 (pixels) (the amount of information is 216 bits) may be generated.
  • step S25 the transmitting unit 13 transmits the image file to the user terminal 20.
  • This image file can be said to be a response to the image request.
  • the user terminal 20 receives the image file. This receiving process can be said to be a part of step S14.
  • the browser management system 2 provides a mechanism for storing the data sequence generated in the first embodiment on the server side.
  • This mechanism is an example of a configuration for realizing stateful processing on a computer system using a stateless protocol.
  • FIG. 5 is a diagram showing an example of a functional configuration of the browser management system 2.
  • the browser management system 2 includes the same first server 10 as that shown in the first embodiment, and a second server 40 that stores a data string on the server side (network side).
  • the second server 40 is a computer that executes a process for specifying the browser 21 of the user terminal 20.
  • Each of the first server 10 and the second server 40 can be connected to one or more user terminals 20 via a communication network.
  • the second server 40 includes a receiving unit 41 and a storage unit 42 as functional elements.
  • the receiving unit 41 is a functional element that receives a data string from the user terminal 20.
  • the storage unit 42 is a functional element that stores the data string in the database 50.
  • the second server 40 also includes one or a plurality of computers 100. When a plurality of computers are used, these computers are connected via a communication network such as the Internet or an intranet, so that one second server 40 is logically constructed.
  • the computer 100 stores a second program for causing at least one computer to function as the second server 40.
  • the second program includes a code for implementing each functional element of the second server 40.
  • Each functional element of the second server 40 is realized by reading the second program on the processor 101 or the main storage unit 102 and executing the program.
  • the database 50 is a device that stores data strings.
  • the mounting method of the database 50 is not limited, and may be, for example, a relational database.
  • the location where the database 50 is provided is not limited.
  • the database 50 may be a component of the browser management system 2 or may be provided in a computer system different from the browser management system 2.
  • the database 50 may function as a key-value store (Key-Value @ Store: KVS) for storing and acquiring a value (value) using a key (key).
  • KVS key-value store
  • the second server 40 is a computer different from the first server 10 and the web server 30, but the configuration of the server is not limited to this.
  • one server may have the function of at least two of the first server 10, the second server 40, and the web server 30.
  • step S27 after step S26, the user terminal 20 acquires a data string from the cache 22.
  • This processing may be executed by JavaScript (registered trademark) of the received web page, or may be executed in response to another system event.
  • the method of acquiring the data string is not limited.
  • the user terminal 20 may read the image file from the cache 22. Since a data string is embedded in this image file, reading the image file from the cache 22 is an example of a process for acquiring the data string from the cache 22.
  • the user terminal 20 may acquire the data sequence by reading the image file from the cache 22 and extracting the data sequence from the image file.
  • the user terminal 20 can obtain the data string by reading the data string from the cache 22.
  • step S28 the user terminal 20 transmits the data sequence to the second server 40.
  • the transmission method of the data string is not limited.
  • the user terminal 20 may transmit the image file read from the cache 22 to the second server 40. Since a data sequence is embedded in the image file, transmitting the image file is an example of a process of transmitting the data sequence.
  • the user terminal 20 may transmit the read or extracted data sequence to the second server 40.
  • the user terminal 20 may transmit to the second server 40 a URL in which a data string is set in the URL parameter.
  • the receiving unit 41 receives the data sequence (may be an image file).
  • the storage unit 42 stores the data string in the database 50.
  • the storage unit 42 may extract a data string from the image file and store the data string in the database 50.
  • the storage unit 42 may store the image file in the database 50. Since a data string is embedded in the image file, storing the image file is an example of processing for storing the data string.
  • the storage unit 42 may store the data string in the database 50. By storing the data string in the database 50, the data string can be referred to later on the server side (network side). Therefore, it is possible to execute stateful processing.
  • the storage unit 42 may generate a record by associating a data string with another arbitrary data item, and store the record in the database 50.
  • FIG. 7 is a diagram showing an example of a functional configuration of the browser management system 3.
  • the browser management system 3 includes the same first server 10 and second server 40 as those described in the second embodiment, and a third server 60 that refers to a data string stored in the database 50.
  • the third server 60 is a computer that executes a process for specifying the browser 21 of the user terminal 20.
  • Each of the first server 10, the second server 40, and the third server 60 can be connected to one or more user terminals 20 via a communication network.
  • the third program may be provided after being fixedly recorded on a tangible recording medium, or may be provided via a communication network.
  • the third program may be provided together with the first program and the second program, or may be provided separately from at least one of the first program and the second program.
  • the third server 60 is a computer different from any of the first server 10, the second server 40, and the web server 30, but the configuration of the server is not limited to this.
  • one server may have the functions of at least two of the first server 10, the second server 40, the third server 60, and the web server 30.
  • step S31 the receiving unit 61 of the third server 60 acquires the processing target data from the user terminal 20.
  • the processing target data may include a data string, but the specific contents and configuration of the processing target data are not limited.
  • the determination unit 62 specifies the browser 21 by comparing the processing target data with a data string in the database 50.
  • the determination unit 62 determines whether or not the processing target data includes a data string by comparing at least a part of the processing target data with one or more data strings in the database 50.
  • the determination unit 62 extracts a data string from the image file and performs comparison.
  • the determination unit 62 determines that the processing target data has been sent from the browser 21 corresponding to the data string. As a result, the determination unit 62 can specify the browser 21 that has transmitted the processing target data. If the processing target data does not include any of the data strings in the database 50, the determination unit 62 determines that the transmission source of the processing target data is unknown.
  • the processing after the browser 21 is specified by the determination unit 62 is not limited.
  • the third server 60 can execute arbitrary processing after specifying the browser 21.
  • another server such as the web server 30 may execute an arbitrary process.
  • the third server 60 or another server may execute an arbitrary process for providing a stateful service.
  • the fourth embodiment is an example in which the browser management system according to the present disclosure is applied to affiliate tracking in a voluntary chain (VC).
  • VC voluntary chain
  • FIG. 9 is a diagram illustrating an example of application of the browser management system 4.
  • FIG. 10 is a diagram illustrating an example of a functional configuration of the browser management system 4.
  • the server side includes a media server 110, a VC web server 120, a VC image server 130, a VC redirector 140, and an advertiser server 150.
  • the user terminal 20 can be connected to each of these servers via a communication network (for example, the Internet).
  • the media server 110 is a computer that provides an advertisement medium to the user terminal 20.
  • the media server 110 transmits a web page (advertisement medium) including an affiliate advertisement to the user terminal 20 in response to a request from the user terminal 20.
  • affiliate advertisements are advertisements that are posted on advertising media installed on the Internet, and when a viewer (user) of the advertising media purchases a product in response to the advertisement, a success fee is mainly paid to the media. It is an advertisement in a form to be given.
  • the advertisement medium is an intermediary for transmitting the affiliate advertisement to the viewer, and more specifically, is a web page on which arbitrary information is posted.
  • the method of expressing the affiliate advertisement on the advertisement medium is not limited, and may be, for example, a banner advertisement.
  • the VC web server 120 is a web server of a voluntary chain, and is a computer that provides a script for acquiring a data string.
  • the script may be, for example, JavaScript (registered trademark).
  • the $ VC image server 130 is a computer that transmits an image file in which a data sequence is embedded to the user terminal 20.
  • the VC image server 130 can be said to be an example of the first server 10 in the first, second, and third embodiments.
  • the VC image server 130 includes a receiving unit 131, an image generating unit 132, and a transmitting unit 133 as functional elements.
  • the receiving unit 131 is a functional element that receives a request for an image file from the user terminal 20 that executes a process for displaying a web page.
  • the image generation unit 132 is a functional element that generates an image file in response to the request.
  • the transmission unit 133 is a functional element that transmits the image file to the user terminal 20 in order to store the data string in the cache 22.
  • the receiving unit 131, the image generating unit 132, and the transmitting unit 133 execute the same functions as those of the receiving unit 11, the image generating unit 12, and the transmitting unit 13, respectively.
  • the VC redirector 140 is a computer that stores a data string on the server side (network side).
  • the VC redirector 140 can be said to be an example of the second server 40 in the second and third embodiments.
  • the VC redirector 140 includes a receiving unit 141 and a storage unit 142 as functional elements.
  • the receiving unit 141 is a functional element that receives a data string from the user terminal 20.
  • the storage unit 142 is a functional element that stores the data string in the database 50.
  • the receiving unit 141 and the storing unit 142 perform the same functions as the receiving unit 41 and the storing unit 42 in the second and third embodiments, respectively.
  • both the VC image server 130 and the VC redirector 140 are computers that execute processing for specifying the browser 21 of the user terminal 20.
  • the advertiser server 150 is a computer that provides a user with a virtual store operated by an affiliate advertisement advertiser. A user who accesses the virtual store by clicking the affiliate advertisement can purchase a product at the virtual store.
  • Commodity is any tangible or intangible thing that is traded for a fee or free of charge, and thus is a concept that includes the provision of services.
  • the type of product is not limited at all.
  • FIG. 11 is a sequence diagram illustrating an example of the operation of the browser management system 4.
  • step S42 the media server 110 transmits the HTML data specified in the request to the user terminal 20.
  • This HTML data includes a ⁇ script> tag.
  • step S43 the user terminal 20 transmits an HTTP request (GET method) for acquiring the JavaScript (registered trademark) indicated by the ⁇ script> tag to the VC web server 120.
  • HTTP request for acquiring the JavaScript (registered trademark) indicated by the ⁇ script> tag
  • step S44 the VC web server 120 transmits JavaScript (registered trademark) to the user terminal 20 in response to the request.
  • JavaScript registered trademark
  • step S45 the user terminal 20 executes the script and sends an image request using the GET method to the VC image server 130.
  • the receiving unit 131 receives the image request. Step S45 corresponds to step S22 described above.
  • step S46 the image generation unit 132 of the VC image server 130 generates a data sequence for specifying the browser 21 of the user terminal 20. Step S46 corresponds to step S23.
  • step S47 the image generation unit 132 generates an image file including a plurality of pixels indicating the data string. Step S47 corresponds to step S24.
  • step S48 the transmission unit 133 of the VC image server 130 transmits the image file to the user terminal 20.
  • Step S48 corresponds to step S25.
  • the user terminal 20 receives the image file and stores the data string in the cache 22. This storing process corresponds to step S26. Therefore, the user terminal 20 may store the image file, or may store a data string extracted from the image file.
  • step S49 the user terminal 20 transmits an HTTP request including the data string to the VC redirector 140 using the GET method.
  • Step S49 corresponds to step S28. Therefore, the user terminal 20 may transmit the image file, or may transmit a data string extracted from the image file.
  • the receiving unit 141 receives the data string.
  • step S50 the storage unit 142 of the VC redirector 140 stores the data string in the database 50.
  • Step S50 corresponds to step S29. Therefore, the storage unit 142 may store an image file, or may store a received data string or a data string extracted from the image file.
  • the storage unit 142 may generate a record by associating a data string with another data item, and store the record in the database 50.
  • the storage unit 142 may include at least one of a user ID, a medium owner ID, an advertiser ID, and a tracking key in a record.
  • the user ID is an identifier for uniquely identifying a user.
  • the media owner ID is an identifier for uniquely identifying the media owner who is a publisher of the advertising media.
  • the advertiser ID is an identifier for uniquely specifying the advertiser of the affiliate advertisement.
  • a tracking key is an identifier used to track user operations within a particular website.
  • step S52 the user terminal 20 reads the data string from the cache 22 in response to the "302 $ Found", and transmits a request (GET method) including the data string to the advertiser server 150.
  • step S53 the advertiser server 150 transmits the specified HTML data to the user terminal 20 in response to the request.
  • the advertiser server 150 can execute stateful processing based on the fact that the data string received in step S52 is already stored in the database 50.
  • the fifth embodiment is an example in which the browser management system according to the present disclosure is applied to analytics.
  • the analytic is a method of analyzing a site from which a user has accessed, or a method of analyzing a route that the user follows in a website.
  • FIG. 12 is a diagram illustrating an example of application of the browser management system 5.
  • FIG. 13 is a diagram illustrating an example of a functional configuration of the browser management system 5.
  • the server side includes a media server 110, a VC web server 120, a VC image server 130, and a VC beacon server 160.
  • the user terminal 20 can be connected to each of these servers via a communication network (for example, the Internet).
  • the configurations of the media server 110, the VC web server 120, and the VC image server 130 are the same as those of the fourth embodiment.
  • the VC beacon server 160 is a computer that stores a data string on the server side (network side). It can be said that the VC beacon server 160 is an example of the second server 40 in the second and third embodiments.
  • the VC beacon server 160 includes a receiving unit 161 and a storage unit 162 as functional elements.
  • the receiving unit 161 is a functional element that receives a data string from the user terminal 20.
  • the storage unit 162 is a functional element that stores the data string in the database 50.
  • the receiving unit 161 and the storing unit 162 perform the same functions as those of the receiving unit 41 and the storing unit 42, respectively.
  • both the VC image server 130 and the VC beacon server 160 are computers that execute processing for specifying the browser 21 of the user terminal 20.
  • FIG. 14 is a sequence diagram illustrating an example of the operation of the browser management system 5.
  • the processing of steps S61 to S68 is the same as the processing of steps S41 to S48 in the fifth embodiment.
  • the user terminal 20 receives the image file sent from the VC image server 130 in step S68 and stores the data string in the cache 22.
  • the user terminal 20 may store an image file or a data string extracted from the image file.
  • step S69 the user terminal 20 transmits an HTTP request including the data string to the VC beacon server 160 using the GET method.
  • Step S69 corresponds to step S28 in the second embodiment. Therefore, the user terminal 20 may transmit the image file, or may transmit a data string extracted from the image file.
  • the receiving unit 161 receives the data string.
  • step S70 the storage unit 162 of the VC beacon server 160 stores the data string in the database 50.
  • Step S70 corresponds to step S29. Therefore, the storage unit 162 may store an image file, or may store a received data sequence or a data sequence extracted from the image file. As in the fourth embodiment, the storage unit 162 may generate a record by associating a data string with another data item, and store the record in the database 50.
  • the storage unit 162 may include at least one of a user ID, a media owner ID, an advertiser ID, and a tracking key in a record.
  • step S71 the VC beacon server 160 transmits a transparent image used for analytics to the user terminal 20.
  • the user terminal 20 receives the transmitted image.
  • this transparent image is an image different from the image file in which the data sequence for specifying the browser 21 is embedded.
  • the sixth embodiment is an example in which the browser management system according to the present disclosure is applied to targeting.
  • Targeting is a method of tracking which websites a user has accessed on the Internet.
  • FIG. 15 is a diagram illustrating an example of application of the browser management system 6.
  • FIG. 16 is a diagram illustrating an example of a functional configuration of the browser management system 6.
  • the server side includes a media server 110, a VC web server 120, a VC image server 130, a VC beacon server 160, and an advertisement server 170.
  • the user terminal 20 can be connected to each of these servers via a communication network (for example, the Internet).
  • the configurations of the media server 110, the VC web server 120, the VC image server 130, and the VC beacon server 160 are the same as in the fifth embodiment.
  • the advertisement server 170 is a computer that provides an affiliate advertisement to be put on an advertisement medium to a user.
  • the advertisement server 170 may execute a process of comparing the processing target data transmitted from the browser 21 with a data string in the database 50 to specify the browser 21. Therefore, it can be said that the advertisement server 170 is an example of the third server 60 in the third embodiment.
  • the advertisement server 170 includes a receiving unit 171 and a determining unit 172 as functional elements.
  • the receiving unit 171 is a functional element that receives processing target data from the user terminal 20.
  • the determination unit 172 is a functional element that specifies the browser 21 by comparing the processing target data with a data string in the database 50.
  • the receiving unit 171 and the determining unit 172 perform the same functions as those of the receiving unit 61 and the determining unit 62, respectively.
  • FIG. 17 is a sequence diagram illustrating an example of the operation of the browser management system 6.
  • steps S81 to S91 is the same as the processing of steps S61 to S71 in the fifth embodiment.
  • step S92 the user terminal 20 transmits an HTTP request (GET method) for acquiring an affiliate advertisement to the advertisement server 170.
  • This request includes the data string read from the cache 22.
  • the receiving unit 171 receives the request. This reception corresponds to step S31, and therefore, the HTTP request corresponds to data to be processed.
  • step S93 the determination unit 172 of the advertisement server 170 refers to the database 50 based on the request, and determines whether the same data string included in the request is stored in the database 50. .
  • the determination unit 172 can specify the browser 21 based on the determination result.
  • Step S93 corresponds to step S32.
  • the advertisement server 170 can execute further processing required for targeting (this processing can be said to be stateful processing) based on the determination result.
  • step S94 the advertisement server 170 transmits the data of the specified affiliate advertisement (advertisement data) to the user terminal 20 in response to the request.
  • the user terminal 20 receives the advertisement data and displays an advertisement medium including an affiliate advertisement on a monitor.
  • the user terminal 20 transmits an HTTP request using a GET method.
  • the use of the GET method is not essential, and the user terminal 20 may use another HTTP request method (for example, a POST method).
  • the browser management system includes at least one processor, and at least one processor responds to a process for displaying a web page on a browser of a user terminal, A data sequence for specifying the browser is generated, an image file including a plurality of pixels indicating the data sequence is generated, and the image file is transmitted to the user terminal to store the data sequence in a cache of the user terminal.
  • a browser management method is a browser management method executed by at least one processor, which identifies a browser in response to a process for displaying a web page on a browser of a user terminal. Generating an image file including a plurality of pixels indicating the data sequence, and transmitting the image file to the user terminal to store the data sequence in a cache of the user terminal. including.
  • a browser management program includes, in response to a process for displaying a web page on a browser of a user terminal, generating a data sequence for identifying the browser, Generating an image file including a plurality of pixels, and transmitting the image file to the user terminal for storing the data sequence in a cache of the user terminal, the computer system.
  • an image file indicating a data string for specifying the browser is stored in the cache of the user terminal. Therefore, by using the image file, the browser can be specified without using the HTTP cookie.
  • the data string is stored in a cache independent of a specific service, and the data string is used as needed. Can be read from the cache. Therefore, this new technology replacing HTTP cookies can be applied to various online services. That is, this new technique of embedding a data string in an image file is highly versatile.
  • At least one processor may generate an image file by converting a data string into a plurality of pixel values corresponding to a plurality of pixels. By converting the data sequence into pixel values, the data sequence can be efficiently embedded in the image file.
  • a plurality of pixels may be represented by RGB or gray scale.
  • the data string By converting the data string into RGB or grayscale pixel values, the data string can be efficiently embedded in the image file.
  • a web page includes a script for acquiring an image file, and at least one processor generates a data string in response to execution of the script on the user terminal.
  • An image file may be generated, and the image file may be transmitted.
  • the data string may be obtained by receiving a character string including the data string from the user terminal. In this case, there is no need to extract a data string from the image file on the server side, so that the processing load on the server side can be reduced.
  • a client program causes a computer to execute a step of receiving an image file from the browser management system and a step of storing a data string in a cache.
  • a data string for specifying the browser is stored in the cache of the user terminal. Therefore, by using the data string, the browser can be specified without using the HTTP cookie.
  • the configuration of the browser management system is not limited to the above embodiments, and the browser management system may be configured using one or more arbitrary servers.
  • the browser management system includes at least one processor.
  • the processor that executes the first process may be the same as or different from the processor that executes the second process.
  • “At least one processor performs the first processing and the second processing” means that there is no limitation on which processor performs which processing.
  • the database 50 stores the data strings, but the storage device is not limited to the database 50.
  • the browser management system may store the data string in a storage device other than the database (for example, any type of memory).
  • 1 to 6 Browser management system, 10: First server, 11: Receiver, 12: Image generator, 13: Transmitter, 20: User terminal, 21: Browser, 22: Cache, 30: Web server, 40 ... Second server, 41 receiving unit, 42 storage unit, 50 database (storage device), 60 third server, 61 receiving unit, 62 determining unit, 110 media server, 120 VC web server, 130 .. VC image server, 131 receiving unit, 132 image generating unit, 133 transmitting unit, 140 VC redirector, 141 receiving unit, 142 storage unit, 150 advertiser server, 160 VC beacon server, 161. Receiving unit, 162 storage unit, 170 advertising server, 171 receiving unit, 172 determining unit.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

一実施形態に係るブラウザ管理システムは、少なくとも一つのプロセッサを備える。少なくとも一つのプロセッサは、(A)ユーザ端末のブラウザ上にウェブページを表示するための処理に応答して、該ブラウザを特定するためのデータ列を生成し、(B)データ列を示す複数の画素を含む画像ファイルを生成し、(C)データ列をユーザ端末のキャッシュに格納するために画像ファイルをユーザ端末に送信する。

Description

ブラウザ管理システム、ブラウザ管理方法、ブラウザ管理プログラム、およびクライアントプログラム
 本発明の一側面はブラウザ管理システム、ブラウザ管理方法、ブラウザ管理プログラム、およびクライアントプログラムに関する。
 ユーザ端末のブラウザを管理するための仕組みが知られている。例えば、特許文献1には、トラッキングサーバーサイトを用いてユーザのアクティビティをトラッキングする方法が記載されている。この方法の第1プロセスでは、ユーザ端末においてバナー広告がクリックされた際に、トラッキングサーバーサイトがクリック情報に基づくクッキー用データを作成してユーザ端末に送信する。第2プロセスでは、広告主サイトが、ユーザ端末からクッキー用データを受信し、クッキー用データに基づいてクッキーをユーザ端末に書き込む。第3プロセスでは、商取引が完了した際に、広告主サイトがユーザ端末からクッキーを取得し、そのクッキーの記録情報を含むトラッキング電文を作成してトラッキングサーバーサイトに送信する。
特許第4647717号公報
 特許文献1に記載の技術はHTTPクッキー(HTTP cookie)の利用を前提とする。しかし、HTTPクッキーを利用できない環境も存在するので、HTTPクッキー以外の手法でブラウザを特定することが望まれている。
 本発明の一側面に係るブラウザ管理システムは、少なくとも一つのプロセッサを備え、少なくとも一つのプロセッサが、ユーザ端末のブラウザ上にウェブページを表示するための処理に応答して、該ブラウザを特定するためのデータ列を生成し、データ列を示す複数の画素を含む画像ファイルを生成し、データ列をユーザ端末のキャッシュに格納するために画像ファイルをユーザ端末に送信する。
 本発明の一側面に係るブラウザ管理方法は、少なくとも一つのプロセッサにより実行されるブラウザ管理方法であって、ユーザ端末のブラウザ上にウェブページを表示するための処理に応答して、該ブラウザを特定するためのデータ列を生成するステップと、データ列を示す複数の画素を含む画像ファイルを生成するステップと、データ列をユーザ端末のキャッシュに格納するために画像ファイルをユーザ端末に送信するステップとを含む。
 本発明の一側面に係るブラウザ管理プログラムは、ユーザ端末のブラウザ上にウェブページを表示するための処理に応答して、該ブラウザを特定するためのデータ列を生成するステップと、データ列を示す複数の画素を含む画像ファイルを生成するステップと、データ列をユーザ端末のキャッシュに格納するために画像ファイルをユーザ端末に送信するステップとをコンピュータシステムに実行させる。
 このような側面においては、ブラウザを特定するためのデータ列を示す画像ファイルがユーザ端末のキャッシュに格納される。したがって、その画像ファイルを用いることで、HTTPクッキーを用いることなくブラウザを特定することができる。
 本発明の一側面によれば、HTTPクッキー以外の手法でブラウザを特定することができる。
第1実施形態に係るブラウザ管理システムの機能構成の一例を示す図である。 実施形態に係るブラウザ管理システムで用いられるコンピュータの一般的なハードウェア構成を示す図である。 ユーザ端末の動作の一例を示すフローチャートである。 第1実施形態に係るブラウザ管理システムの動作の一例を示すシーケンス図である。 第2実施形態に係るブラウザ管理システムの機能構成の一例を示す図である。 第2実施形態に係るブラウザ管理システムの動作の一例を示すシーケンス図である。 第3実施形態に係るブラウザ管理システムの機能構成の一例を示す図である。 第3実施形態に係るブラウザ管理システムの動作の一例を示すフローチャートである。 第4実施形態に係るブラウザ管理システムの適用の一例を示す図である。 第4実施形態に係るブラウザ管理システムの機能構成の一例を示す図である。 第4実施形態に係るブラウザ管理システムの動作の一例を示すシーケンス図である。 第5実施形態に係るブラウザ管理システムの適用の一例を示す図である。 第5実施形態に係るブラウザ管理システムの機能構成の一例を示す図である。 第5実施形態に係るブラウザ管理システムの動作の一例を示すシーケンス図である。 第6実施形態に係るブラウザ管理システムの適用の一例を示す図である。 第6実施形態に係るブラウザ管理システムの機能構成の一例を示す図である。 第6実施形態に係るブラウザ管理システムの動作の一例を示すシーケンス図である。
 以下、添付図面を参照しながら本発明の実施形態を詳細に説明する。なお、図面の説明において同一または同等の要素には同一の符号を付し、重複する説明を省略する。
 [システムの概要]
 いくつかの実施形態において、ブラウザ管理システムは、ユーザ端末のブラウザを特定するための仕組みを提供するコンピュータシステムである。このブラウザ管理システムにより、ステートレス(stateless)なプロトコルを用いるコンピュータシステム上でステートフル(stateful)な処理を実現することが可能になる。
 ステートレスとは、現在の状態を示すデータをシステムが保持しない方式のことをいう。ステートレスなプロトコルの例としてHTTP(Hypertext Transfer Protocol)が挙げられるが、これに限定されない。一方、ステートフルとは、現在の状態を表すデータをシステムが保持し、その状態が処理に反映される方式のことをいう。
 ステートフルな処理により様々なサービスを実現することができる。そのサービスの例として、電子商取引(EC)、コンバージョン・トラッキング(conversion tracking)、アフィリエイト・トラッキング(affiliate tracking)、アナリティクス(analytics)、ターゲティング(targeting)、および不正アクセス対策が挙げられる。しかし、ステートフルな処理を伴うサービスの種類はこれらに限定されるものではない。ブラウザ管理システムは任意のサービスのために構築することができる。
 ステートフルな処理を実現するために、ブラウザ管理システムは、従来から知られているHTTPクッキーを用いるのではなく、その従来技術とは異なる新たな手法を用いる。具体的には、ブラウザ管理システムは、ブラウザを特定するためのデータ列(以下では単に「データ列」ともいう。)が埋め込まれた画像ファイル(以下では単に「画像ファイル」ともいう。)をユーザ端末に送信することで、そのデータ列をユーザ端末内に記憶させる。このデータ列が、ステートフルな処理を実現するために用いられる。以下では、いくつかの実施形態を例として示しながら、本開示におけるブラウザ管理システムについて詳細に説明する。
 [第1実施形態]
 図1は、第1実施形態に係るブラウザ管理システム1の機能構成の一例を示す図である。本実施形態では、ブラウザ管理システム1は第1サーバ10を備える。第1サーバ10は1以上のユーザ端末20と通信ネットワークを介して接続することができる。本実施形態では、ユーザ端末20はウェブサーバ30と通信ネットワークを介して接続することもできる。コンピュータ同士をつなぐ通信ネットワークの構成は何ら限定されない。例えば、通信ネットワークはインターネットおよびイントラネットの少なくとも一つを用いて構築されてもよい。
 ユーザ端末20は、任意のオンラインサービスを受ける人であるユーザが操作するコンピュータである。ユーザ端末20はブラウザ21およびキャッシュ22を備える。ブラウザ21は、ウェブページをモニタ上に表示するためのソフトウェアである。ユーザ端末20は複数種類のブラウザ21を備えてもよい。キャッシュ22は、データを一時的にコンピュータに保存する機能である。キャッシュ22の実現方法は限定されず、例えば、キャッシュメモリ、ディスクキャッシュ、またはキャッシュファイルを用いてキャッシュ22が実現されてもよい。ユーザ端末として用いられるコンピュータの種類は限定されない。例えば、ユーザ端末は携帯型または据置型のパーソナルコンピュータであってもよい。あるいは、ユーザ端末は、高機能携帯電話機(スマートフォン)、携帯電話機、携帯情報端末(PDA)、タブレットなどの携帯端末でもよい。
 ウェブサーバ30は、ステートフルなサービスを提供可能なウェブサイト(以下では単に「ウェブサイト」という。)をユーザ端末20に提供するコンピュータである。ウェブサイトとは、特定のドメイン名の下に置かれた1以上のウェブページの集合である。ウェブページとは、ブラウザで閲覧可能な1ページ分の文書である。ウェブサイトの例としてECサイト、ニュースサイト、ポータルサイト、ブログサイト、およびソーシャル・ネットワーキング・サービス(SNS)サイトが挙げられる。しかし、ウェブサイトの例はこれらに限定されない。ウェブサイトが何ら限定されないことに対応して、個々のウェブページの内容(例えば、掲載される情報、または実行可能な機能)も何ら限定されない。
 第1サーバ10は、ユーザ端末20のブラウザ21を特定するための処理を実行するコンピュータである。より具体的には、第1サーバ10は、データ列が埋め込まれた画像ファイルをユーザ端末20に送信する。第1サーバ10は機能要素として受信部11、画像生成部12、および送信部13を備える。受信部11は、ウェブページを処理するユーザ端末20から画像ファイルの要求を受信する機能要素である。画像生成部12は、その要求に応答して、データ列が埋め込まれた画像ファイルを生成する機能要素である。送信部13は、データ列をキャッシュ22に格納するためにその画像ファイルをユーザ端末20に送信する機能要素である。
 第1サーバ10は一または複数のコンピュータで構成される。複数のコンピュータを用いる場合には、これらのコンピュータがインターネットやイントラネットなどの通信ネットワークを介して接続されることで、論理的に一つの第1サーバ10が構築される。
 図2は第1サーバ10を構成するコンピュータ100の一般的なハードウェア構成を示す。例えば、コンピュータ100はプロセッサ101、主記憶部102、補助記憶部103、通信制御部104、入力装置105、および出力装置106を備える。プロセッサ101はオペレーティングシステムおよびアプリケーションプログラムを実行する。主記憶部102は例えばROMおよびRAMで構成される。補助記憶部103は例えばハードディスクまたはフラッシュメモリで構成され、一般に主記憶部102よりも大量のデータを記憶する。補助記憶部103は、少なくとも1台のコンピュータを第1サーバ10として機能させるための第1プログラムを記憶する。通信制御部104は例えばネットワークカードまたは無線通信モジュールで構成される。入力装置105は例えばキーボード、マウス、タッチパネルなどで構成される。出力装置106は例えばモニタおよびスピーカで構成される。
 第1サーバ10の各機能要素は、プロセッサ101または主記憶部102の上に第1プログラムを読み込ませてそのプログラムを実行させることで実現される。第1プログラムは第1サーバ10の各機能要素を実現するためのコードを含む。プロセッサ101は第1プログラムに従って、通信制御部104、入力装置105、または出力装置106を動作させ、主記憶部102または補助記憶部103におけるデータの読み出しおよび書き込みを行う。この処理により第1サーバ10の各機能要素が実現される。処理に必要なデータまたはデータベースは主記憶部102または補助記憶部103内に格納されてもよい。
 第1プログラムは、例えば、CD-ROM、DVD-ROM、半導体メモリなどの有形の記録媒体に固定的に記録された上で提供されてもよい。あるいは、第1プログラムは、搬送波に重畳されたデータ信号として通信ネットワークを介して提供されてもよい。提供された第1プログラムは補助記憶部103に格納されてもよい。
 本実施形態では第1サーバ10はウェブサーバ30とは別のコンピュータであるが、サーバの構成はこれに限定されない。例えば、一つのサーバが第1サーバ10およびウェブサーバ30の双方の機能を備えてもよい。
 図3を参照しながら、データ列の取得に関するユーザ端末20での処理について説明する。図3はユーザ端末20の動作の一例を示すフローチャートである。
 ステップS11では、ユーザ端末20は、ユーザがウェブサイトのウェブページを選択したことに応答して、そのウェブページをウェブサーバ30から受信する。ウェブページの選択方法は限定されない。例えば、ウェブページは、リンクがクリックされることで選択されてもよいし、URL(Uniform Resource Locator)が直接に入力されることで選択されてもよい。
 ステップS12では、ユーザ端末20はデータ列を取得するためのJavaScript(登録商標)を取得する。例えば、ユーザ端末20は受信したウェブページに記述されている<script>タグに従ってそのスクリプトを取得する。スクリプトはブラウザ21上で実行される比較的簡易なプログラムである。ユーザ端末20はスクリプトを実行することで後続のステップ(例えば、ステップS13~S17の少なくとも一部)を実行する。なお、スクリプトはJavaScript(登録商標)に限定されるものではなく、他のスクリプト言語が用いられてもよい。
 ステップS13では、ユーザ端末20は、ウェブサイトに対応するデータ列がキャッシュ22内に記憶されているか否かを調べる。データ列が既にキャッシュ22内に存在する場合には(ステップS13においてYES)、データ列を新たに取得する必要が無いので、ユーザ端末20はデータ列を第1サーバ10に要求しない。一方、データ列がキャッシュ22内に存在しない場合には(ステップS13においてNO)、処理はステップS14に進む。
 ステップS14では、ユーザ端末20は、ウェブサイトに対応するデータ列を第1サーバ10から取得する。ユーザ端末20は、データ列が埋め込まれた画像ファイルを第1サーバ10から受信することでそのデータ列を取得する。
 ステップS15では、ユーザ端末20はそのデータ列をキャッシュ22に格納する。ユーザ端末20は画像ファイルをキャッシュ22に格納してもよい。画像ファイルはデータ列を含むので、画像ファイルの格納はデータ列の格納の一例である。あるいは、ユーザ端末20は画像ファイルからデータ列を抽出して、そのデータ列をキャッシュ22に格納してもよい。データ列がキャッシュ22に格納されることで、ユーザ端末20はそのデータ列をサーバ側(ネットワーク側)に送信することができる。要求を受信するサーバはそのデータ列を取得することで、ブラウザ21の現在の状態に基づく処理を実行することができ、これによりステートフルな処理が実現可能になる。
 ステップS16では、ユーザ端末20はキャッシュ22からデータ列を読み出してそのデータ列を所定のサーバに送信する。データ列の送信先は限定されず、例えば、リダイレクトサーバ、ビーコンサーバ、およびウェブサーバ30のいずれかであってもよい。
 ステップS17では、ユーザ端末20は受信したウェブページをモニタ上に表示する。
 ステップS11~S17は、ユーザ端末20のブラウザ21上にウェブページを表示するための処理である。この処理を実行するためにクライアントプログラムが用意される。そのクライアントプログラムがユーザ端末20にインストールされることで、ユーザ端末20はステップS11~S17の処理を実行できる。第1プログラムと同様に、クライアントプログラムは有形の記録媒体に固定的に記録された上で提供されてもよいし、通信ネットワークを介して提供されてもよい。クライアントプログラムは他のプログラムとは別に提供可能である。
 図4を参照しながら、画像ファイル(データ列)の提供に関するブラウザ管理システム1の動作を説明するとともに本実施形態に係るブラウザ管理方法について説明する。図4はブラウザ管理システム1の動作の一例を示すシーケンス図である。図4は、表示されようとするウェブサイトに対応するデータ列が未だキャッシュ22に格納されていないことを前提とする。
 ステップS21では、ユーザ端末20が、ユーザにより選択されたウェブページに関連する処理を実行する。「ウェブページに関連する処理」とは、ウェブページをユーザ端末20のブラウザ21上に表示するための処理であり、上記のステップS11~S17の少なくとも一部を含む。
 ステップS22では、ユーザ端末20が画像要求を第1サーバ10に送信する。この処理は、ステップS14の一部であるということができる。画像要求は、画像ファイルを第1サーバ10から取得するためのデータ信号である。第1サーバ10では受信部11がその画像要求を受信する。
 ステップS23では、画像生成部12が、ブラウザ21を特定するためのデータ列を生成する。「ブラウザを特定する」とは、一のウェブサイトにおいて一つのブラウザを他のブラウザと区別して認識することをいう。データ列はブラウザ21を特定する識別子であって、ユーザ端末20を特定する識別子ではないことに留意されたい。データ列とは、コンピュータが処理可能な複数の文字で構成される一つの文字列で表現されるデータである。画像生成部12はウェブサイトにおいてブラウザ21を特定するために十分な情報量をデータ列が含むように該データ列を生成する。その情報量は2(すなわち、nビット)で表すことができ、その指数nを大きくするほどデータ列の情報量を多くすることができる。
 一のウェブサイトにおいてブラウザ21を特定することができる限り、指数nの具体的な値は任意に定められてよい。また、ブラウザ21をそのように特定することができる限り、画像生成部12は任意の手法を用いてデータ列を生成してよい。データ列は、将来、別のブラウザまたは同一ブラウザのために再度用いられる可能性がある値でもよいし、一回だけ生成される唯一の値(すなわち、将来、別のブラウザまたは同一ブラウザのために再度用いられる可能性が無い、使い捨ての値。)でもよい。データ列の構成は限定されない。例えば、画像生成部12はシステム時刻(例えば、現在日時)およびIPアドレスの少なくとも一方を含むデータ列を生成してもよい。より具体的な例として、データ列は、第1サーバ10のIPアドレスと、第1サーバ10でユーザ端末20のために実行されているスレッドを示すスレッドIDと、システム時刻との組合せを用いて生成されてもよい。あるいは、データ列は、ユーザ端末20のIPアドレスおよびポート番号と、第1サーバ10のIPアドレスおよびポート番号と、システム時刻との組合せを用いて生成されてもよい。あるいは、画像生成部12は、乱数、自動インクリメント、またはシーケンスを利用してデータ列を生成してもよい。
 ステップS24では、画像生成部12がそのデータ列を示す複数の画素を含む画像ファイルを生成する。具体的には、画像生成部12はデータ列を複数の画素の複数の画素値に変換することで画像ファイルを生成する。画像ファイルのカラーモード(色を設定する方法)、画素数、および生成方法は限定されず、画像生成部12は任意の手法を用いて画像ファイルを生成してよい。
 一例として、画像ファイルはRGBカラーで表されてもよい。複数の画素がRGB(赤、緑、青)で表される場合には、画像生成部12はデータ列を複数の画素の複数の画素値(RGB値)に変換することで、そのデータ列を複数の画素で表現し、該複数の画素を含む画像ファイルを生成する。なお、個々の画素は、RGB値に加えてさらなる値で定義されてもよく、例えば、アルファ・ブレンディング(Alpha Blending)で用いられる、透過度を示すアルファ値をさらに用いて定義されてもよい。RGBの各色の情報量は8ビットなので、1画素の情報量は2(8×3)(すなわち、24ビット)である。データ列をk個の画素のRGB値に変換するならば、画像生成部12は2(8×3×k)の情報量をk個の画素に埋め込むことができる。
 別の例として、画像ファイルはグレースケールで表されてもよい。複数の画素がグレースケールで表される場合には、画像生成部12はデータ列を複数の画素の複数の画素値(グレースケール値)に変換することで、そのデータ列を複数の画素で表現し、該複数の画素を含む画像ファイルを生成する。グレースケールの情報量は8ビットなので、1画素の情報量は2(すなわち、8ビット)である。データ列をk個の画素のグレースケール値に変換するならば、画像生成部12は2(8×k)の情報量をk個の画素に埋め込むことができる。
 上記の通りデータ列の情報量は限定されないので、そのデータ列が埋め込まれる画素の個数も限定されない。例えば、データ列を4個のRGB画素で表すとすれば、画像生成部12は、情報量が2(8×3×4)=296(すなわち、96ビット)であるデータ列が埋め込まれた画像ファイルを生成することができる。データ列を9個のRGB画素で表すとすれば、画像生成部12は、情報量が2(8×3×9)=2216(すなわち、216ビット)であるデータ列が埋め込まれた画像ファイルを生成することができる。データ列を10個のグレースケール画素で表すとすれば、画像生成部12は、情報量が2(8×10)=280(すなわち、80ビット)であるデータ列が埋め込まれた画像ファイルを生成することができる。データ列を16個のグレースケール画素で表すとすれば、画像生成部12は、情報量が2(8×16)=2128(すなわち、128ビット)であるデータ列が埋め込まれた画像ファイルを生成することができる。画像ファイルのカラーモードの種類にかかわらず、画素の個数kは2以上であればいくつでもよく、データ列の情報量に応じて決めることができる。
 画像生成部12は、データ列が埋め込まれた複数の画素で構成される画像ファイルを生成してもよい。あるいは、画像生成部12は、データ列が埋め込まれた複数の画素と、データ列が埋め込まれていない1以上の画素とで構成される画像ファイルを生成してもよい。すなわち、画像生成部12は、データ列に加えて他の情報も含む画像ファイルを生成してもよい。
 生成される画像ファイルの形状は限定されない。例えば、画像ファイルの形状は正方形、長方形、直線状、ほぼ円形、または他の多角形でもよいし、より複雑な形状でもよい。RGBカラーの画像ファイルである場合には、例えば、画像生成部12は2(画素)×2(画素)の画像ファイル(情報量は96ビット)を生成してもよいし、3(画素)×3(画素)の画像ファイル(情報量は216ビット)を生成してもよい。
 ステップS25では、送信部13が画像ファイルをユーザ端末20に送信する。この画像ファイルは、画像要求に対する応答であるといえる。ユーザ端末20はその画像ファイルを受信する。この受信処理はステップS14の一部であるということができる。
 ステップS26では、ユーザ端末20がデータ列をキャッシュ22に格納する。この処理はステップS15に対応する。ユーザ端末20は受信した画像ファイルをキャッシュ22に格納してもよいし、画像ファイルから抽出したデータ列をキャッシュ22に格納してもよい。画像ファイルにはデータ列が埋め込まれているので、キャッシュ22への画像ファイルの格納は、データ列をキャッシュ22に格納する処理の一例である。ステップS26よりも後にユーザ端末20がブラウザ21を介して同じウェブサイトにアクセスする際には、ユーザ端末20はキャッシュ22内の画像ファイルまたはデータ列を読み出して、その画像ファイルまたはデータ列を所定のサーバに送信することができる。この処理において、ユーザ端末20は読み出した画像ファイルからデータ列を抽出してもよい。サーバはそのデータ列を保存および参照することで、ステートフルな処理を実行することができる。
 [第2実施形態]
 第2実施形態に係るブラウザ管理システム2は、第1実施形態で生成されたデータ列をサーバ側で保存する仕組みを提供する。この仕組みは、ステートレスなプロトコルを用いるコンピュータシステム上でステートフルな処理を実現するための構成の一例である。
 図5はブラウザ管理システム2の機能構成の一例を示す図である。本実施形態では、ブラウザ管理システム2は、第1実施形態で示したものと同じ第1サーバ10と、データ列をサーバ側(ネットワーク側)に保存する第2サーバ40とを備える。第1サーバ10と同様に、第2サーバ40もユーザ端末20のブラウザ21を特定するための処理を実行するコンピュータである。第1サーバ10および第2サーバ40のそれぞれは、1以上のユーザ端末20と通信ネットワークを介して接続することができる。
 第2サーバ40は機能要素として受信部41および格納部42を備える。受信部41は、ユーザ端末20からデータ列を受信する機能要素である。格納部42は、そのデータ列をデータベース50に格納する機能要素である。第2サーバ40も一または複数のコンピュータ100で構成される。複数のコンピュータを用いる場合には、これらのコンピュータがインターネットやイントラネットなどの通信ネットワークを介して接続されることで、論理的に一つの第2サーバ40が構築される。コンピュータ100は、少なくとも1台のコンピュータを第2サーバ40として機能させるための第2プログラムを記憶する。第2プログラムは第2サーバ40の各機能要素を実現するためのコードを含む。第2サーバ40の各機能要素は、プロセッサ101または主記憶部102の上に第2プログラムを読み込ませてそのプログラムを実行させることで実現される。
 第1プログラムと同様に、第2プログラムは有形の記録媒体に固定的に記録された上で提供されてもよいし、通信ネットワークを介して提供されてもよい。第2プログラムは第1プログラムと共に提供されてもよいし、第1プログラムとは別に提供されてもよい。
 データベース50は、データ列を記憶する装置である。データベース50の実装方法は限定されず、例えばリレーショナル・データベースでもよい。データベース50が設けられる場所は限定されず、例えば、データベース50はブラウザ管理システム2の一構成要素でもよいし、ブラウザ管理システム2とは別のコンピュータシステム内に設けられてもよい。データベース50は、キー(key)を用いて値(value)の格納および取得を行うためのキー・バリュー・ストア(Key-Value Store:KVS)として機能してもよい。
 本実施形態では第2サーバ40は第1サーバ10ともウェブサーバ30とも異なるコンピュータであるが、サーバの構成はこれに限定されない。例えば、一つのサーバが、第1サーバ10、第2サーバ40、およびウェブサーバ30のうちの少なくとも二つのサーバの機能を備えてもよい。
 図6を参照しながら、ブラウザ管理システム2の動作を説明するとともに本実施形態に係るブラウザ管理方法について説明する。図6は、ブラウザ管理システム2の動作の一例を示すシーケンス図である。
 図6におけるステップS21~S26の処理は第1実施形態と同じなので(図4を参照)、これらのステップについての説明を省略する。
 ステップS26の後のステップS27では、ユーザ端末20がキャッシュ22からデータ列を取得する。この処理は、受信されたウェブページのJavaScript(登録商標)により実行されてもよいし、他のシステムイベントを契機に実行されてもよい。
 データ列の取得方法は限定されない。キャッシュ22が画像ファイルを記憶している場合には、ユーザ端末20はその画像ファイルをキャッシュ22から読み出してもよい。この画像ファイルにはデータ列が埋め込まれているので、キャッシュ22からの画像ファイルの読み出しは、キャッシュ22からデータ列を取得する処理の一例である。あるいは、ユーザ端末20は、キャッシュ22から画像ファイルを読み出してこの画像ファイルからデータ列を抽出することで、データ列を取得してもよい。キャッシュ22がデータ列を記憶している場合には、ユーザ端末20はそのデータ列をキャッシュ22から読み出すことでデータ列を取得できる。
 ステップS28では、ユーザ端末20がそのデータ列を第2サーバ40に送信する。データ列の送信方法は限定されない。例えば、ユーザ端末20はキャッシュ22から読み出した画像ファイルを第2サーバ40に送信してもよい。画像ファイルにはデータ列が埋め込まれているので、画像ファイルの送信は、データ列を送信する処理の一例である。あるいは、ユーザ端末20は読み出したかまたは抽出したデータ列を第2サーバ40に送信してもよい。例えば、ユーザ端末20は、URLパラメータにデータ列が設定されたURLを第2サーバ40に送信してもよい。第2サーバ40では、受信部41がそのデータ列(画像ファイルの場合もあり得る)を受信する。
 ステップS29では、格納部42がそのデータ列をデータベース50に格納する。受信部41が画像ファイルを受信した場合には、格納部42はその画像ファイルからデータ列を抽出してそのデータ列をデータベース50に格納してもよい。あるいは、格納部42はその画像ファイルをデータベース50に格納してもよい。画像ファイルにはデータ列が埋め込まれているので、画像ファイルの格納は、データ列を格納する処理の一例である。受信部41がデータ列を受信した場合には、格納部42はそのデータ列をデータベース50に格納してもよい。データ列がデータベース50に格納されることで、サーバ側(ネットワーク側)でそのデータ列を後から参照することができる。したがって、ステートフルな処理を実行することが可能になる。格納部42は、データ列と他の任意のデータ項目とを関連付けることでレコードを生成し、そのレコードをデータベース50に格納してもよい。
 [第3実施形態]
 第3実施形態に係るブラウザ管理システム3は、第2実施形態で生成および格納されたデータ列を用いてサーバ側でブラウザを特定する仕組みを提供する。この仕組みは、ステートレスなプロトコルを用いるコンピュータシステム上でステートフルな処理を実現するための構成の一例である。
 図7はブラウザ管理システム3の機能構成の一例を示す図である。本実施形態では、ブラウザ管理システム3は、第2実施形態で示したものと同じ第1サーバ10および第2サーバ40と、データベース50に格納されたデータ列を参照する第3サーバ60とを備える。第1サーバ10および第2サーバ40と同様に、第3サーバ60もユーザ端末20のブラウザ21を特定するための処理を実行するコンピュータである。第1サーバ10、第2サーバ40、および第3サーバ60のそれぞれは、1以上のユーザ端末20と通信ネットワークを介して接続することができる。
 第3サーバ60は機能要素として受信部61および判定部62を備える。受信部61は、処理の対象となるデータ(以下では「処理対象データ」という)をユーザ端末20から受信する機能要素である。判定部62は、その処理対象データをデータベース50内のデータ列と比較することでブラウザ21を特定する機能要素である。第3サーバ60も一または複数のコンピュータ100で構成される。複数のコンピュータを用いる場合には、これらのコンピュータがインターネットやイントラネットなどの通信ネットワークを介して接続されることで、論理的に一つの第3サーバ60が構築される。コンピュータ100は、少なくとも1台のコンピュータを第3サーバ60として機能させるための第3プログラムを記憶する。第3プログラムは第3サーバ60の各機能要素を実現するためのコードを含む。第3サーバ60の各機能要素は、プロセッサ101または主記憶部102の上に第3プログラムを読み込ませてそのプログラムを実行させることで実現される。
 第1プログラムおよび第2プログラムと同様に、第3プログラムは有形の記録媒体に固定的に記録された上で提供されてもよいし、通信ネットワークを介して提供されてもよい。第3プログラムは第1プログラムおよび第2プログラムと共に提供されてもよいし、第1プログラムおよび第2プログラムの少なくとも一方とは別に提供されてもよい。
 本実施形態では第3サーバ60は第1サーバ10、第2サーバ40、およびウェブサーバ30のいずれとも異なるコンピュータであるが、サーバの構成はこれに限定されない。例えば、一つのサーバが、第1サーバ10、第2サーバ40、第3サーバ60、およびウェブサーバ30のうちの少なくとも二つのサーバの機能を備えてもよい。
 図8を参照しながら、ブラウザ管理システム3の動作を説明するとともに本実施形態に係るブラウザ管理方法について説明する。図8は、第3サーバ60の動作の一例を示すフローチャートである。ブラウザ管理システム3はブラウザ管理システム2(第2実施形態)と同じ処理(図6を参照)を実行することができ、その結果、データベース50にデータ列が格納される。図8は、或るウェブサイトにアクセスした或るブラウザ21のデータ列がデータベース50に格納された後にそのブラウザ21から処理対象データを受信した際の処理を示す。
 ステップS31では、第3サーバ60の受信部61がユーザ端末20から処理対象データを取得する。処理対象データはデータ列を含み得るが、処理対象データの具体的な内容および構成は限定されない。
 ステップS32では、判定部62がその処理対象データとデータベース50内のデータ列とを比較することでブラウザ21を特定する。判定部62は、処理対象データの少なくとも一部とデータベース50内の1以上のデータ列とを比較することで、処理対象データがデータ列を含むか否かを判定する。データベース50が画像ファイルを記憶している場合には、判定部62は画像ファイルからデータ列を抽出して比較を実行する。処理対象データが、データベース50内に存在するデータ列を含む場合には、判定部62は、そのデータ列に対応するブラウザ21から処理対象データが送られてきたと判定する。この結果、判定部62は、処理対象データを送信したブラウザ21を特定することができる。もし、処理対象データがデータベース50内のいずれのデータ列も含まない場合には、判定部62は処理対象データの送信元が不明であると判定する。
 判定部62によりブラウザ21が特定された後の処理は限定されない。第3サーバ60はブラウザ21を特定した後に任意の処理を実行することができる。あるいは、第3サーバ60がブラウザ21を特定した後に、ウェブサーバ30などの他のサーバが任意の処理を実行してもよい。例えば、ブラウザ21が特定された後に、第3サーバ60または他のサーバはステートフルなサービスを提供するための任意の処理を実行してもよい。
 [第4実施形態]
 第4実施形態は、本開示に係るブラウザ管理システムをボランタリ・チェーン(voluntary chain:VC)でのアフィリエイト・トラッキングに適用した例である。
 図9および図10を参照しながら第4実施形態でのシステム構成を説明する。図9はブラウザ管理システム4の適用の一例を示す図である。図10はブラウザ管理システム4の機能構成の一例を示す図である。本実施形態では、サーバ側(ネットワーク側)はメディアサーバ110、VCウェブサーバ120、VC画像サーバ130、VCリダイレクタ140、および広告主サーバ150を含む。ユーザ端末20はこれらのサーバのそれぞれと通信ネットワーク(例えばインターネット)を介して接続することができる。
 メディアサーバ110は、ユーザ端末20に対して広告媒体を提供するコンピュータである。メディアサーバ110は、アフィリエイト広告を含むウェブページ(広告媒体)をユーザ端末20からの要求に応じて該ユーザ端末20に送信する。アフィリエイト広告とは、インターネット上に設置された広告媒体上に掲載される広告であって、該広告媒体の閲覧者(ユーザ)がその広告をきっかけに商品を購入した場合に成功報酬が媒体主に付与される形態の広告である。広告媒体とは、アフィリエイト広告を閲覧者に伝達する媒介手段であり、より具体的には、任意の情報が掲載されたウェブページである。広告媒体上でのアフィリエイト広告の表現方法は限定されず、例えば、バナー広告でもよい。
 VCウェブサーバ120はボランタリ・チェーンのウェブサーバであり、データ列を取得するためのスクリプトを提供するコンピュータである。そのスクリプトは、例えば、JavaScript(登録商標)でもよい。
 VC画像サーバ130は、データ列が埋め込まれた画像ファイルをユーザ端末20に送信するコンピュータである。VC画像サーバ130は第1、第2、および第3実施形態における第1サーバ10の一例であるということができる。VC画像サーバ130は機能要素として受信部131、画像生成部132、および送信部133を備える。受信部131は、ウェブページを表示するための処理を実行するユーザ端末20から画像ファイルの要求を受信する機能要素である。画像生成部132は、その要求に応答して画像ファイルを生成する機能要素である。送信部133は、データ列をキャッシュ22に格納するためにその画像ファイルをユーザ端末20に送信する機能要素である。受信部131、画像生成部132、および送信部133はそれぞれ、上記の受信部11、画像生成部12、および送信部13と同様の機能を実行する。
 VCリダイレクタ140は、データ列をサーバ側(ネットワーク側)に保存するコンピュータである。VCリダイレクタ140は第2および第3実施形態における第2サーバ40の一例であるということができる。VCリダイレクタ140は機能要素として受信部141および格納部142を備える。受信部141は、ユーザ端末20からデータ列を受信する機能要素である。格納部142は、そのデータ列をデータベース50に格納する機能要素である。受信部141および格納部142はそれぞれ、第2および第3実施形態における受信部41および格納部42と同様の機能を実行する。
 したがって、VC画像サーバ130およびVCリダイレクタ140はいずれも、ユーザ端末20のブラウザ21を特定するための処理を実行するコンピュータである。
 広告主サーバ150は、アフィリエイト広告の広告主により運営される仮想店舗をユーザに提供するコンピュータである。アフィリエイト広告をクリックすることで仮想店舗にアクセスしたユーザは、この仮想店舗で商品を購入することができる。商品とは、有償または無償で取引される任意の有体物または無体物であり、したがって、サービスの提供を含む概念である。商品の種類は何ら限定されない。
 図11を参照しながら、ブラウザ管理システム4の動作を説明するとともに本実施形態に係るブラウザ管理方法について説明する。図11は、ブラウザ管理システム4の動作の一例を示すシーケンス図である。
 ステップS41では、ユーザ端末20が、GETメソッドを用いたHTTPリクエストをメディアサーバ110に送信する。
 ステップS42では、メディアサーバ110がその要求で指定されたHTMLデータをユーザ端末20に送信する。このHTMLデータは<script>タグを含む。
 ステップS43では、ユーザ端末20がその<script>タグで示されるJavaScript(登録商標)を取得するためのHTTPリクエスト(GETメソッド)をVCウェブサーバ120に送信する。
 ステップS44では、VCウェブサーバ120がその要求に応答してJavaScript(登録商標)をユーザ端末20に送信する。
 ステップS45では、ユーザ端末20がそのスクリプトを実行して、GETメソッドを用いた画像要求をVC画像サーバ130に送信する。VC画像サーバ130では受信部131がその画像要求を受信する。ステップS45は上記のステップS22に対応する。
 ステップS46では、VC画像サーバ130の画像生成部132が、ユーザ端末20のブラウザ21を特定するためのデータ列を生成する。ステップS46はステップS23に対応する。
 ステップS47では、画像生成部132がそのデータ列を示す複数の画素を含む画像ファイルを生成する。ステップS47はステップS24に対応する。
 ステップS48では、VC画像サーバ130の送信部133がその画像ファイルをユーザ端末20に送信する。ステップS48はステップS25に対応する。
 ユーザ端末20はその画像ファイルを受信してデータ列をキャッシュ22に格納する。この格納処理はステップS26に対応する。したがって、ユーザ端末20は画像ファイルを格納してもよいし、画像ファイルから抽出したデータ列を格納してもよい。
 ステップS49では、ユーザ端末20がGETメソッドを用いて、そのデータ列を含むHTTPリクエストをVCリダイレクタ140に送信する。ステップS49はステップS28に対応する。したがって、ユーザ端末20は画像ファイルを送信してもよいし、画像ファイルから抽出したデータ列を送信してもよい。VCリダイレクタ140では受信部141がそのデータ列を受信する。
 ステップS50では、VCリダイレクタ140の格納部142がそのデータ列をデータベース50に格納する。ステップS50はステップS29に対応する。したがって、格納部142は画像ファイルを格納してもよいし、受信したデータ列または画像ファイルから抽出したデータ列を格納してもよい。
 格納部142は、データ列を他のデータ項目と関連付けることでレコードを生成し、そのレコードをデータベース50に格納してもよい。例えば、格納部142は、ユーザID、媒体主ID、広告主ID、およびトラッキングキーのうちの少なくとも一つをレコードに含めてもよい。このレコードにより、ユーザID、媒体主ID、広告主ID、およびトラッキングキーのうちの少なくとも一つがデータ列と関連付けられる。ここで、ユーザIDは、ユーザを一意に特定するための識別子である。媒体主IDは、広告媒体の出稿者である媒体主を一意に特定するための識別子である。広告主IDは、アフィリエイト広告の広告主を一意に特定するための識別子である。トラッキングキーは、特定のウェブサイト内でのユーザの操作を追跡するために用いられる識別子である。
 ステップS51では、VCリダイレクタ140が、リダイレクトのために用いられるHTTPステータスコードである「302 Found」をユーザ端末20に送信する。ユーザ端末20はそのデータ信号を受信する。
 ステップS52では、ユーザ端末20がその「302 Found」に応答して、キャッシュ22からデータ列を読み出し、そのデータ列を含むリクエスト(GETメソッド)を広告主サーバ150に送信する。
 ステップS53では、広告主サーバ150がそのリクエストに応答して、指定されたHTMLデータをユーザ端末20に送信する。この広告主サーバ150は、ステップS52で受信したデータ列が既にデータベース50内に記憶されていることに基づいて、ステートフルな処理を実行することができる。
 [第5実施形態]
 第5実施形態は、本開示に係るブラウザ管理システムをアナリティクスに適用した例である。アナリティクスとは、ユーザがどのサイトからアクセスしてきたかを分析したり、ユーザがウェブサイト内でどのような経路を辿るかなどを分析したりする手法のことをいう。
 図12および図13を参照しながら第5実施形態でのシステム構成を説明する。図12はブラウザ管理システム5の適用の一例を示す図である。図13はブラウザ管理システム5の機能構成の一例を示す図である。本実施形態では、サーバ側(ネットワーク側)はメディアサーバ110、VCウェブサーバ120、VC画像サーバ130、およびVCビーコンサーバ160を含む。ユーザ端末20はこれらのサーバのそれぞれと通信ネットワーク(例えばインターネット)を介して接続することができる。
 メディアサーバ110、VCウェブサーバ120、およびVC画像サーバ130の構成は第4実施形態と同じである。
 VCビーコンサーバ160は、データ列をサーバ側(ネットワーク側)に保存するコンピュータである。VCビーコンサーバ160は第2および第3実施形態における第2サーバ40の一例であるということができる。VCビーコンサーバ160は機能要素として受信部161および格納部162を備える。受信部161は、ユーザ端末20からデータ列を受信する機能要素である。格納部162は、そのデータ列をデータベース50に格納する機能要素である。受信部161および格納部162はそれぞれ、上記の受信部41および格納部42と同様の機能を実行する。
 したがって、VC画像サーバ130およびVCビーコンサーバ160はいずれも、ユーザ端末20のブラウザ21を特定するための処理を実行するコンピュータである。
 図14を参照しながら、ブラウザ管理システム5の動作を説明するとともに本実施形態に係るブラウザ管理方法について説明する。図14は、ブラウザ管理システム5の動作の一例を示すシーケンス図である。
 ステップS61~S68の処理は、第5実施形態におけるステップS41~S48の処理と同じである。ユーザ端末20は、ステップS68でVC画像サーバ130から送られてきた画像ファイルを受信してデータ列をキャッシュ22に格納する。ユーザ端末20は画像ファイルを格納してもよいし、画像ファイルから抽出したデータ列を格納してもよい。
 ステップS69では、ユーザ端末20がGETメソッドを用いて、そのデータ列を含むHTTPリクエストをVCビーコンサーバ160に送信する。ステップS69は第2実施形態におけるステップS28に対応する。したがって、ユーザ端末20は画像ファイルを送信してもよいし、画像ファイルから抽出したデータ列を送信してもよい。VCビーコンサーバ160では受信部161がそのデータ列を受信する。
 ステップS70では、VCビーコンサーバ160の格納部162がそのデータ列をデータベース50に格納する。ステップS70はステップS29に対応する。したがって、格納部162は画像ファイルを格納してもよいし、受信したデータ列または画像ファイルから抽出したデータ列を格納してもよい。第4実施形態と同様に、格納部162は、データ列を他のデータ項目と関連付けることでレコードを生成し、そのレコードをデータベース50に格納してもよい。例えば、格納部162は、ユーザID、媒体主ID、広告主ID、およびトラッキングキーのうちの少なくとも一つをレコードに含めてもよい。
 ステップS71では、VCビーコンサーバ160が、アナリティクスのために用いられる透過画像をユーザ端末20に送信する。ユーザ端末20はその透過画像を受信する。この透過画像は、ブラウザ21を特定するためのデータ列が埋め込まれた画像ファイルとは異なる画像であることに留意されたい。
 [第6実施形態]
 第6実施形態は、本開示に係るブラウザ管理システムをターゲティングに適用した例である。ターゲティングとは、ユーザがインターネット上でどのウェブサイトにアクセスしたかを追跡する手法のことをいう。
 図15および図16を参照しながら第6実施形態でのシステム構成を説明する。図15はブラウザ管理システム6の適用の一例を示す図である。図16はブラウザ管理システム6の機能構成の一例を示す図である。本実施形態では、サーバ側(ネットワーク側)はメディアサーバ110、VCウェブサーバ120、VC画像サーバ130、VCビーコンサーバ160、および広告サーバ170を含む。ユーザ端末20はこれらのサーバのそれぞれと通信ネットワーク(例えばインターネット)を介して接続することができる。
 メディアサーバ110、VCウェブサーバ120、VC画像サーバ130、およびVCビーコンサーバ160の構成は第5実施形態と同じである。
 広告サーバ170は、広告媒体上に載せるアフィリエイト広告をユーザに提供するコンピュータである。広告サーバ170は、ブラウザ21から送信された処理対象データとデータベース50内のデータ列とを比較してブラウザ21を特定する処理を実行してもよい。したがって、広告サーバ170は第3実施形態における第3サーバ60の一例であるということができる。広告サーバ170は機能要素として受信部171および判定部172を備える。受信部171は、処理対象データをユーザ端末20から受信する機能要素である。判定部172は、その処理対象データをデータベース50内のデータ列と比較することでブラウザ21を特定する機能要素である。受信部171および判定部172はそれぞれ、上記の受信部61および判定部62と同様の機能を実行する。
 したがって、VC画像サーバ130、VCビーコンサーバ160、および広告サーバ170はいずれも、ユーザ端末20のブラウザ21を特定するための処理を実行するコンピュータである。
 図17を参照しながら、ブラウザ管理システム6の動作を説明するとともに本実施形態に係るブラウザ管理方法について説明する。図17は、ブラウザ管理システム6の動作の一例を示すシーケンス図である。
 ステップS81~S91の処理は、第5実施形態におけるステップS61~S71の処理と同じである。
 ステップS92では、ユーザ端末20が、アフィリエイト広告を取得するためのHTTPリクエスト(GETメソッド)を広告サーバ170に送信する。このリクエストは、キャッシュ22から読み出されたデータ列を含む。広告サーバ170では受信部171がそのリクエストを受信する。この受信はステップS31に対応し、したがって、HTTPリクエストは処理対象データに相当する。
 ステップS93では、広告サーバ170の判定部172がそのリクエストに基づいてデータベース50を参照することで、リクエストに含まれているものと同じデータ列がデータベース50内に記憶されているか否かを判定する。判定部172はその判定結果に基づいてブラウザ21を特定することができる。ステップS93はステップS32に対応する。広告サーバ170は、その判定結果に基づいて、ターゲティングに必要な更なる処理(この処理はステートフルな処理であるといえる。)を実行できる。
 ステップS94では、広告サーバ170がそのリクエストに応答して、指定されたアフィリエイト広告のデータ(広告データ)をユーザ端末20に送信する。ユーザ端末20はその広告データを受信し、アフィリエイト広告を含む広告媒体をモニタ上に表示する。
 第4、第5、および第6実施形態では、ユーザ端末20はGETメソッドを用いてHTTPリクエストを送信する。しかし、GETメソッドの利用は必須ではなく、ユーザ端末20は他のHTTPリクエストメソッド(例えばPOSTメソッド)を用いてもよい。
 [効果]
 以上説明したように、本発明の一側面に係るブラウザ管理システムは、少なくとも一つのプロセッサを備え、少なくとも一つのプロセッサが、ユーザ端末のブラウザ上にウェブページを表示するための処理に応答して、該ブラウザを特定するためのデータ列を生成し、データ列を示す複数の画素を含む画像ファイルを生成し、データ列をユーザ端末のキャッシュに格納するために画像ファイルをユーザ端末に送信する。
 本発明の一側面に係るブラウザ管理方法は、少なくとも一つのプロセッサにより実行されるブラウザ管理方法であって、ユーザ端末のブラウザ上にウェブページを表示するための処理に応答して、該ブラウザを特定するためのデータ列を生成するステップと、データ列を示す複数の画素を含む画像ファイルを生成するステップと、データ列をユーザ端末のキャッシュに格納するために画像ファイルをユーザ端末に送信するステップとを含む。
 本発明の一側面に係るブラウザ管理プログラムは、ユーザ端末のブラウザ上にウェブページを表示するための処理に応答して、該ブラウザを特定するためのデータ列を生成するステップと、データ列を示す複数の画素を含む画像ファイルを生成するステップと、データ列をユーザ端末のキャッシュに格納するために画像ファイルをユーザ端末に送信するステップとをコンピュータシステムに実行させる。
 このような側面においては、ブラウザを特定するためのデータ列を示す画像ファイルがユーザ端末のキャッシュに格納される。したがって、その画像ファイルを用いることで、HTTPクッキーを用いることなくブラウザを特定することができる。また、ブラウザを特定するためのデータ列を、従来から広く用いられている画像ファイルに埋め込むことで、特定のサービスに依存しない形でそのデータ列をキャッシュに保存し、必要に応じてそのデータ列をキャッシュから読み出すことができる。したがって、HTTPクッキーに代わるこの新たな技術を様々なオンラインサービスに適用することができる。すなわち、データ列を画像ファイルに埋め込むこの新たな技術は汎用性が高い。
 他の側面に係るブラウザ管理システムでは、少なくとも一つのプロセッサが、データ列を、複数の画素に対応する複数の画素値に変換することで画像ファイルを生成してもよい。データ列を画素値に変換することで、データ列を効率的に画像ファイルに埋め込むことができる。
 他の側面に係るブラウザ管理システムでは、複数の画素がRGBまたはグレースケールで表されてもよい。データ列をRGBまたはグレースケールの画素値に変換することで、データ列を効率的に画像ファイルに埋め込むことができる。
 他の側面に係るブラウザ管理システムでは、ウェブページが、画像ファイルを取得するためのスクリプトを含み、少なくとも一つのプロセッサが、ユーザ端末でスクリプトが実行されたことに応答して、データ列の生成と、画像ファイルの生成と、画像ファイルの送信とを実行してもよい。ウェブページ内のスクリプトに従って画像ファイルを生成および送信することで、データ列が必要なタイミングで画像ファイルをユーザ端末に提供することができる。
 他の側面に係るブラウザ管理システムでは、少なくとも一つのプロセッサが、ユーザ端末によりキャッシュから読み出されて送信されたデータ列を取得してもよい。ユーザ端末のキャッシュに記憶されていたデータ列を取得することで、サーバ側でそのデータ列を保存することができ、その保存されたデータ列を用いてブラウザを特定することが可能になる。
 他の側面に係るブラウザ管理システムでは、データ列を含む文字列をユーザ端末から受信することでデータ列を取得してもよい。この場合には、サーバ側で画像ファイルからデータ列を抽出する必要がないので、サーバ側の処理負荷を低減することができる。
 他の側面に係るブラウザ管理システムでは、少なくとも一つのプロセッサが、ユーザ端末から画像ファイルを受信して該画像ファイルからデータ列を抽出することで、データ列を取得してもよい。この場合には、ユーザ端末で画像ファイルからデータ列を抽出する必要がないので、ユーザ端末の処理負荷を低減することができる。
 他の側面に係るブラウザ管理システムでは、少なくとも一つのプロセッサが、取得されたデータ列を記憶装置に格納してもよい。サーバ側でデータ列を保存することで、その保存されたデータ列を用いてブラウザを特定することが可能になる。
 他の側面に係るブラウザ管理システムでは、少なくとも一つのプロセッサが、データ列がデータベースに格納された後に、ユーザ端末から処理対象データを取得し、処理対象データと記憶装置内のデータ列とを比較し、処理対象データがデータ列を含む場合に、処理対象データがブラウザから送信されたと判定してもよい。ユーザ端末から送られてきたデータ(処理対象データ)を記憶装置内のデータ列と照合することでブラウザを特定することができる。
 本発明の一側面に係るクライアントプログラムは、上記のブラウザ管理システムから画像ファイルを受信するステップと、データ列をキャッシュに格納するステップとをコンピュータに実行させる。このような側面においては、ブラウザを特定するためのデータ列がユーザ端末のキャッシュに格納される。したがって、そのデータ列を用いることで、HTTPクッキーを用いることなくブラウザを特定することができる。
 [変形例]
 以上、本発明をその実施形態に基づいて詳細に説明した。しかし、本発明は上記実施形態に限定されるものではない。本発明は、その要旨を逸脱しない範囲で様々な変形が可能である。
 ブラウザ管理システムの構成は上記の各実施形態に限定されず、ブラウザ管理システムは1以上の任意のサーバを用いて構成されてよい。いずれにしても、ブラウザ管理システムは少なくとも一つのプロセッサを備える。ブラウザ管理システムが複数のプロセッサを備える場合には、第1の処理を実行するプロセッサは、第2の処理を実行するプロセッサと同じでもよいし異なってもよい。「少なくとも一つのプロセッサが第1の処理および第2の処理を実行する」ことは、どのプロセッサがどの処理を実行するかについて何ら限定しないことを意味する。
 上記のいくつかの実施形態ではデータベース50がデータ列を記憶するが、記憶装置はデータベース50に限定されない。ブラウザ管理システムは、データベース以外の記憶装置(例えば、任意の種類のメモリ)にデータ列を格納してもよい。
 少なくとも一つのプロセッサにより実行されるブラウザ管理方法の処理手順は上記実施形態での例に限定されない。例えば、上述したステップ(処理)の一部が省略されてもよいし、別の順序で各ステップが実行されてもよい。また、上述したステップのうちの任意の2以上のステップが組み合わされてもよいし、ステップの一部が修正または削除されてもよい。あるいは、上記の各ステップに加えて他のステップが実行されてもよい。
 1~6…ブラウザ管理システム、10…第1サーバ、11…受信部、12…画像生成部、13…送信部、20…ユーザ端末、21…ブラウザ、22…キャッシュ、30…ウェブサーバ、40…第2サーバ、41…受信部、42…格納部、50…データベース(記憶装置)、60…第3サーバ、61…受信部、62…判定部、110…メディアサーバ、120…VCウェブサーバ、130…VC画像サーバ、131…受信部、132…画像生成部、133…送信部、140…VCリダイレクタ、141…受信部、142…格納部、150…広告主サーバ、160…VCビーコンサーバ、161…受信部、162…格納部、170…広告サーバ、171…受信部、172…判定部。

Claims (12)

  1.  少なくとも一つのプロセッサを備え、
     前記少なくとも一つのプロセッサが、
      ユーザ端末のブラウザ上にウェブページを表示するための処理に応答して、該ブラウザを特定するためのデータ列を生成し、
      前記データ列を示す複数の画素を含む画像ファイルを生成し、
      前記データ列を前記ユーザ端末のキャッシュに格納するために前記画像ファイルを前記ユーザ端末に送信する、
    ブラウザ管理システム。
  2.  前記少なくとも一つのプロセッサが、前記データ列を、前記複数の画素に対応する複数の画素値に変換することで前記画像ファイルを生成する、
    請求項1に記載のブラウザ管理システム。
  3.  前記複数の画素がRGBまたはグレースケールで表される、
    請求項1または2に記載のブラウザ管理システム。
  4.  前記ウェブページが、前記画像ファイルを取得するためのスクリプトを含み、
     前記少なくとも一つのプロセッサが、前記ユーザ端末で前記スクリプトが実行されたことに応答して、前記データ列の生成と、前記画像ファイルの生成と、前記画像ファイルの送信とを実行する、
    請求項1~3のいずれか一項に記載のブラウザ管理システム。
  5.  前記少なくとも一つのプロセッサが、前記ユーザ端末により前記キャッシュから読み出されて送信された前記データ列を取得する、
    請求項1~4のいずれか一項に記載のブラウザ管理システム。
  6.  前記少なくとも一つのプロセッサが、前記データ列を含む文字列を前記ユーザ端末から受信することで前記データ列を取得する、
    請求項5に記載のブラウザ管理システム。
  7.  前記少なくとも一つのプロセッサが、前記ユーザ端末から前記画像ファイルを受信して該画像ファイルから前記データ列を抽出することで、前記データ列を取得する、
    請求項5に記載のブラウザ管理システム。
  8.  前記少なくとも一つのプロセッサが、取得された前記データ列を記憶装置に格納する、
    請求項5~7のいずれか一項に記載のブラウザ管理システム。
  9.  前記少なくとも一つのプロセッサが、
      前記データ列が前記記憶装置に格納された後に、前記ユーザ端末から処理対象データを取得し、
      前記処理対象データと前記記憶装置内のデータ列とを比較し、
      前記処理対象データが前記データ列を含む場合に、前記処理対象データが前記ブラウザから送信されたと判定する、
    請求項8に記載のブラウザ管理システム。
  10.  少なくとも一つのプロセッサにより実行されるブラウザ管理方法であって、
     ユーザ端末のブラウザ上にウェブページを表示するための処理に応答して、該ブラウザを特定するためのデータ列を生成するステップと、
     前記データ列を示す複数の画素を含む画像ファイルを生成するステップと、
     前記データ列を前記ユーザ端末のキャッシュに格納するために前記画像ファイルを前記ユーザ端末に送信するステップと
    を含むブラウザ管理方法。
  11.  ユーザ端末のブラウザ上にウェブページを表示するための処理に応答して、該ブラウザを特定するためのデータ列を生成するステップと、
     前記データ列を示す複数の画素を含む画像ファイルを生成するステップと、
     前記データ列を前記ユーザ端末のキャッシュに格納するために前記画像ファイルを前記ユーザ端末に送信するステップと
    をコンピュータシステムに実行させるブラウザ管理プログラム。
  12.  請求項1~9のいずれか一項に記載のブラウザ管理システムから前記画像ファイルを受信するステップと、
     前記データ列を前記キャッシュに格納するステップと
    をコンピュータに実行させるクライアントプログラム。
PCT/JP2018/025568 2018-07-05 2018-07-05 ブラウザ管理システム、ブラウザ管理方法、ブラウザ管理プログラム、およびクライアントプログラム WO2020008600A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US17/256,399 US11258845B2 (en) 2018-07-05 2018-07-05 Browser management system, browser management method, browser management program, and client program
EP18925414.7A EP3819779A4 (en) 2018-07-05 2018-07-05 BROWSER MANAGEMENT SYSTEM, BROWSER MANAGEMENT METHOD, BROWSER MANAGEMENT PROGRAM AND CUSTOMER PROGRAM
JP2020528633A JP7145215B2 (ja) 2018-07-05 2018-07-05 ブラウザ管理システム、ブラウザ管理方法、ブラウザ管理プログラム、およびクライアントプログラム
PCT/JP2018/025568 WO2020008600A1 (ja) 2018-07-05 2018-07-05 ブラウザ管理システム、ブラウザ管理方法、ブラウザ管理プログラム、およびクライアントプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/025568 WO2020008600A1 (ja) 2018-07-05 2018-07-05 ブラウザ管理システム、ブラウザ管理方法、ブラウザ管理プログラム、およびクライアントプログラム

Publications (1)

Publication Number Publication Date
WO2020008600A1 true WO2020008600A1 (ja) 2020-01-09

Family

ID=69059438

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/025568 WO2020008600A1 (ja) 2018-07-05 2018-07-05 ブラウザ管理システム、ブラウザ管理方法、ブラウザ管理プログラム、およびクライアントプログラム

Country Status (4)

Country Link
US (1) US11258845B2 (ja)
EP (1) EP3819779A4 (ja)
JP (1) JP7145215B2 (ja)
WO (1) WO2020008600A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6915579B2 (ja) * 2018-04-06 2021-08-04 日本電信電話株式会社 信号分析装置、信号分析方法および信号分析プログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006113884A (ja) * 2004-10-15 2006-04-27 Value Commerce Co Ltd 広告配信装置、コンピュータプログラム、プログラム格納媒体
JP4647717B2 (ja) 1999-11-09 2011-03-09 バリュー・コマース・インターナショナル・リミテッド 電子商取引においてユーザのアクティビティをトラッキングするシステム
JP2014130542A (ja) * 2012-12-28 2014-07-10 Ricoh Co Ltd 画像形成装置、セッション管理方法及びプログラム
JP2014241114A (ja) * 2013-06-12 2014-12-25 富士ソフト株式会社 サーバ装置、サーバ装置制御方法、およびコンピュータプログラム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7660868B1 (en) * 1999-04-26 2010-02-09 John Albert Kembel Apparatus and method for interacting with internet content via one or more applications that do not include native web browsing navigation control features
US7103357B2 (en) * 1999-11-05 2006-09-05 Lightsurf Technologies, Inc. Media spooler system and methodology providing efficient transmission of media content from wireless devices
JP2004532430A (ja) * 2001-05-02 2004-10-21 ビットストリーム インコーポレーティッド 副画素最適化画像及びその様な画像を含むデジタルコンテンツを生成及び表示するための方法、システム、及びプログラム
US20080177994A1 (en) * 2003-01-12 2008-07-24 Yaron Mayer System and method for improving the efficiency, comfort, and/or reliability in Operating Systems, such as for example Windows
US7634570B2 (en) * 2003-03-12 2009-12-15 Microsoft Corporation Managing state information across communication sessions between a client and a server via a stateless protocol
US8533141B2 (en) * 2010-08-31 2013-09-10 Vibrant Media, Inc. Systems and methods for rule based inclusion of pixel retargeting in campaign management
WO2013067437A1 (en) * 2011-11-02 2013-05-10 Hoffman Michael Theodor Systems and methods for dynamic digital product synthesis, commerce, and distribution
US9123084B2 (en) * 2012-04-12 2015-09-01 Activevideo Networks, Inc. Graphical application integration with MPEG objects
US8606011B1 (en) * 2012-06-07 2013-12-10 Amazon Technologies, Inc. Adaptive thresholding for image recognition
US9942299B2 (en) * 2013-03-15 2018-04-10 Yottaa Inc. System and method for managing multiple variants of an HTTP object
US10686781B1 (en) * 2013-12-24 2020-06-16 Affirm Inc. System and method for passwordless logins
US20160026730A1 (en) * 2014-07-23 2016-01-28 Russell Hasan Html5-based document format with parts architecture
US9978095B2 (en) * 2014-08-30 2018-05-22 Digimarc Corporation Methods and arrangements including data migration among computing platforms, E.G. through use of steganographic screen encoding
US9342617B1 (en) * 2015-05-19 2016-05-17 Parrable, Inc. Unique identifiers for browsers

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4647717B2 (ja) 1999-11-09 2011-03-09 バリュー・コマース・インターナショナル・リミテッド 電子商取引においてユーザのアクティビティをトラッキングするシステム
JP2006113884A (ja) * 2004-10-15 2006-04-27 Value Commerce Co Ltd 広告配信装置、コンピュータプログラム、プログラム格納媒体
JP2014130542A (ja) * 2012-12-28 2014-07-10 Ricoh Co Ltd 画像形成装置、セッション管理方法及びプログラム
JP2014241114A (ja) * 2013-06-12 2014-12-25 富士ソフト株式会社 サーバ装置、サーバ装置制御方法、およびコンピュータプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3819779A4

Also Published As

Publication number Publication date
US20210120074A1 (en) 2021-04-22
US11258845B2 (en) 2022-02-22
EP3819779A4 (en) 2022-02-16
JP7145215B2 (ja) 2022-09-30
EP3819779A1 (en) 2021-05-12
JPWO2020008600A1 (ja) 2021-04-22

Similar Documents

Publication Publication Date Title
US11455665B2 (en) System and method for affiliate link generation
US9665256B2 (en) Identifying selected dynamic content regions
US9141611B2 (en) Aggregated web analytics request systems and methods
US9646096B2 (en) System and methods for analyzing and improving online engagement
US7725530B2 (en) Proxy server collection of data for module incorporation into a container document
CA2682037C (en) Method and system for facilitating access to a promotional offer
US9659103B2 (en) Auto-aligning website elements by grouping elements based on a plurality of contextual indicators
US20100299205A1 (en) Protected serving of electronic content
US8843619B2 (en) System and method for monitoring visits to a target site
US20100082808A1 (en) System and method for automatically delivering relevant internet content
EP1844385A2 (en) Apparatuses, methods and sytems for integrated, information-engineered and self-imposing advertising, e-commerce and online customer interactions
US20110010235A1 (en) Method and System for Setting an Online Coupon Cookie
US8799404B2 (en) Weather analytics systems and methods
TWI435226B (zh) A method of reading a system, a terminal, an image server, a computer program product, a terminal, and an image server
US9081865B2 (en) Identifying selected elements in dynamic content
CN1953403A (zh) 用于呈现监控报告的方法和***
JP7145215B2 (ja) ブラウザ管理システム、ブラウザ管理方法、ブラウザ管理プログラム、およびクライアントプログラム
KR101145027B1 (ko) 하이퍼링크를 위한 소셜링크 서비스 방법 및 시스템
US20130311359A1 (en) Triple-click activation of a monetizing action
EP4123545A1 (en) Advertisement delivery method and advertisement delivery system
JP7240451B2 (ja) トラッキングシステム、トラッキング方法及びトラッキングプログラム
WO2019069060A1 (en) SYSTEM FOR MONITORING USER INTERACTIONS
KR101115635B1 (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: 18925414

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020528633

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2018925414

Country of ref document: EP