JP7288727B1 - Matrix optimization system, matrix optimization method, and program - Google Patents

Matrix optimization system, matrix optimization method, and program Download PDF

Info

Publication number
JP7288727B1
JP7288727B1 JP2022555869A JP2022555869A JP7288727B1 JP 7288727 B1 JP7288727 B1 JP 7288727B1 JP 2022555869 A JP2022555869 A JP 2022555869A JP 2022555869 A JP2022555869 A JP 2022555869A JP 7288727 B1 JP7288727 B1 JP 7288727B1
Authority
JP
Japan
Prior art keywords
user
processing
processing units
shop
sales
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.)
Active
Application number
JP2022555869A
Other languages
Japanese (ja)
Other versions
JPWO2023282058A1 (en
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.)
PLAYTHINK, INC.
Original Assignee
PLAYTHINK, INC.
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 PLAYTHINK, INC. filed Critical PLAYTHINK, INC.
Publication of JPWO2023282058A1 publication Critical patent/JPWO2023282058A1/ja
Priority to JP2023083992A priority Critical patent/JP2023096186A/en
Application granted granted Critical
Publication of JP7288727B1 publication Critical patent/JP7288727B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/06Buying, selling or leasing transactions

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Development Economics (AREA)
  • Physics & Mathematics (AREA)
  • Finance (AREA)
  • General Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Marketing (AREA)
  • Human Resources & Organizations (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】アクセス中のユーザー数が多くてもユーザーの離脱を招くことなく、購入意欲の増進効果を得られるようにする。【解決手段】本発明によるショップ制御サーバ11は、それぞれユーザーに対する処理を実行可能に構成された複数のショップサーバ13に接続され、1以上のユーザーを格納可能に構成されたユーザーキューT2に格納されているユーザーの数を取得し、取得したユーザーの数に基づいて、ユーザーキューT2に格納されているユーザーの並行処理数を決定し、決定した並行処理数に基づいて、ユーザーキューT2に格納されているユーザーに対する処理を複数のショップサーバ13の一部又は全部に実行させる。【選択図】図3An object of the present invention is to obtain the effect of increasing the willingness to purchase without incurring withdrawal of users even if the number of users accessing the site is large. A shop control server (11) according to the present invention is connected to a plurality of shop servers (13) configured to be able to execute processing for each user, and stored in a user queue (T2) configured to store one or more users. Based on the obtained number of users, the number of parallel processing of users stored in the user queue T2 is determined. Some or all of the plurality of shop servers 13 are caused to execute processing for the user who is in the shop. [Selection drawing] Fig. 3

Description

本発明は、行列最適化システム、行列最適化方法、及びプログラムに関する。 The present invention relates to a matrix optimization system, a matrix optimization method, and a program.

オンラインショッピングサービスの中には、ウェブサイト内に行列を表示することにより、ユーザーに対し、アクセスしようとしているユーザーの数を視覚的に伝達するように構成されるものがある。特許文献1には、そのようなオンラインショッピングサービスの例が開示されている。 Some online shopping services are configured to visually convey to users the number of users attempting to access them by displaying queues within their website. Patent Literature 1 discloses an example of such an online shopping service.

特開2015-036973号公報JP 2015-036973 A

ところで、物品の購入に関して、直ちに買えてしまうよりも、ある程度待たされた方が購買意欲が高くなるという、いわゆるバンドワゴン効果が知られている。これはオンラインショッピングサービスでも同様であり、ショッピングサイトにアクセスして直ちに購入できるよりも、ある程度待たせた方が購入意欲の増進につながると考えられる。 By the way, regarding the purchase of an article, the so-called bandwagon effect is known, in which the willingness to buy is increased by waiting for a certain period of time rather than by buying it immediately. This is the same with online shopping services, and it is thought that waiting a certain amount of time leads to an increase in willingness to purchase rather than being able to purchase immediately after accessing a shopping site.

この点に関して、特許文献1の実施形態2には、ユーザーからのアクセスに対して速やかな応答処理を行わず、意図的に未処理状態を作り出すことが開示されている。具体的には、所定の待ち時間(例えば5分)ごとに応答処理を行うようにすることで、未処理状態を作り出すことが開示されている。特許文献1に記載されているわけではないが、この処理によれば、行列表示とも相まって、上記のような購入意欲の増進効果を得られる場合もあると考えられる。 Regarding this point, Embodiment 2 of Patent Document 1 discloses intentionally creating an unprocessed state without performing prompt response processing to access from the user. Specifically, it is disclosed that an unprocessed state is created by performing response processing every predetermined waiting time (for example, 5 minutes). Although not described in Patent Literature 1, it is believed that this process, in combination with the queue display, may have the effect of increasing purchase motivation as described above.

しかしながら、特許文献1のように所定の待ち時間ごとに応答処理を行うこととすると、行列の長さに比例して待ち時間が増大することになる。これでは、アクセス中のユーザー数が多くなった場合に待ち時間が長くなりすぎ、ユーザーの離脱を招くおそれがあることから、改善が必要とされていた。 However, if response processing is performed every predetermined waiting time as in Patent Document 1, the waiting time increases in proportion to the length of the queue. In this case, if the number of users accessing the site increases, the waiting time becomes too long, and there is a risk that users will leave the site, so improvements were needed.

したがって、本発明の目的の一つは、アクセス中のユーザー数が多くてもユーザーの離脱を招くことなく、購入意欲の増進効果を得ることのできる行列最適化システム、行列最適化方法、及びプログラムを提供することにある。 Therefore, one of the objects of the present invention is a queue optimization system, queue optimization method, and program that can obtain the effect of promoting purchase motivation without causing disengagement of users even if the number of accessing users is large. is to provide

本発明による行列最適化システムは、それぞれユーザーに対する処理を実行可能に構成された複数の処理部に接続され、1以上のユーザーを格納可能に構成されたユーザーキューに格納されているユーザーの数を取得し、取得した前記ユーザーの数に基づいて、前記ユーザーキューに格納されているユーザーの並行処理数を決定し、決定した前記並行処理数に基づいて、前記ユーザーキューに格納されているユーザーに対する処理を前記複数の処理部の一部又は全部に実行させる、行列最適化システムである。 The matrix optimization system according to the present invention is connected to a plurality of processing units each configured to be able to execute processing for users, and the number of users stored in a user queue configured to store one or more users. obtaining, determining the number of parallel processes of the users stored in the user queue based on the number of the acquired users, and determining the number of parallel processes for the users stored in the user queue based on the determined number of parallel processes; A matrix optimization system that causes some or all of the plurality of processing units to execute processing.

本発明による行列最適化方法は、コンピュータが、1以上のユーザーを格納可能に構成されたユーザーキューに格納されているユーザーの数を取得するステップと、前記コンピュータが、取得した前記ユーザーの数に基づいて、前記ユーザーキューに格納されているユーザーの並行処理数を決定するステップと、前記コンピュータが、決定した前記並行処理数に基づいて、それぞれユーザーに対する処理を実行可能に構成された複数の処理部の一部又は全部に、前記ユーザーキューに格納されているユーザーに対する処理を実行させるステップと、を含む行列最適化方法である。 A matrix optimization method according to the present invention comprises the steps of: a computer acquiring the number of users stored in a user queue configured to store one or more users; a step of determining the number of parallel processes of the users stored in the user queue based on the number of parallel processes; causing some or all of the units to perform processing for the users stored in the user queue.

本発明によるプログラムは、1以上のユーザーを格納可能に構成されたユーザーキューに格納されているユーザーの数を取得するステップと、取得した前記ユーザーの数に基づいて、前記ユーザーキューに格納されているユーザーの並行処理数を決定するステップと、決定した前記並行処理数に基づいて、それぞれユーザーに対する処理を実行可能に構成された複数の処理部の一部又は全部に、前記ユーザーキューに格納されているユーザーに対する処理を実行させるステップと、をコンピュータに実行させるためのプログラムである。 A program according to the present invention comprises steps of acquiring the number of users stored in a user queue configured to store one or more users; a step of determining the number of parallel processes of a user who is in the user queue; and causing a computer to execute a process for a user who is a user.

本発明によれば、待ち人数に基づいてユーザーの並行処理数を制御することができるので、アクセス中のユーザー数が多くてもユーザーの離脱を招くことなく、購入意欲の増進効果を得ることが可能になる。 According to the present invention, it is possible to control the number of parallel processing of users based on the number of people waiting, so that even if the number of users who are accessing is large, it is possible to obtain the effect of increasing the willingness to purchase without causing the withdrawal of users. be possible.

本実施の形態によるオンラインショッピングシステム1を含むシステムの構成を示す図である。1 is a diagram showing the configuration of a system including an online shopping system 1 according to this embodiment; FIG. オンラインショッピングシステム1及びユーザー端末3のハードウェア構成の一例を示す図である。1 is a diagram showing an example of hardware configurations of an online shopping system 1 and a user terminal 3; FIG. オンラインショッピングシステム1の内部構成を示す図である。1 is a diagram showing an internal configuration of an online shopping system 1; FIG. (a)は、データベース12に記憶されるユーザーテーブルT1を示す図であり、(b)は、データベース12に記憶されるユーザーキューT2を示す図である。(a) is a diagram showing a user table T1 stored in the database 12, and (b) is a diagram showing a user queue T2 stored in the database 12. FIG. データベース12に記憶されるショップリストT3を示す図である。4 is a diagram showing a shop list T3 stored in database 12. FIG. 行列最適化システムとしてのショップ制御サーバ11が行う処理の概要を説明する図である。FIG. 3 is a diagram for explaining an outline of processing performed by a shop control server 11 as a queue optimization system; オンラインショッピングシステム1内の各サーバによって実行される処理を示すシーケンス図である。4 is a sequence diagram showing processing executed by each server in the online shopping system 1; FIG. オンラインショッピングシステム1内の各サーバによって実行される処理を示すシーケンス図である。4 is a sequence diagram showing processing executed by each server in the online shopping system 1; FIG. 図7のステップS9で実行される行列最適化処理の詳細を示すフロー図である。FIG. 8 is a flowchart showing details of a matrix optimization process executed in step S9 of FIG. 7;

以下、添付図面を参照しながら、本発明の実施の形態について詳細に説明する。 BEST MODE FOR CARRYING OUT THE INVENTION Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

図1は、本実施の形態によるオンラインショッピングシステム1を含むシステムの構成を示す図である。オンラインショッピングシステム1はデジタルトレーディングカードの販売システムであり、図1に示すように、例えばインターネットであるネットワーク2を介して、複数のユーザー端末3に接続される。オンラインショッピングシステム1においてデジタルトレーディングカードを購入しようとするユーザーは、ユーザー端末3にインストールされているブラウザソフト又はモバイルアプリからオンラインショッピングシステム1にアクセスすることにより、デジタルトレーディングカードの購入を行う。 FIG. 1 is a diagram showing the configuration of a system including an online shopping system 1 according to this embodiment. An online shopping system 1 is a sales system for digital trading cards, and as shown in FIG. 1, it is connected to a plurality of user terminals 3 via a network 2 such as the Internet. A user who intends to purchase a digital trading card in the online shopping system 1 accesses the online shopping system 1 from browser software or a mobile application installed in a user terminal 3 to purchase the digital trading card.

図2は、オンラインショッピングシステム1及びユーザー端末3のハードウェア構成の一例を示す図である。オンラインショッピングシステム1及びユーザー端末3はそれぞれ、図示した構成を有するコンピュータ100によって構成され得る。典型的な例では、オンラインショッピングシステム1を構成するコンピュータ100は、サーバとして機能する高性能コンピュータである。また、ユーザー端末3を構成するコンピュータ100は、パーソナルコンピュータ、タブレット端末、スマートフォンなどの個人用コンピュータである。なお、コンピュータ100は、複数のコンピュータの結合によって構成されるコンピュータであってもよい。 FIG. 2 is a diagram showing an example of the hardware configuration of the online shopping system 1 and the user terminal 3. As shown in FIG. The online shopping system 1 and the user terminal 3 can each be configured by a computer 100 having the illustrated configuration. In a typical example, the computer 100 configuring the online shopping system 1 is a high performance computer that functions as a server. A computer 100 constituting the user terminal 3 is a personal computer such as a personal computer, a tablet terminal, or a smart phone. Note that the computer 100 may be a computer configured by combining a plurality of computers.

図2に示すように、コンピュータ100は、CPU(Central Processing Unit)101、記憶装置102、入力装置103、出力装置104、及び通信装置105を有して構成される。 As shown in FIG. 2, the computer 100 includes a CPU (Central Processing Unit) 101 , a storage device 102 , an input device 103 , an output device 104 and a communication device 105 .

CPU101は、コンピュータ100の各部を制御するとともに、記憶装置102に記憶される各種のプログラムを読み出して実行する装置である。後掲する図3に示す各サーバ10,11,13はそれぞれ、オンラインショッピングシステム1のCPU101が、オンラインショッピングシステム1の記憶装置102に記憶されるプログラムを実行することによって実現される仮想的なコンピュータである。ただし、上述したようにコンピュータ100を複数の複数のコンピュータの結合によって構成する場合には、図3に示した各サーバ10,11,13を複数のコンピュータに分散して実装することとしてもよく、この場合には、各コンピュータのCPU101がそれぞれの記憶装置102に記憶されるプログラムを実行することによって、各サーバ10,11,13の機能が実現される。また、ユーザー端末3のCPU101によって実行されるプログラムには、ネットワーク2を介して他の装置にアクセスする機能を有するブラウザソフト又はモバイルアプリが含まれる。 The CPU 101 is a device that controls each part of the computer 100 and reads and executes various programs stored in the storage device 102 . Each of the servers 10, 11, and 13 shown in FIG. 3, which will be described later, is a virtual computer implemented by the CPU 101 of the online shopping system 1 executing a program stored in the storage device 102 of the online shopping system 1. is. However, when the computer 100 is configured by combining a plurality of computers as described above, each of the servers 10, 11, and 13 shown in FIG. In this case, the functions of the servers 10, 11 and 13 are realized by the CPU 101 of each computer executing the programs stored in the respective storage devices 102. FIG. Also, the programs executed by the CPU 101 of the user terminal 3 include browser software or mobile applications that have a function of accessing other devices via the network 2 .

記憶装置102は、DRAM(Dynamic Random Access Memory)などの主記憶装置と、ハードディスクなどの補助記憶装置とを含み、コンピュータ100のオペレーティングシステムや各種のアプリケーションを実行するための各種のプログラム、及び、これらのプログラムによって利用されるデータを記憶する役割を果たす装置である。後述する図3に示すデータベース12は、オンラインショッピングシステム1の記憶装置102内に実装される。 The storage device 102 includes a main storage device such as a DRAM (Dynamic Random Access Memory) and an auxiliary storage device such as a hard disk. A device that serves to store data used by the programs of A database 12 shown in FIG. 3 to be described later is installed in the storage device 102 of the online shopping system 1 .

入力装置103は、ユーザーの入力操作を受け付けてCPU101に供給する装置であり、例えばキーボード、マウス、タッチパネルを含んで構成される。出力装置104は、CPU101の処理結果をユーザーに対して出力する装置であり、例えばディスプレイ、スピーカーを含んで構成される。通信装置105は、外部の装置と通信するための装置であり、CPU101の指示にしたがってデータの送受信を行う。オンラインショッピングシステム1及びユーザー端末3はそれぞれ、この通信装置105を用いて、図1に示したネットワーク2を含む他の装置との間で通信を行うよう構成される。 The input device 103 is a device that accepts a user's input operation and supplies it to the CPU 101, and includes, for example, a keyboard, a mouse, and a touch panel. The output device 104 is a device that outputs the processing result of the CPU 101 to the user, and includes, for example, a display and a speaker. A communication device 105 is a device for communicating with an external device, and transmits and receives data according to instructions from the CPU 101 . The online shopping system 1 and the user terminal 3 are each configured to communicate with other devices including the network 2 shown in FIG. 1 using this communication device 105 .

図3は、オンラインショッピングシステム1の内部構成を示す図である。同図に示すように、オンラインショッピングシステム1は、フロントエンドサーバ10と、ショップ制御サーバ11と、データベース12と、複数のショップサーバ13(処理部)とを含んで構成される。 FIG. 3 is a diagram showing the internal configuration of the online shopping system 1. As shown in FIG. As shown in the figure, the online shopping system 1 includes a front-end server 10, a shop control server 11, a database 12, and a plurality of shop servers 13 (processing units).

フロントエンドサーバ10は、各ユーザー端末3とのインターフェイスとして機能するサーバである。デジタルトレーディングカードを購入しようとするユーザーは、自身のユーザー端末3から、上述したブラウザソフト又はモバイルアプリを用いてフロントエンドサーバ10のURL(Uniform Resource Locator)にアクセスすることにより、デジタルトレーディングカードの購入を開始する。 The front end server 10 is a server that functions as an interface with each user terminal 3 . A user who intends to purchase a digital trading card accesses the URL (Uniform Resource Locator) of the front-end server 10 from his/her own user terminal 3 using the browser software or mobile application described above to purchase the digital trading card. to start.

ショップ制御サーバ11は、フロントエンドサーバ10にアクセスしてきたユーザーを、複数のショップサーバ13のいずれかに割り当てるための処理を行うサーバである。ショップ制御サーバ11は、アクセスしてきたユーザーを行列(後述するユーザーキューT2)の末尾に追加し、空いているショップサーバ13が発生した場合に、行列の先頭にいるユーザーを該ショップサーバ13に入場させるように構成される。ショップ制御サーバ11はまた、実際に利用するショップサーバ13の数を行列の長さに応じて制御することにより、アクセス中のユーザー数が多くてもユーザーの離脱を招くことなく、購入意欲の増進効果を得ることを可能にする行列最適化システムとしての処理も行う。 The shop control server 11 is a server that performs processing for allocating a user accessing the front end server 10 to one of the plurality of shop servers 13 . The shop control server 11 adds the accessing user to the end of the line (user queue T2, which will be described later), and when there is an empty shop server 13, the user at the head of the line enters the shop server 13. configured to allow The shop control server 11 also controls the number of shop servers 13 to be actually used according to the length of the queue, thereby increasing the willingness to purchase without causing disengagement of users even if the number of users accessing is large. It also works as a matrix optimization system that allows it to take effect.

データベース12は、フロントエンドサーバ10及びショップ制御サーバ11が行う処理のために利用される各種のデータを記憶するデータベースである。データベース12に記憶されるデータには、後述する最大猶予時間、購入制限時間、適正待ち時間などの各種値の他、オンラインショッピングシステム1のユーザーに関する情報を記憶するユーザーテーブルT1、1以上のユーザーの情報を格納するユーザーキューT2、及び、ショップサーバ13の情報を記憶するショップリストT3が含まれる。 The database 12 is a database that stores various data used for processing performed by the front end server 10 and the shop control server 11 . The data stored in the database 12 includes various values such as the maximum grace period, purchase limit time, appropriate waiting time, etc., which will be described later, as well as a user table T1 that stores information on users of the online shopping system 1, and information on one or more users. A user queue T2 storing information and a shop list T3 storing information of the shop server 13 are included.

複数のショップサーバ13はそれぞれ、ショップ制御サーバ11によって割り当てられたユーザーに対し、デジタルトレーディングカードを販売するための販売処理を行うサーバである。この販売処理には、販売対象であるデジタルトレーディングカード(又はそのセット)の画像を含むWEBサイトを生成してユーザー端末3に送信する処理と、ユーザー端末3から購入申し込みを受け付ける処理と、購入申し込みをしたユーザーのアドレス情報(例えば、ユーザーのウォレットアドレス)、及び、購入の対象となったデジタルトレーディングカード(又はそのセット)を示すアドレス情報(例えば、当該デジタルトレーディングカード(又はそのセット)のハッシュ値)を含む非代替性トークンを生成し、ブロックチェーンに記録する処理と、上記非代替性トークンのトランザクションID、及び、購入の対象となったデジタルトレーディングカード(又はそのセット)を示すアドレス情報をユーザーに対して通知する処理とが含まれる。 Each of the plurality of shop servers 13 is a server that performs sales processing for selling digital trading cards to users assigned by the shop control server 11 . This sales process includes a process of generating a website including an image of the digital trading card (or a set thereof) to be sold and transmitting it to the user terminal 3, a process of accepting a purchase application from the user terminal 3, and a process of accepting a purchase application. Address information of the user who made the purchase (e.g., the user's wallet address) and address information indicating the digital trading card (or set) that was the subject of the purchase (e.g., the hash value of the digital trading card (or set) ) and record it on the blockchain, the transaction ID of the non-fungible token, and the address information indicating the digital trading card (or set) that was the target of purchase. and processing to notify to.

図4(a)、図4(b)、及び図5はそれぞれ、データベース12に記憶されるユーザーテーブルT1、ユーザーキューT2、ショップリストT3を示す図である。以下、これらの図を参照しながら、ユーザーテーブルT1、ユーザーキューT2、ショップリストT3それぞれの構成について、詳しく説明する。 4A, 4B, and 5 are diagrams showing the user table T1, user queue T2, and shop list T3, respectively, stored in the database 12. FIG. The configuration of each of the user table T1, user queue T2, and shop list T3 will be described in detail below with reference to these figures.

まずユーザーテーブルT1は、図4(a)に示すように、ユーザーIDごとに、パスワード、セッションID、入場状態、及び経過時間を記憶するよう構成される。ユーザーIDは、オンラインショッピングシステム1のユーザーに対して一意に割り当てられる識別情報である。パスワードは、ユーザーがフロントエンドサーバ10にログインする際の認証のために利用される。 First, as shown in FIG. 4A, the user table T1 is configured to store passwords, session IDs, entry states, and elapsed times for each user ID. A user ID is identification information uniquely assigned to a user of the online shopping system 1 . The password is used for authentication when the user logs into the front-end server 10. FIG.

セッションIDは、通信中のユーザーを識別するための識別情報である。図4には「ID1」「ID2」などと記載しているが、実際のセッションIDは、より長いランダムな文字列によって構成される。フロントエンドサーバ10は、ログイン時に新たなセッションIDを付与し、ログインしたユーザーのユーザーIDと対応付けてユーザーテーブルT1に格納し、ログアウト時に削除する。ユーザーがログインしている間、このセッションIDはユーザー端末3とオンラインショッピングシステム1内の各サーバとの間で送受信されるメッセージの中に配置され、メッセージの送信元及び送信先を識別するために使用される。 A session ID is identification information for identifying a user during communication. Although "ID1", "ID2", etc. are described in FIG. 4, the actual session ID is composed of a longer random character string. The front-end server 10 assigns a new session ID when logging in, stores it in the user table T1 in association with the user ID of the logged-in user, and deletes it when logging out. While the user is logged in, this session ID is placed in messages sent and received between the user terminal 3 and each server in the online shopping system 1, and is used to identify the source and destination of the message. used.

入場状態は、ユーザーがいずれかのショップサーバ13に入場しているか否かを示すデータであり、「待ち」「予約」「入場」「退場」の各状態を含んで構成される。「待ち」は、ユーザーがユーザーキューT2内に配置されている状態である。「予約」は、ショップサーバ13に入場できる状態になったが、まだ入場処理が完了していない状態である。「入場」は、ユーザーがショップサーバ13に入場している状態である。ショップサーバ13は、この「入場」状態にあるユーザーに対して、上述した販売処理を実行する。「退場」は、ユーザーがショップサーバ13から退場した後の状態である。 The entry state is data indicating whether or not the user has entered any of the shop servers 13, and includes each state of "waiting", "reservation", "entering", and "exiting". "Waiting" is a state in which the user is placed in the user queue T2. "Reservation" is a state in which entry to the shop server 13 is possible, but entry processing has not yet been completed. “Entrance” is a state in which the user has entered the shop server 13 . The shop server 13 executes the above-described sales processing for users in this "entered" state. “Exit” is the state after the user leaves the shop server 13 .

経過時間は、入場状態が「予約」又は「入場」状態になってからの経過時間である。ショップ制御サーバ11は、ユーザーの入場状態を「予約」又は「入場」の状態に設定したタイミングで経過時間の計時を開始し、所定時間が経過したときに、ユーザーの入場状態を強制的に「退場」に書き換える処理を行う。この書き換えの詳細については、後述する。以下では、「予約」に対応する上記所定時間を「最大猶予時間」と称し、「入場」に対応する上記所定時間を「購入制限時間」と称する。最大猶予時間と購入制限時間とは同じ値であってもよいし、互いに異なる値であってもよい。 The elapsed time is the time that has elapsed since the entry status changed to "reservation" or "admission". The shop control server 11 starts counting the elapsed time at the timing when the user's entry state is set to "reservation" or "entered", and when a predetermined time elapses, the user's entry state is forcibly changed to " Perform processing to rewrite to "Exit". The details of this rewriting will be described later. Hereinafter, the predetermined time corresponding to "reservation" is referred to as "maximum grace period", and the predetermined time corresponding to "admission" is referred to as "purchase limit time". The maximum grace period and the purchase time limit may be the same value, or may be different values.

次にユーザーキューT2は、図4(b)に示すように、1以上のユーザーを格納可能に構成された先入れ先出し方式の記憶部である。ユーザーキューT2に格納する具体的な情報はユーザーを特定できる情報であれば特に限定されず、図4(b)に示すようにセッションIDを格納することとしてもよいし、ユーザーIDを格納することとしてもよい。 As shown in FIG. 4B, the user queue T2 is a first-in, first-out storage unit capable of storing one or more users. Specific information to be stored in the user queue T2 is not particularly limited as long as it is information that can identify a user. As shown in FIG. may be

次にショップリストT3は、図5に示すように、ショップ番号ごとに、有効状態、利用状態、及び、セッションIDを記憶するよう構成される。ショップ番号は、各ショップサーバ13に対して一意に割り当てられる識別情報である。セッションIDには、そのショップサーバ13に入場中又は予約中のユーザーのセッションIDが格納される。 Next, the shop list T3 is configured to store the validity status, usage status, and session ID for each shop number, as shown in FIG. The shop number is identification information uniquely assigned to each shop server 13 . The session ID stores the session ID of the user who is entering the shop server 13 or making a reservation.

有効状態は、ショップサーバ13がユーザーの入場を受け入れるか否かを示すデータであり、「有効」「無効」の各状態を含んで構成される。ショップ制御サーバ11は、複数のショップサーバ13のうち、実際に利用するもの(すなわち、ユーザーキューT2に格納されているユーザーに対する処理を実行させるもの)の有効状態を「有効」とし、利用しないものの有効状態を「無効」に設定する。 The valid state is data indicating whether or not the shop server 13 accepts the entry of the user, and includes the respective states of "valid" and "invalid". Of the plurality of shop servers 13, the shop control server 11 sets the validity status of the ones that are actually used (that is, the ones that cause the processing for the user stored in the user queue T2 to be executed) to be "valid", and the ones that are not to be used. Set the enabled state to "disabled".

利用状態は、有効状態が「有効」であるショップサーバ13の利用状況を示すデータであり、「空き」「入場中」「予約中」の各状態を含んで構成される。「空き」は、入場中又は予約中のユーザーがおらず、ショップサーバ13が利用されていない状態である。「入場中」は、入場しているユーザーがいる状態である。「予約中」は、特定のユーザが入場できる状態になったが、まだ入場処理が完了していない状態である。 The usage status is data indicating the usage status of the shop server 13 whose valid status is "valid", and includes the statuses of "empty", "entering", and "reserved". "Vacant" is a state in which there is no user entering or making a reservation, and the shop server 13 is not being used. "Entering" is a state in which there is a user who is entering. "Under reservation" is a state in which a specific user can enter, but the entry process has not yet been completed.

図6は、行列最適化システムとしてのショップ制御サーバ11が行う処理の概要を説明する図である。以下、この図6を参照して本発明の概要を説明した後、図7~図9を参照して、本発明にかかる処理を具体的に説明する。 FIG. 6 is a diagram for explaining an outline of processing performed by the shop control server 11 as the queue optimization system. Hereinafter, after the outline of the present invention will be described with reference to FIG. 6, the processing according to the present invention will be specifically described with reference to FIGS. 7 to 9. FIG.

図6に示すように、オンラインショッピングシステム1は、複数のショップを含んで構成される。各ショップは、図2に示したショップサーバ13と一対一に対応しており、商品としてのデジタルトレーディングカードのセットMをユーザーに対して販売する役割を担っている。 As shown in FIG. 6, the online shopping system 1 includes a plurality of shops. Each shop has a one-to-one correspondence with the shop server 13 shown in FIG. 2, and has a role of selling a set M of digital trading cards as a product to users.

ショップ制御サーバ11は、ユーザーキューT2に格納されているユーザーの数(以下「待ち人数」という)に基づいて、ユーザーキューT2に格納されているユーザーの並行処理数を決定し、決定した並行処理数に基づいて、ユーザーキューT2に格納されているユーザーに対する処理(具体的には、デジタルトレーディングカードのセットMの販売処理)を複数のショップの一部又は全部に実行させるよう構成される。より具体的には、ショップ制御サーバ11は、決定した並行処理数に基づいて複数のショップの一部又は全部を選択し、選択した1以上のショップに、ユーザーキューT2に格納されているユーザーに対する処理を実行させる。 The shop control server 11 determines the parallel processing number of users stored in the user queue T2 based on the number of users stored in the user queue T2 (hereinafter referred to as "waiting number"), and the determined parallel processing Based on the number, it is configured to cause some or all of the plurality of shops to execute the processing for the users stored in the user queue T2 (specifically, the processing of selling the set M of digital trading cards). More specifically, the shop control server 11 selects some or all of the plurality of shops based on the determined number of parallel processes, and sends to the selected one or more shops for users stored in the user queue T2. Let the process run.

図示した「オープン」「クローズ」はそれぞれ、図5に示したショップリストT3における有効状態の「有効」「無効」に対応している。ショップ制御サーバ11は、決定した並行処理数に基づいてショップリストT3内の有効状態を制御することにより、ユーザーキューT2に格納されているユーザーに対する処理を実行させるショップの選択を行う。 The illustrated "open" and "closed" correspond to the valid states of "valid" and "invalid" in the shop list T3 shown in FIG. 5, respectively. The shop control server 11 selects a shop to execute the process for the user stored in the user queue T2 by controlling the valid state in the shop list T3 based on the determined number of parallel processes.

各ショップに同時に入場できるユーザーは1人だけであり、「オープン」しているショップの数は、並行処理できるユーザーの数を意味している。したがって、上述した購入制限時間をtとし、待ち人数をm、オープンしているショップの数をSとすると、ユーザーキューT2の最後尾にいるユーザーの最大待ち時間は(m-1)・t/S+tとなる。ショップ制御サーバ11は、この最大待ち時間が適正な値(以下「適正待ち時間t」という)に等しくなるように、以下の式(1)に従って、ユーザーキューT2に格納されているユーザーの並行処理数(すなわち、オープンするショップの数S)を決定する。なお、式(1)により算出されるショップ数Sが整数にならない場合には、小数点以下を切り上げることによってショップ数Sを決定すればよい。小数点以下の四捨五入や切り捨てによってショップ数Sを決定してもよい。
=(m-1)・t/(t-t) ・・・(1)
Only one user can enter each shop at a time, and the number of "open" shops means the number of users that can be processed in parallel. Therefore, if the above-described purchase limit time is tL , the number of people waiting is m, and the number of open shops is SA , the maximum waiting time of the user at the end of the user queue T2 is (m-1). tL / SA + tL . The shop control server 11, according to the following formula (1), so that this maximum waiting time is equal to an appropriate value (hereinafter referred to as "appropriate waiting time t W ") Determine the number of transactions (ie, the number of shops S A to open). If the number of shops S A calculated by the formula (1) does not become an integer, the number of shops S A may be determined by rounding up to the nearest whole number. The number of shops SA may be determined by rounding off or truncating after the decimal point.
S A = (m−1)·t L /(t W −t L ) (1)

ショップ制御サーバ11がこうして並行処理数を定期的に決定し、決定した並行処理数に従って販売処理を実行させるショップサーバ13の数を制御することにより、ユーザーキューT2に格納されているユーザーの待ち時間を適正な値に調節することが可能になる。したがって、アクセス中のユーザー数が多くてもユーザーの離脱を招くことなく、購入意欲の増進効果を得ることが可能になる。 The shop control server 11 thus periodically determines the number of parallel processes, and controls the number of shop servers 13 that execute sales processing according to the determined number of parallel processes, thereby reducing the waiting time of the users stored in the user queue T2. can be adjusted to an appropriate value. Therefore, even if there are a large number of users who are accessing the site, it is possible to obtain the effect of increasing the willingness to purchase without causing the withdrawal of the users.

図7及び図8は、オンラインショッピングシステム1内の各サーバによって実行される処理を示すシーケンス図である。初めに図7に示すように、ユーザーがユーザー端末3を操作することにより、ユーザー端末3からフロントエンドサーバ10に対してログイン要求が送信される(ステップS1)。このログイン要求には、図4に示したユーザーID及びパスワードの組み合わせが含まれる。 7 and 8 are sequence diagrams showing processes executed by each server in the online shopping system 1. FIG. First, as shown in FIG. 7, when the user operates the user terminal 3, a login request is transmitted from the user terminal 3 to the front-end server 10 (step S1). This login request includes the combination of the user ID and password shown in FIG.

ログイン要求を受け付けたフロントエンドサーバ10は、その中に含まれるユーザーID及びパスワードの組み合わせがユーザーテーブルT1内に存在しているか否かを判定する。その結果、存在していないと判定したフロントエンドサーバ10は、ユーザー端末3にログインNGを返し、処理を終了する。一方、存在していると判定したフロントエンドサーバ10は、当該ユーザーに新たなセッションIDを付与してユーザーテーブルT1に保持する(ステップS2)とともに、ユーザー端末3に返送する(ステップS3)。このセッションIDは、この後、ユーザー端末3とオンラインショッピングシステム1内の各サーバとの間で送受信されるメッセージの中に配置され、メッセージの送信元及び送信先を識別するために使用される。 The front-end server 10 that has received the login request determines whether or not the combination of the user ID and password contained therein exists in the user table T1. As a result, the front-end server 10, which is determined not to exist, returns login NG to the user terminal 3, and terminates the process. On the other hand, the front-end server 10, which has determined to exist, assigns a new session ID to the user, holds it in the user table T1 (step S2), and returns it to the user terminal 3 (step S3). This session ID is then placed in messages sent and received between the user terminal 3 and each server in the online shopping system 1, and is used to identify the source and destination of the message.

続いて、ログインしたユーザがショップへのアクセスを要求すると(ステップS4)、フロントエンドサーバ10からショップ制御サーバ11に対し、入場リクエストが送信される(ステップS5)。この入場リクエストを受け付けたショップ制御サーバ11は、当該ユーザーをユーザーキューT2の末尾に追加するとともに(ステップS6)、ユーザーテーブルT1において当該ユーザーの入場状態を「待ち」に遷移させる(ステップS7)。そして、フロントエンドサーバ10を介し、待ち人数及び待ち時間をユーザー端末3に通知する(ステップS8)。こうして通知される待ち人数は、この時点でユーザーキューT2に格納されているユーザーの数(上述した待ち人数m)であり、待ち時間は、上述した最大待ち時間(m-1)・t/S+tとなる。Subsequently, when the logged-in user requests access to the shop (step S4), an entry request is transmitted from the front end server 10 to the shop control server 11 (step S5). The shop control server 11 that receives this entry request adds the user to the end of the user queue T2 (step S6), and changes the entry status of the user to "waiting" in the user table T1 (step S7). Then, the number of people waiting and the waiting time are notified to the user terminal 3 via the front end server 10 (step S8). The number of waiting people notified in this way is the number of users stored in the user queue T2 at this time (the number of waiting people m described above), and the waiting time is the maximum waiting time (m−1)·t L / S A +t L .

ここで、フロントエンドサーバ10は、ステップS8の通知の際、m人のユーザーが行列している様子を表す画像又は3Dデータをユーザー端末3に送信することとしてもよい。こうすることでユーザーは、待ち人数及び待ち時間を視覚的に体感することが可能になる。 Here, the front-end server 10 may transmit an image or 3D data representing m users queuing to the user terminal 3 when making the notification in step S8. This allows the user to visually experience the number of people waiting and the waiting time.

次にショップ制御サーバ11は、待ち時間を最適化するための行列最適化処理を実行する(ステップS9)。なお、図7ではステップS8の後ろに行列最適化処理を配置しているが、行列制御処理はタイマーによって定期的に起動される処理である。 Next, the shop control server 11 executes queue optimization processing for optimizing the waiting time (step S9). Although the matrix optimization process is arranged after step S8 in FIG. 7, the matrix control process is periodically activated by a timer.

図9は、ステップS9で実行される行列最適化処理の詳細を示すフロー図である。同図に示すように、ショップ制御サーバ11はまず、ユーザーキューT2から待ち人数mを取得し(ステップS40)、取得した待ち人数mと、データベース12内に予め格納される購入制限時間t及び適正待ち時間tとに基づいて、オープンすべきショップの数を示す適正ショップ数Sを算出する(ステップS41)。具体的には、上記式(1)を用いて、適正ショップ数Sの算出を行う。FIG. 9 is a flowchart showing the details of the matrix optimization process executed in step S9. As shown in the figure, the shop control server 11 first acquires the number of people waiting m from the user queue T2 (step S40). Based on the appropriate waiting time tW , the appropriate number of shops SA indicating the number of shops to be opened is calculated (step S41). Specifically, the appropriate number of shops SA is calculated using the above formula (1).

続いてショップ制御サーバ11は、ショップリストT3から、有効状態が「有効」となっているショップサーバ13の数(有効ショップ数S)を取得する(ステップS42)。そして、取得した有効ショップ数Sと、ステップS41で算出した適正ショップ数Sとを比較する(ステップS43)。Subsequently, the shop control server 11 acquires the number of shop servers 13 whose validity status is "valid" (the number of valid shops S C ) from the shop list T3 (step S42). Then, the obtained number of effective shops SC and the appropriate number of shops SA calculated in step S41 are compared (step S43).

比較の結果、適正ショップ数Sが有効ショップ数Sより小さいと判定したショップ制御サーバ11は、「有効」状態となっているS個のショップサーバ13の中からS-S個のショップサーバ13を選択し(ステップS44)、ショップリストT3において、選択したショップサーバ13の有効状態を「無効」に変更する(ステップS45)。なお、ステップS44の選択では、ショップリストT3内に記憶されるショップ番号の大きいものから順に選択することとすればよい。As a result of the comparison, the shop control server 11 that has determined that the number of appropriate shops S A is smaller than the number of effective shops S C selects S C −S A out of the S C shop servers 13 in the “effective” state. is selected (step S44), and the valid state of the selected shop server 13 is changed to "invalid" in the shop list T3 (step S45). In the selection in step S44, the shop numbers stored in the shop list T3 may be selected in descending order.

一方、ステップS43において適正ショップ数Sが有効ショップ数Sより大きいと判定したショップ制御サーバ11は、「無効」状態となっているN-S個のショップサーバ13の中からS-S個のショップサーバ13を選択し(ステップS46)、ショップリストT3において、選択したショップサーバ13の有効状態を「有効」に変更する(ステップS47)。ただし、Nは、ショップリストT3内に記憶されるショップサーバ13の総数である。ステップS46の選択では、ショップリストT3内に記憶されるショップ番号の小さいものから順に選択することとすればよい。また、NがSよりも小さい場合には、「無効」状態となっているすべてのショップサーバ13を選択することとすればよい。On the other hand, the shop control server 11 that has determined in step S43 that the number of appropriate shops S A is greater than the number of valid shops S C selects S A from among the N S −S C shop servers 13 in the “invalid” state. - SC shop servers 13 are selected (step S46), and the valid state of the selected shop server 13 is changed to "valid" in the shop list T3 (step S47). However, NS is the total number of shop servers 13 stored in the shop list T3. In the selection in step S46, the shop numbers stored in the shop list T3 may be selected in ascending order. Also, if N S is smaller than S A , all the shop servers 13 in the "invalid" state should be selected.

ステップS45又はステップS47を終了した場合、及び、ステップS43において適正ショップ数Sが有効ショップ数Sに等しいと判定した場合のショップ制御サーバ11は、次に、上述した最大猶予時間又は購入制限時間が経過したユーザーの入場状態を強制的に「退場」に書き換える処理を行う(ステップS48,S49)。When step S45 or step S47 is completed, and when it is determined in step S43 that the number of appropriate shops S A is equal to the number of valid shops S C , the shop control server 11 next determines whether the maximum grace period or purchase limit A process of forcibly rewriting the entry state of the user whose time has passed to "exit" is performed (steps S48 and S49).

具体的に説明すると、ショップ制御サーバ11は、まず初めにユーザーテーブルT1を参照することによって、「予約」の状態となってからの経過時間が所定の最大猶予時間を超えたユーザーの有無を確認する。そしてそのようなユーザーが存在している場合に、ショップ制御サーバ11は、そのユーザーをユーザーキューT2から削除し、そのユーザーの入場状態を「退場」に変更し、そのユーザーの入場が予約された状態となっているショップサーバ13の利用状態を「空き」に変更する(ステップS48)。これにより、ユーザーキューT2内の次のユーザーをショップサーバ13に入場させることが可能になる。 More specifically, the shop control server 11 first refers to the user table T1 to check whether there is a user whose elapsed time since entering the "reservation" state has exceeded a predetermined maximum grace period. do. If such a user exists, the shop control server 11 deletes the user from the user queue T2, changes the entry status of the user to "exit", and confirms that the entry of the user has been reserved. The usage state of the shop server 13 in the state is changed to "empty" (step S48). This allows the next user in the user queue T2 to enter the shop server 13. FIG.

また、ショップ制御サーバ11は、ユーザーテーブルT1を参照することによって、ショップサーバ13に入場してからの経過時間が所定の購入制限時間を超えたユーザーの有無を確認する。そしてそのようなユーザーが存在している場合に、ショップ制御サーバ11は、そのユーザーをショップサーバ13から退場させるとともに、そのショップサーバ13の利用状態を「空き」に変更し、さらに、そのユーザーの入場状態を「退場」に変更する(ステップS49)。これにより、ユーザーキューT2内の次のユーザーをショップサーバ13に入場させることが可能になる。なお、購入手続きの途中で退場させられることのないよう、ある程度まで購入の手続きが進んでいるユーザーについては、ステップS49を実行しないこととしてもよい。 The shop control server 11 also refers to the user table T1 to confirm whether or not there is a user whose elapsed time since entering the shop server 13 exceeds a predetermined purchase limit time. If such a user exists, the shop control server 11 causes the user to leave the shop server 13, changes the usage status of the shop server 13 to "empty", The entry state is changed to "exit" (step S49). This allows the next user in the user queue T2 to enter the shop server 13. FIG. It should be noted that step S49 may not be executed for a user whose purchase procedure has progressed to a certain extent so as not to be forced out in the middle of the purchase procedure.

図7に戻る。行列最適化処理を実行したショップ制御サーバ11は、有効状態が「有効」であり、かつ、利用状態が「空き」であるショップサーバ13(以下「空きショップ」という)が発生したか否かを判定する(ステップS10)。そして空きショップが発生したと判定した場合、ショップ制御サーバ11は、そのショップサーバ13をユーザーキューT2の先頭にいるユーザーに割り当て(ステップS11)、ユーザーテーブルT1においてそのユーザーの入場状態を「予約」に遷移させるとともに(ステップS12)、ショップリストT3において、割り当てたショップの利用状態を「予約中」に遷移させる(ステップS13)。また、当該ユーザーのユーザー端末3に対し、フロントエンドサーバ10を介し、入場可能な状態になったことを示すステータス更新通知をユーザー端末3に送信する(ステップS14)。このときフロントエンドサーバ10は、そのユーザー端末3で実行中のブラウザ又はアプリ内において、購入画面を有効化する処理を行う(ステップS15)。 Return to FIG. The shop control server 11 that has executed the queue optimization process determines whether or not there is a shop server 13 (hereinafter referred to as an "empty shop") whose validity status is "valid" and whose usage status is "vacant". Determine (step S10). When it is determined that an empty shop has occurred, the shop control server 11 assigns the shop server 13 to the user at the head of the user queue T2 (step S11), and sets the entry state of the user to "reserved" in the user table T1. (step S12), and in the shop list T3, the usage state of the allocated shop is changed to "reserved" (step S13). Also, a status update notification indicating that entry is possible is sent to the user terminal 3 of the user via the front end server 10 (step S14). At this time, the front-end server 10 performs a process of activating the purchase screen within the browser or application being executed on the user terminal 3 (step S15).

図8に移り、ステップS15で有効化した購入画面にユーザーがアクセスすると(ステップS20)、フロントエンドサーバ10からショップ制御サーバ11に対し、再び入場リクエストが送信される(ステップS21)。この入場リクエストを受け付けたショップ制御サーバ11は、ユーザーテーブルT1において当該ユーザーの入場状態を「入場」に遷移させるとともに(ステップS22)、ショップリストT3において、当該ユーザーが入場したショップサーバ13の利用状態を「入場中」に遷移させる(ステップS23)。図示していないが、ショップ制御サーバ11は、ステップS22,S23とともに、当該ユーザーをユーザーキューT2から削除する処理も行う。 Moving on to FIG. 8, when the user accesses the purchase screen activated in step S15 (step S20), the front end server 10 sends an entry request again to the shop control server 11 (step S21). The shop control server 11 that has received this entry request changes the entry state of the user to "entered" in the user table T1 (step S22), and also changes the usage state of the shop server 13 into which the user entered in the shop list T3. to "entering" (step S23). Although not shown, the shop control server 11 also performs processing for deleting the user from the user queue T2 along with steps S22 and S23.

続いてショップ制御サーバ11は、フロントエンドサーバ10を介して、ショップサーバ13へのリダイレクト指示をユーザー端末3に送信する(ステップS24)。このリダイレクト指示に従ってユーザー端末3がショップサーバ13にアクセスすると(ステップS25)、ショップサーバ13とユーザー端末3との間で所定の販売処理が実行される(ステップS26)。販売処理の詳細は、上述したとおりである。 Subsequently, the shop control server 11 transmits a redirect instruction to the shop server 13 to the user terminal 3 via the front end server 10 (step S24). When the user terminal 3 accesses the shop server 13 according to this redirect instruction (step S25), a predetermined sales process is executed between the shop server 13 and the user terminal 3 (step S26). The details of the sales process are as described above.

販売処理の中でユーザーが所定の購入確定操作を行うと(ステップS27)、ショップサーバ13は、退場リクエストをショップ制御サーバ11に送信する(ステップS28)。この退場リクエストを受け付けたショップ制御サーバ11は、ユーザーテーブルT1において、当該ショップサーバ13に入場していたユーザーの入場状態を「退場」に遷移させるとともに(ステップS29)、ショップリストT3において、当該ショップサーバ13の利用状態を「空き」に遷移させる(ステップS30)。その後、ショップ制御サーバ11は、フロントエンドサーバ10に対して購入完了を通知し(ステップS31)、フロントエンドサーバ10は、購入完了画面をユーザー端末3の画面に表示する(ステップS32)。 When the user performs a predetermined purchase confirmation operation during the sales process (step S27), the shop server 13 transmits an exit request to the shop control server 11 (step S28). The shop control server 11 that has received this exit request changes the entry state of the user who has entered the shop server 13 to "exit" in the user table T1 (step S29), The usage state of the server 13 is changed to "empty" (step S30). After that, the shop control server 11 notifies the front end server 10 of purchase completion (step S31), and the front end server 10 displays a purchase completion screen on the screen of the user terminal 3 (step S32).

ステップS32まで完了した状態では、ユーザーは、図7のステップS4に示したショップアクセス要求を再度実行することにより、ユーザーキューT2を経て再びショップサーバ13にアクセスすることができる。一方、ユーザーは、オンラインショッピングシステム1からログアウトすることもできる。この場合、ユーザー端末3からフロントエンドサーバ10に対し、ログアウト要求が送信される(ステップS33)。ログアウト要求を受け付けたフロントエンドサーバ10は、ログアウトを要求したユーザーに関してユーザーテーブルT1に記憶しているセッションIDを削除する(ステップS34)。この後、ユーザーが再びショップサーバ13にアクセスするためには、図7のステップS1に示したログイン要求を実行するところから始める必要がある。 After completion of step S32, the user can access the shop server 13 again through the user queue T2 by re-executing the shop access request shown in step S4 of FIG. On the other hand, the user can also log out from the online shopping system 1 . In this case, a logout request is transmitted from the user terminal 3 to the front-end server 10 (step S33). The front-end server 10 that has received the logout request deletes the session ID stored in the user table T1 for the user who requested the logout (step S34). After that, in order for the user to access the shop server 13 again, it is necessary to start from executing the login request shown in step S1 in FIG.

以上説明したように、本実施の形態によるオンラインショッピングシステム1によれば、待ち人数に基づいて、ユーザーキューT2に格納されているユーザーの並行処理数を制御することが可能になる。したがって、ユーザーの待ち時間を最適化することができるので、アクセス中のユーザー数が多くてもユーザーの離脱を招くことなく、バンドワゴン効果による購入意欲の増進効果を得ることが可能になる。 As described above, according to the online shopping system 1 according to the present embodiment, it is possible to control the parallel processing number of users stored in the user queue T2 based on the number of people waiting. Therefore, since the user's waiting time can be optimized, even if the number of users who are accessing is large, it is possible to obtain the effect of increasing the willingness to buy by the bandwagon effect without incurring the withdrawal of users.

すなわち、本実施の形態によるオンラインショッピングシステム1によれば、ユーザーに適切なサンクコストを体感してもらうことが可能になるので、購入できるタイミングで「せっかくだから」という思いをユーザーに抱かせることができ、したがって、購入意欲を増進させることが可能になる。 That is, according to the online shopping system 1 according to the present embodiment, it is possible for the user to experience an appropriate sunk cost. Therefore, it becomes possible to increase the willingness to purchase.

なお、データベース12に予め格納する必要のある適正待ち時間tの具体的な値は、オンラインショッピングシステム1やその他のオンラインショッピングシステムにおける購買者の購買履歴に基づき、適宜調整することが好ましい。こうするこどて、本発明による行列最適化システムを、より効果的に運用することが可能になる。The specific value of the proper waiting time tW , which must be stored in advance in the database 12, is preferably adjusted as appropriate based on the purchase history of the purchaser in the online shopping system 1 or other online shopping systems. By doing so, it becomes possible to operate the matrix optimization system according to the present invention more effectively.

以上、本発明の好ましい実施の形態について説明したが、本発明はこうした実施の形態に何等限定されるものではなく、本発明が、その要旨を逸脱しない範囲において、種々なる態様で実施され得ることは勿論である。 Although preferred embodiments of the present invention have been described above, the present invention is by no means limited to such embodiments, and the present invention can be implemented in various forms without departing from the gist thereof. is of course.

例えば、上記実施の形態では、デジタルトレーディングカードを販売するためのオンラインショッピングシステム1に本発明を適用する場合の例を説明したが、本発明は、他の種類のシステムにも好適に適用可能である。例えば、本発明は、チケットや電化製品など、デジタルトレーディングカード以外の商品を販売するオンラインショッピングシステムにも好適に適用可能である。また、本発明は、ゲームや証券取引などのオンライン上で完結するサービスを提供するシステム、又は、介護サービスなどオフラインの処理を含んで実行されるサービスの予約等を実行するシステムのように、ユーザーに対して所定のサービスを提供するシステムにも好適に適用可能である。 For example, in the above embodiment, an example of applying the present invention to the online shopping system 1 for selling digital trading cards has been described, but the present invention can also be suitably applied to other types of systems. be. For example, the present invention can be suitably applied to an online shopping system that sells products other than digital trading cards, such as tickets and electric appliances. In addition, the present invention can be applied to a system that provides services that are completed online, such as games and securities trading, or a system that executes reservations for services that include offline processing, such as nursing care services. It can also be preferably applied to a system that provides a predetermined service to

1 オンラインショッピングシステム
2 ネットワーク
3 ユーザー端末
10 フロントエンドサーバ
11 ショップ制御サーバ
12 データベース
13 ショップサーバ
100 コンピュータ
101 CPU
102 記憶装置
103 入力装置
104 出力装置
105 通信装置
M デジタルトレーディングカードのセット
m 待ち人数
適正ショップ数
有効ショップ数
T1 ユーザーテーブル
T2 ユーザーキュー
T3 ショップリスト
購入制限時間
適正待ち時間
1 Online Shopping System 2 Network 3 User Terminal 10 Front End Server 11 Shop Control Server 12 Database 13 Shop Server 100 Computer 101 CPU
102 Storage device 103 Input device 104 Output device 105 Communication device M Set of digital trading cards m Waiting number S A Appropriate number of shops S C Effective shop number T1 User table T2 User queue T3 Shop list t L Purchase limit time t W Appropriate waiting time

Claims (6)

ユーザー端末から商品の購入申し込みを受け付ける処理と、前記購入申し込みを送信した前記ユーザー端末のユーザーのアドレス情報、及び、該購入申し込みによる購入の対象となった前記商品を示す情報を含む非代替性トークンを生成してブロックチェーンに記録する処理とを含む前記商品の販売処理をそれぞれ実行可能に構成された複数の処理部に接続され、
それぞれユーザーに対して一意に割り当てられた識別情報である1以上のユーザーIDを格納可能に構成されたユーザーキューに格納されている前記ユーザーIDの数を取得し、
取得した前記ユーザーIDの数に基づいて、前記ユーザーキューの最後尾にいる前記ユーザーIDにより示されるユーザーの前記ユーザー端末に対し前記複数の処理部のいずれかによる前記販売処理が開始されるまでの待ち時間の最大値が所定の値に等しくなるように、前記複数の処理部のうち前記販売処理を実行させる処理部の数を示す並行処理数を決定し、
前記複数の処理部のうち、決定した前記並行処理数により示される数の処理部に前記販売処理を実行させる、
行列最適化システム。
A non-fungible token containing a process of accepting a product purchase application from a user terminal, address information of the user of the user terminal that sent the purchase application, and information indicating the product purchased by the purchase application. is connected to a plurality of processing units each configured to be capable of executing the sales process of the product, including the process of generating and recording in the blockchain,
Acquiring the number of user IDs stored in a user queue configured to store one or more user IDs , which are identification information uniquely assigned to each user ;
Based on the number of acquired user IDs , the time until the sales processing by one of the plurality of processing units is started for the user terminal of the user indicated by the user ID at the end of the user queue Determining a parallel processing number indicating the number of processing units that execute the sales processing among the plurality of processing units so that the maximum value of waiting time is equal to a predetermined value;
making the number of processing units indicated by the determined number of parallel processing out of the plurality of processing units execute the sales process ;
Matrix optimization system.
前記処理部が1つの前記ユーザーIDに対して前記販売処理を開始してから強制的に終了するまでの時間の制限値t 、及び、前記所定の値t 予め記憶するデータベースに接続され、
前記ユーザーキューに格納されている前記ユーザーIDの数と、前記制限値t と、前記並行処理数S とを用いて表される前記最大値(m-1)・t /S +t が前記所定の値t に等しくなるように前記並行処理数S を決定する、
請求項に記載の行列最適化システム。
The processing unit is connected to a database that stores in advance the limit value tL of the time from the start of the sales process to the forcible end of the sales process for one of the user IDs, and the predetermined value tW . ,
The maximum value (m−1)·t L /S A represented by using the number m of the user IDs stored in the user queue , the limit value t L , and the parallel processing number S A determining the parallelism S A such that +t L is equal to the predetermined value t W ;
A matrix optimization system according to claim 1 .
前記商品は、デジタルトレーティングカードであり、
前記商品を示す情報は、前記デジタルトレーティングカードのハッシュ値である、
請求項1又は2に記載の行列最適化システム
The product is a digital trading card,
The information indicating the product is a hash value of the digital trading card,
A matrix optimization system according to claim 1 or 2 .
前記ユーザーのアドレス情報は、前記ユーザーのウォレットアドレスである、
請求項1又は2に記載の行列最適化システム
the user's address information is the user's wallet address;
A matrix optimization system according to claim 1 or 2 .
ユーザー端末から商品の購入申し込みを受け付ける処理と、前記購入申し込みを送信した前記ユーザー端末のユーザーのアドレス情報、及び、該購入申し込みによる購入の対象となった前記商品を示す情報を含む非代替性トークンを生成してブロックチェーンに記録する処理とを含む前記商品の販売処理をそれぞれ実行可能に構成された複数の処理部に接続されたコンピュータが、それぞれユーザーに対して一意に割り当てられた識別情報である1以上のユーザーIDを格納可能に構成されたユーザーキューに格納されている前記ユーザーIDの数を取得するステップと、
前記コンピュータが、取得した前記ユーザーIDの数に基づいて、前記ユーザーキューの最後尾にいる前記ユーザーIDにより示されるユーザーの前記ユーザー端末に対し前記複数の処理部のいずれかによる前記販売処理が開始されるまでの待ち時間の最大値が所定の値に等しくなるように、前記複数の処理部のうち前記販売処理を実行させる処理部の数を示す並行処理数を決定するステップと、
前記コンピュータが、前記複数の処理部のうち、決定した前記並行処理数により示される数の処理部に前記販売処理を実行させるステップと、
を含む行列最適化方法。
A non-fungible token containing a process of accepting a product purchase application from a user terminal, address information of the user of the user terminal that sent the purchase application, and information indicating the product purchased by the purchase application. A computer connected to a plurality of processing units each configured to be able to execute the above-mentioned product sales processing, including the processing of generating and recording on the blockchain, each computer connected to a plurality of processing units, each with identification information uniquely assigned to the user obtaining the number of user IDs stored in a user queue configured to store one or more user IDs ;
The computer starts the sales processing by one of the plurality of processing units for the user terminal of the user indicated by the user ID at the end of the user queue, based on the number of the acquired user IDs . Determining a parallel processing number indicating the number of processing units to execute the sales processing among the plurality of processing units so that the maximum value of waiting time until sales processing is executed is equal to a predetermined value;
a step in which the computer causes, among the plurality of processing units, the number of processing units indicated by the determined parallel processing number to execute the sales process ;
Matrix optimization method including .
ユーザー端末から商品の購入申し込みを受け付ける処理と、前記購入申し込みを送信した前記ユーザー端末のユーザーのアドレス情報、及び、該購入申し込みによる購入の対象となった前記商品を示す情報を含む非代替性トークンを生成してブロックチェーンに記録する処理とを含む前記商品の販売処理をそれぞれ実行可能に構成された複数の処理部に接続されたコンピュータに、
それぞれユーザーに対して一意に割り当てられた識別情報である1以上のユーザーIDを格納可能に構成されたユーザーキューに格納されている前記ユーザーIDの数を取得するステップと、
取得した前記ユーザーIDの数に基づいて、前記ユーザーキューの最後尾にいる前記ユーザーIDにより示されるユーザーの前記ユーザー端末に対し前記複数の処理部のいずれかによる前記販売処理が開始されるまでの待ち時間の最大値が所定の値に等しくなるように、前記複数の処理部のうち前記販売処理を実行させる処理部の数を示す並行処理数を決定するステップと、
前記複数の処理部のうち、決定した前記並行処理数により示される数の処理部に前記販売処理を実行させるステップと、
を実行させるためのプログラム。
A non-fungible token containing a process of accepting a product purchase application from a user terminal, address information of the user of the user terminal that sent the purchase application, and information indicating the product purchased by the purchase application. to a computer connected to a plurality of processing units each configured to be able to execute the sales process of the product, including the process of generating and recording in the blockchain,
obtaining the number of user IDs stored in a user queue configured to store one or more user IDs , which are identification information uniquely assigned to each user ;
Based on the number of acquired user IDs , the time until the sales processing by one of the plurality of processing units is started for the user terminal of the user indicated by the user ID at the end of the user queue Determining a parallel processing number indicating the number of processing units to execute the sales processing among the plurality of processing units so that the maximum value of waiting time is equal to a predetermined value;
a step of causing the number of processing units indicated by the determined number of parallel processes to execute the sales process, out of the plurality of processing units ;
program to run the
JP2022555869A 2021-07-09 2022-06-22 Matrix optimization system, matrix optimization method, and program Active JP7288727B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2023083992A JP2023096186A (en) 2021-07-09 2023-05-22 Matrix optimization system, matrix optimization method, and program

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2021114654 2021-07-09
JP2021114654 2021-07-09
PCT/JP2022/024833 WO2023282058A1 (en) 2021-07-09 2022-06-22 Matrix optimization system, matrix optimization method, and program

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2023083992A Division JP2023096186A (en) 2021-07-09 2023-05-22 Matrix optimization system, matrix optimization method, and program

Publications (2)

Publication Number Publication Date
JPWO2023282058A1 JPWO2023282058A1 (en) 2023-01-12
JP7288727B1 true JP7288727B1 (en) 2023-06-08

Family

ID=84801511

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2022555869A Active JP7288727B1 (en) 2021-07-09 2022-06-22 Matrix optimization system, matrix optimization method, and program
JP2023083992A Pending JP2023096186A (en) 2021-07-09 2023-05-22 Matrix optimization system, matrix optimization method, and program

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2023083992A Pending JP2023096186A (en) 2021-07-09 2023-05-22 Matrix optimization system, matrix optimization method, and program

Country Status (2)

Country Link
JP (2) JP7288727B1 (en)
WO (1) WO2023282058A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006221516A (en) * 2005-02-14 2006-08-24 Kobe Steel Ltd Communication server setting value determining device, its program and its method
JP2012104062A (en) * 2010-11-12 2012-05-31 Japan Research Institute Ltd Atm management server, system and program
JP2015036870A (en) * 2013-08-13 2015-02-23 株式会社ドワンゴモバイル Application reception system, application reception program and terminal device
JP2016143312A (en) * 2015-02-04 2016-08-08 沖電気工業株式会社 Prediction system, prediction method, and program

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006221516A (en) * 2005-02-14 2006-08-24 Kobe Steel Ltd Communication server setting value determining device, its program and its method
JP2012104062A (en) * 2010-11-12 2012-05-31 Japan Research Institute Ltd Atm management server, system and program
JP2015036870A (en) * 2013-08-13 2015-02-23 株式会社ドワンゴモバイル Application reception system, application reception program and terminal device
JP2016143312A (en) * 2015-02-04 2016-08-08 沖電気工業株式会社 Prediction system, prediction method, and program

Also Published As

Publication number Publication date
JPWO2023282058A1 (en) 2023-01-12
JP2023096186A (en) 2023-07-06
WO2023282058A1 (en) 2023-01-12

Similar Documents

Publication Publication Date Title
JP5956674B2 (en) Sending recommendation information about business objects
RU2473179C2 (en) System and method to control icon on platform of instantaneous messaging
WO2017084245A1 (en) Method and apparatus for processing purchase request
JP5756138B2 (en) Product sales apparatus and product sales method
CN112200450A (en) Customer service distribution method, device and medium
JP2013521550A (en) System and processing method for managing sales of one or more items
US11606349B2 (en) Authentication token refresh
TW200926034A (en) Purchasing operation system, purchasing operation processing method and purchasing operation processing program
US20140067582A1 (en) Auction bid incentives based on time as highest bidder
EP3382618A1 (en) Method of evaluation processing, information processing apparatus and program
JP7288727B1 (en) Matrix optimization system, matrix optimization method, and program
JP2020095455A (en) Human resource intermediation support device, human resource intermediation support method, and program
US20220051294A1 (en) Systems and methods for identifying internet users in real-time with high certainty
JP2009211147A (en) Service providing system and apparatus
US20190340653A1 (en) Method and System for Personalization of Advertisement Content
US11007443B2 (en) Method for performing game by using activity count
JP7065811B2 (en) Electronic item lottery system, lottery program and lottery method
JP7485842B1 (en) Information processing device and information processing method
JP2016139384A (en) Agency intervention type article selling system using network
JP4751693B2 (en) Order management system and computer program and method for realizing the same
JP2020187449A (en) Random type prize providing device and random type prize providing system using the same
JP5701029B2 (en) Winning probability determining device and winning probability determining method
JP7519519B1 (en) Information processing device and information processing method
KR101179920B1 (en) Method and System for On-Line Auction Service using Communication Network
JP5155384B2 (en) Transaction integration apparatus and method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220915

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20220915

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221227

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230206

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230425

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230522

R150 Certificate of patent or registration of utility model

Ref document number: 7288727

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150