JP7220880B1 - Systems, methods, and computer readable media for data access - Google Patents

Systems, methods, and computer readable media for data access Download PDF

Info

Publication number
JP7220880B1
JP7220880B1 JP2022115919A JP2022115919A JP7220880B1 JP 7220880 B1 JP7220880 B1 JP 7220880B1 JP 2022115919 A JP2022115919 A JP 2022115919A JP 2022115919 A JP2022115919 A JP 2022115919A JP 7220880 B1 JP7220880 B1 JP 7220880B1
Authority
JP
Japan
Prior art keywords
request
user
endpoint
delay time
data access
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
JP2022115919A
Other languages
Japanese (ja)
Other versions
JP2024013660A (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.)
17Live Japan Inc
Original Assignee
17Live Japan 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 17Live Japan Inc filed Critical 17Live Japan Inc
Priority to JP2022115919A priority Critical patent/JP7220880B1/en
Priority to JP2023008438A priority patent/JP2024014683A/en
Application granted granted Critical
Publication of JP7220880B1 publication Critical patent/JP7220880B1/en
Priority to US18/313,098 priority patent/US20240031454A1/en
Publication of JP2024013660A publication Critical patent/JP2024013660A/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/28Timers or timing mechanisms used in protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】より効率的なリソース分配してを実現し、サーバダウンを防止することができるデータアクセスのためのシステム、方法及びコンピュータ可読媒体を提供する。【解決手段】データアクセスのための方法は、要求を受信する工程と、当該要求に対応するエンドポイントのステータスパラメータを受信する工程と、期間内に当該要求を受信した回数を受信する工程と、当該エンドポイントの当該ステータスパラメータまたは当該期間内に当該要求を受信した回数に基づき、当該要求を送信するための遅延時間長さを決定する工程と、を含む。【選択図】図4A system, method, and computer-readable medium for data access that can realize more efficient resource distribution and prevent server down. A method for data access includes the steps of receiving a request, receiving a status parameter of an endpoint corresponding to the request, receiving a number of times the request was received within a time period, and determining an amount of delay time for sending the request based on the status parameter of the endpoint or the number of times the request is received within the time period. [Selection drawing] Fig. 4

Description

本発明は、データアクセスに関するものであり、特にサーバによるデータアクセスに関するものである。 The present invention relates to data access, and more particularly to data access by a server.

インターネットを介したデータアクセスには、通常、ユーザが使用するユーザ端末(スマートフォン、タブレット、コンピュータなど)、当該ユーザ端末上で動作するアプリケーション(またはアプリケーションソフトウェア)、および当該ユーザ端末と通信する当該アプリケーションのサーバ(またはアプリケーションサーバ)などが関与する。 Data access over the Internet typically involves a user terminal (smartphone, tablet, computer, etc.) used by the user, an application (or application software) running on the user terminal, and the application communicating with the user terminal. A server (or application server) or the like is involved.

ユーザは、クリック、タップ、またはスクロールの動作を伴うことがあるアプリケーションのユーザインターフェースを通じて、データ要求を開始することができる。そして当該要求は、当該ユーザ端末から当該サーバに送信される。最後に、当該サーバは当該要求に応じた応答を当該ユーザ端末に送信し、データアクセスが完了する。 A user can initiate a data request through the application's user interface, which may involve clicking, tapping, or scrolling actions. The request is then transmitted from the user terminal to the server. Finally, the server sends a response to the request to the user terminal, completing the data access.

当該サーバにアクセスする当該ユーザの増加に伴い、当該サーバを安定した状態に保ち、データアクセス中のユーザ体験を維持することが重要となる。 As the number of such users accessing the server increases, it becomes important to keep the server stable and maintain user experience during data access.

本発明の一実施態様による方法は、1以上のコンピュータによって実行されるデータアクセスのための方法であって、要求を受信する工程と、当該要求に対応するエンドポイントのステータスパラメータを受信する工程と、期間内に当該要求を受信した回数を受信する工程と、当該エンドポイントの当該ステータスパラメータまたは当該期間内に当該要求を受信した回数に基づき、当該要求を送信するための遅延時間長さを決定する工程と、を含む。 A method according to one embodiment of the invention is a method for data access performed by one or more computers comprising the steps of: receiving a request; and receiving a status parameter of an endpoint corresponding to the request. , receiving the number of times the request is received within the time period; and determining the amount of delay time for sending the request based on the status parameter of the endpoint or the number of times the request is received within the time period. and

本発明の一実施態様によるシステムは、1以上のコンピュータプロセッサを含むデータアクセスのためのシステムであり、当該1以上のコンピュータプロセッサが、機械可読命令を実行して、要求を受信する工程と、当該要求に対応するエンドポイントのステータスパラメータを受信する工程と、期間内に当該要求を受信した回数を受信する工程と、当該エンドポイントの当該ステータスパラメータまたは当該期間内に当該要求を受信した回数に基づき、当該要求を送信するための遅延時間長さを決定する工程と、を実行する。 A system according to one embodiment of the present invention is a system for data access including one or more computer processors, the one or more computer processors executing machine-readable instructions to receive requests; receiving a status parameter of the endpoint corresponding to the request; receiving the number of times the request was received within the time period; and based on the status parameter of the endpoint or the number of times the request was received within the time period. , and determining the amount of delay time for sending the request.

本発明の一実施態様によるコンピュータ可読媒体は、データアクセスのためのプログラムを含む非一時的なコンピュータ可読媒体であって、当該プログラムが1以上のコンピュータに、要求を受信する工程と、当該要求に対応するエンドポイントのステータスパラメータを受信する工程と、期間内に当該要求を受信した回数を受信する工程と、当該エンドポイントの当該ステータスパラメータまたは当該期間内に当該要求を受信した回数に基づき、当該要求を送信するための遅延時間長さを決定する工程と、を実行させる。 A computer-readable medium according to one embodiment of the present invention is a non-transitory computer-readable medium containing a program for accessing data, the program instructing one or more computers to receive a request; receiving a status parameter of the corresponding endpoint; receiving the number of times the request was received within the time period; and determining a delay time length for sending the request.

従来のデータアクセス方法を示す例示的なフローチャートである。1 is an exemplary flow chart illustrating a conventional data access method; 本発明の一部の実施態様に基づく通信システムの概略図である。1 is a schematic diagram of a communication system according to some embodiments of the present invention; FIG. 本発明の一部の実施態様に基づくユーザ端末の例示的なブロック図である。1 is an exemplary block diagram of a user terminal according to some implementations of the present invention; FIG. 本発明の一部の実施態様に基づく例示的なフローチャートである。4 is an exemplary flow chart according to some embodiments of the present invention; 本発明の一部の実施態様に基づく例示的な時系列図である。FIG. 4 is an exemplary timeline diagram according to some implementations of the present invention; 本発明の一部の実施態様に基づく例示的なフローチャートである。4 is an exemplary flow chart according to some embodiments of the present invention; 本発明の一部の実施態様に基づくユーザ端末からサーバに要求を送信するための遅延時間長さを決定する例示的な基準を示すグラフである。4 is a graph showing exemplary criteria for determining the amount of delay time for sending a request from a user terminal to a server according to some embodiments of the present invention; 本発明の一部の実施態様に基づくユーザ端末からサーバに要求を送信するための遅延時間長さを決定する例示的な基準を示すグラフである。4 is a graph showing exemplary criteria for determining the amount of delay time for sending a request from a user terminal to a server according to some embodiments of the present invention; 本発明の一部の実施態様に基づくユーザ端末からサーバに要求を送信するための遅延時間長さを決定する例示的な基準を示すグラフである。4 is a graph showing exemplary criteria for determining the amount of delay time for sending a request from a user terminal to a server according to some embodiments of the present invention; 本発明の一部の実施態様に基づくユーザ端末からサーバに要求を送信するための遅延時間長さを決定する例示的な基準を示すグラフである。4 is a graph showing exemplary criteria for determining the amount of delay time for sending a request from a user terminal to a server according to some embodiments of the present invention; 要求テーブル118の一例である。It is an example of a request table 118 . エンドポイントステータステーブル112の一例である。1 is an example of an endpoint status table 112; ユーザステータステーブル114の一例である。It is an example of the user status table 114 . ユーザデータベース310の一例である。It is an example of a user database 310 . 本発明の一部の実施態様に基づく例示的なフローチャートである。4 is an exemplary flow chart according to some embodiments of the present invention;

従来のユーザ端末とサーバ間のデータアクセス方法は、いくつかの解決すべき課題を抱えている。 Conventional data access methods between user terminals and servers have several problems to be solved.

従来、ユーザ端末がユーザからデータの要求を受け取ると、当該ユーザ端末は直ちにサーバに当該要求を送信してデータを要求する。当該ユーザが短期間内に何度も同じ要求を開始すると、当該ユーザ端末は何度も同じ要求を当該サーバに送信することになり、当該サーバの負担/負荷が増加する。その結果、当該サーバの停止やデータアクセスの重大な遅延につながることがある。例えば、当該ユーザ端末のインターネット接続状態が良くない場合、当該ユーザは当該ユーザ端末での操作に対して応答の遅さを感じることがある。そのため、当該ユーザは更新を待つ間、ユーザインターフェース上の更新ボタンを何度もクリックすることがある。しかし、このような要求が繰り返されると、却ってアクセスプロセスの妨げになり、ユーザ体験の低下を招くことがある。場合によっては、ユーザからの度重なる要求は、当該サーバが他のユーザにデータアクセスを提供する能力または容量を低下させることさえある。 Conventionally, when a user terminal receives a request for data from a user, the user terminal immediately sends the request to the server for data. If the user initiates the same request many times within a short period of time, the user terminal will send the same request to the server many times, increasing the burden/burden on the server. This can result in server outages and significant delays in data access. For example, if the Internet connection status of the user terminal is not good, the user may feel slow response to operations on the user terminal. Therefore, the user may repeatedly click the update button on the user interface while waiting for the update. However, repeated requests like this can actually hinder the access process and degrade the user experience. In some cases, repeated requests from users may even reduce the server's ability or capacity to provide data access to other users.

従来、当該ユーザ端末は、データアクセスが導かれる先の情報を認識する手段を持たない。例えば、当該ユーザ端末は、当該要求に対応するエンドポイントの情報を知る手段を持たない。当該情報には、当該エンドポイントの負担(または負荷)、健全性、優先度、または重大度に関するステータスが含まれてもよい。このため、異なるエンドポイントに対応する異なる要求に対して、カスタマイズした方法で、または効率的な方法で、データアクセスを処理することができない。 Conventionally, such user terminals have no means of knowing the information to which data access is directed. For example, the user terminal has no means of knowing the endpoint information corresponding to the request. Such information may include the status of burden (or load), health, priority, or severity of the endpoint. As such, data access cannot be handled in a customized or efficient manner for different requests corresponding to different endpoints.

本発明は、当該ユーザ端末から当該サーバに要求を送信するタイミングを決定する方法及びシステムを開示する。当該送信タイミングは、当該ユーザ端末における当該要求の受信頻度によって決定されてもよい。当該送信タイミングは、当該要求に対応する当該エンドポイントのステータスによって決定されてもよい。当該送信タイミングは、当該要求を開始した当該ユーザの貢献度スコア(または貢献レベル)により決定されてもよい。したがって、当該要求を当該サーバに送信するための最適なタイミングを実現することができる。本発明の技術的な効果としては、サーバダウンの防止、データアクセスのカスタマイズした効率的な処理(効率的なリソース配分)などが挙げられる。 The present invention discloses a method and system for determining when to send a request from the user terminal to the server. The transmission timing may be determined by the reception frequency of the request at the user terminal. The timing of the transmission may be determined by the status of the endpoint corresponding to the request. The timing of the transmission may be determined by the contribution score (or contribution level) of the user who initiated the request. Therefore, optimal timing for sending the request to the server can be achieved. Technical effects of the present invention include prevention of server failure, customized efficient processing of data access (efficient resource allocation), and the like.

図1に、従来のデータアクセス方法を示す例示的なフローチャートを示す。 FIG. 1 shows an exemplary flow chart illustrating a conventional data access method.

工程S100において、当該ユーザ端末は、機能またはユーザインターフェース(UI)において、ユーザからの要求を受信する。例えば、当該ユーザは、当該ユーザ端末にインストールされたアプリケーションのUI上のボタンをクリックまたはタップすることにより、当該要求を開始してもよい。 At step S100, the user terminal receives a request from a user in a function or user interface (UI). For example, the user may initiate the request by clicking or tapping a button on the UI of an application installed on the user terminal.

工程S102において、当該ユーザ端末は、当該要求に対応するデータが存在するサーバに当該要求を送信する。 At step S102, the user terminal sends the request to the server where the data corresponding to the request resides.

工程S104において、当該サーバは、応答を当該ユーザ端末に送信する。当該応答には、当該ユーザ(または当該ユーザ端末上の当該アプリケーション)が要求したデータが含まれる。 At step S104, the server sends a response to the user terminal. The response contains the data requested by the user (or the application on the user terminal).

工程S106において、当該アプリケーション(または当該アプリケーションの機能)は、応答データにエラーが含まれているか否か、またはサーバの停止を示しているか否かをチェックする。「いいえ」の場合、フローは工程S108に進む。「はい」の場合、フローは工程S110に進む。 At step S106, the application (or a function of the application) checks whether the response data contains an error or indicates a server outage. If no, flow proceeds to step S108. If yes, flow proceeds to step S110.

工程S108において、当該ユーザ端末は、応答データに基づいて、要求の結果を(アプリケーションの)UIに表示する。データアクセスが正常に行われる。 In step S108, the user terminal displays the result of the request on the UI (of the application) based on the response data. Data access is successful.

工程S110において、当該ユーザ端末は、応答データに基づき、エラー、サーバビジー、またはサーバダウンを示すメッセージを表示する。 In step S110, the user terminal displays a message indicating error, server busy, or server down based on the response data.

図2に、本発明の一部の実施態様に基づく通信システムの概略図を示す。 FIG. 2 shows a schematic diagram of a communication system according to some embodiments of the present invention.

当該通信システム1は、コンテンツを介したインタラクションを伴うライブストリーミングサービスを提供することができる。ここで言う「コンテンツ」とは、コンピュータ装置で再生可能なデジタルコンテンツを指す。つまり、当該通信システム1は、ユーザがオンラインで他のユーザとのリアルタイムのインタラクションに参加することを可能にする。当該通信システム1は、複数のユーザ端末10と、バックエンドサーバ30と、ストリーミングサーバ40とを含む。当該ユーザ端末10、バックエンドサーバ30、及びストリーミングサーバ40は、ネットワーク90(例えばインターネットとしてもよい)を介して接続される。当該バックエンドサーバ30は、当該ユーザ端末及び(または)当該ストリーミングサーバ40の間のインタラクションを同期させるサーバとすることができる。一部の実施態様において、当該バックエンドサーバ30は、アプリケーション(APP)プロバイダーのサーバとしてもよい。当該ストリーミングサーバ40は、ストリーミングデータまたはビデオデータを処理する、または提供するためのサーバである。一部の実施態様において、当該バックエンドサーバ30と当該ストリーミングサーバ40は、独立したサーバとしてもよい。一部の実施態様において、当該バックエンドサーバ30と当該ストリーミングサーバ40は、1つのサーバに統合してもよい。一部の実施態様において、当該ユーザ端末10は、ライブストリーミングサービスのためのクライアント装置である。一部の実施態様において、当該ユーザ端末10は、視聴者、ストリーマー、アンカー、ポッドキャスター、オーディエンス、リスナーなどと呼ばれることがある。当該ユーザ端末10、バックエンドサーバ30、及びストリーミングサーバ40はそれぞれ情報処理装置の一例である。一部の実施態様において、当該ストリーミングは、ライブストリーミングまたはビデオ再生とすることができる。一部の実施態様において、ストリーミングは、オーディオストリーミング及び(または)ビデオストリーミングとすることができる。一部の実施態様において、ストリーミングは、オンラインショッピング、トークショー、タレントショー、娯楽イベント、スポーツイベント、音楽ビデオ、映画、コメディ、コンサートなどのコンテンツを含むことができる。 The communication system 1 can provide a live streaming service with interaction via content. As used herein, "content" refers to digital content that can be played on a computer device. In other words, the communication system 1 enables users to participate in real-time interactions with other users online. The communication system 1 includes a plurality of user terminals 10 , a backend server 30 and a streaming server 40 . The user terminal 10, the backend server 30, and the streaming server 40 are connected via a network 90 (which may be the Internet, for example). The backend server 30 may be a server that synchronizes interactions between the user terminal and/or the streaming server 40 . In some embodiments, the backend server 30 may be an application (APP) provider's server. The streaming server 40 is a server for processing or providing streaming data or video data. In some embodiments, the backend server 30 and the streaming server 40 may be independent servers. In some embodiments, the backend server 30 and the streaming server 40 may be integrated into one server. In some embodiments, the user terminal 10 is a client device for live streaming services. In some implementations, the user terminal 10 may be referred to as a viewer, streamer, anchor, podcaster, audience, listener, or the like. The user terminal 10, the backend server 30, and the streaming server 40 are each an example of an information processing device. In some implementations, the streaming may be live streaming or video playback. In some implementations, streaming may be audio streaming and/or video streaming. In some implementations, streaming may include content such as online shopping, talk shows, talent shows, entertainment events, sporting events, music videos, movies, comedies, concerts, and the like.

図3に、本発明の一部の実施態様に基づくユーザ端末の例示的なブロック図を示す。 FIG. 3 shows an exemplary block diagram of a user terminal according to some implementations of the present invention.

当該ユーザ端末100は、ユーザインターフェース102と、エンドポイントステータスモニター104と、ユーザステータスモニター106と、信タイミングコントローラ108と、送信ユニット110と、エンドポイントステータステーブル112と、ユーザステータステーブル114と、遅延ポリシーテーブル116と、要求テーブル118を含む。 The user terminal 100 includes a user interface 102, an endpoint status monitor 104, a user status monitor 106, a transmission timing controller 108, a transmission unit 110, an endpoint status table 112, a user status table 114, a delay policy Includes table 116 and request table 118 .

当該ユーザインターフェース102は、当該ユーザ端末100のユーザと当該ユーザ端末100間の相互作用を実現するように構成される。当該ユーザインターフェース102は、当該ユーザからの視覚、音声、タッチ入力を受け取るための視覚、音声、タッチセンサを含むことができる。当該ユーザインターフェース102は、当該ユーザからの指示を受け付けるためのページやアプリケーションの機能と相関していてもよい。当該ユーザ端末100は、当該ユーザインターフェース102を介して当該ユーザから要求を受信することができる。受信した当該要求は、当該要求テーブル118に格納されてもよい。当該ユーザから繰り返し要求が送信される場合、その要求の受信回数(例えば、一定期間内)も、当該要求テーブル118に記録される。 The user interface 102 is configured to enable interaction between a user of the user terminal 100 and the user terminal 100 . The user interface 102 may include visual, audio and touch sensors for receiving visual, audio and touch input from the user. The user interface 102 may correlate with the functionality of a page or application for accepting instructions from the user. The user terminal 100 can receive requests from the user via the user interface 102 . The received requests may be stored in the request table 118 . If the user sends repeated requests, the number of times the request is received (eg, within a certain period of time) is also recorded in the request table 118 .

当該エンドポイントステータスモニター104は、エンドポイントのステータスを監視するように構成される。当該エンドポイントは、当該ユーザからの当該要求に対応する、あるいは、当該要求の宛先が当該エンドポイントである。当該エンドポイントは、当該ユーザ端末100の外部にあるサーバに存在する。当該エンドポイントステータスモニター104は、エンドポイントデータベース300に(例えばインターネット経由で)アクセスし、当該エンドポイントのステータスパラメータを取得することができる。その後、当該エンドポイントの当該ステータスパラメータは、当該エンドポイントステータステーブル112に格納される。当該エンドポイントデータベース300は、当該要求に対応する当該エンドポイントが属する当該サーバ上に存在してもよい。一部の実施態様において、当該エンドポイントデータベース300は、別のサーバ上に存在してもよい。 The endpoint status monitor 104 is configured to monitor the status of endpoints. The endpoint responds to the request from the user or is the destination of the request. The endpoint exists in a server outside the user terminal 100 . The endpoint status monitor 104 can access the endpoint database 300 (eg, via the Internet) to obtain status parameters for the endpoint. That status parameter for that endpoint is then stored in the endpoint status table 112 . The endpoint database 300 may reside on the server to which the endpoint corresponding to the request resides. In some implementations, the endpoint database 300 may reside on another server.

当該ユーザステータスモニター106は、当該ユーザのステータスを監視するように構成される。当該ユーザステータスモニター106は、ユーザデータベース310に(例えばインターネット経由で)アクセスし、当該ユーザのステータスパラメータを取得することができる。当該ユーザデータベース310は、当該要求に対応する当該エンドポイントが属する当該サーバ上に存在してもよい。一部の実施態様において、当該ユーザデータベース310は、別のサーバ上に存在してもよい。当該ステータスパラメータは、当該ユーザに対応する貢献度スコアであってもよく、またはそれを含んでいてもよい。当該ステータスパラメータは、当該ユーザに対応するレベルであってもよい。その後、当該ユーザの当該ステータスパラメータは、当該ユーザステータステーブル114に格納される。一部の実施態様において、当該貢献度スコア及び(または)当該レベルは、ライブストリーミングプラットフォーム上での当該ユーザのコメント行動、贈り物送信行動、視聴行動、決済・入金行動に基づいて、増加してもよい。 The user status monitor 106 is configured to monitor the status of the user. The user status monitor 106 can access the user database 310 (eg, via the Internet) to obtain status parameters for the user. The user database 310 may reside on the server to which the endpoint corresponding to the request resides. In some implementations, the user database 310 may reside on another server. The status parameter may be or include a contribution score corresponding to the user. The status parameter may be a level corresponding to the user. That status parameter for that user is then stored in that user status table 114 . In some embodiments, the contribution score and/or the level may increase based on the user's commenting behavior, gift sending behavior, viewing behavior, and payment behavior on the live streaming platform. good.

当該送信タイミングコントローラ108は、当該要求に対応する当該エンドポイントが存在する当該サーバに当該要求を送信するタイミング(または当該要求を送信するための遅延時間長さ)を決定するように構成される。当該送信タイミングコントローラ108は、当該要求テーブル118にアクセスして、一定期間内の当該要求の受信回数を受信してもよい。当該送信タイミングコントローラ108は、当該エンドポイントステータステーブル112にアクセスし、当該要求に対応する当該エンドポイントの当該ステータスパラメータを受信してもよい。当該送信タイミングコントローラ108は、当該ユーザステータステーブル114ニアクセスし、当該ユーザの当該ステータスパラメータ(貢献度スコアなど)を受信してもよい。当該送信タイミングコントローラ108は、その後当該遅延ポリシーテーブル116を参照し、当該要求を送信するための当該遅延時間長さを決定する。 The send timing controller 108 is configured to determine when to send the request (or the amount of delay to send the request) to the server where the endpoint corresponding to the request resides. The transmit timing controller 108 may access the request table 118 to receive the number of times the request has been received over a period of time. The transmit timing controller 108 may access the endpoint status table 112 and receive the status parameters of the endpoint corresponding to the request. The transmission timing controller 108 may access the user status table 114 and receive the status parameters (such as the contribution score) of the user. The transmit timing controller 108 then consults the delay policy table 116 to determine the amount of delay time for transmitting the request.

当該遅延ポリシーテーブル116は、当該要求を送信するための当該遅延時間長さを決定するためのポリシーまたは基準を格納するように構成される。 The delay policy table 116 is configured to store policies or criteria for determining the amount of delay time for sending the request.

一部の実施態様において、当該遅延時間長さは、当該期間内に当該要求を受信した回数が多いほど長く決定される。例えば、当該遅延時間長さは、当該期間内の当該要求の受信回数に指数関数的に比例してもよい。ユーザが同じ要求を何度も繰り返し送信する場合、指数関数的な遅延メカニズムは、当該ユーザがサーバリソース(当該サーバの容量、帯域幅、CPU使用率及び(または)メモリ使用率など)を浪費/消費/占有しすぎることを防止することができる。一部の実施態様において、遅延ルールは、何度も要求を送信し続ける傾向があるそれらのユーザに対する罰のメカニズムとして機能する。これにより、サーバリソースの効率的な分配して/利用を実現し、当該サーバの過負荷や停止を防止することができる。 In some embodiments, the delay time length is determined to be longer the more times the request is received within the period. For example, the delay time length may be exponentially proportional to the number of times the request is received within the period. If a user sends the same request over and over again, the exponential delay mechanism will cause the user to waste/reduce server resources (such as the server's capacity, bandwidth, CPU usage and/or memory usage). Over consumption/occupancy can be prevented. In some implementations, the delay rule acts as a punishment mechanism for those users who tend to keep sending requests over and over again. This enables efficient distribution/utilization of server resources and prevents the server from being overloaded or stopped.

一部の実施態様において、当該遅延時間長さは、当該要求に対応する当該エンドポイントの当該ステータスパラメータが、当該エンドポイントの比較的重大な状態を示すとき、より長く決定される。 In some embodiments, the delay time length is determined to be longer when the status parameter of the endpoint corresponding to the request indicates a relatively severe condition of the endpoint.

一部の実施態様において、比較的重大な状態は、当該エンドポイントがより重要であることを示す。例えば、支払いや贈り物の送信などの機能に関するエンドポイントは、コメントなど他の機能に関する当該エンドポイントよりも重大であると判断され、そのステータスパラメータはより高い値を持つ可能性がある。したがって、当該遅延時間長さがより長いと、アクセス成功の信頼性がより高くなることがある。 In some embodiments, a more severe condition indicates that the endpoint is more important. For example, an endpoint for functionality such as making a payment or sending a gift may be judged to be more critical than the endpoint for other functionality such as commenting, and may have a higher value for its status parameter. Therefore, the longer the delay time length, the higher the reliability of successful access may be.

一部の実施態様において、比較的重大な状態は、当該エンドポイントがより不健全な状態であることを示す。不健全なエンドポイントとは、当該エンドポイントがビジーである、過負荷である、または任意の異常な状態にあることを意味する。例えば、当該エンドポイントを適切に動作させるための当該サーバのリソースが、特定のタイミングで準備ができていなかったり、十分でなかったりすることである。遅延メカニズムは、当該エンドポイント(または当該サーバ)が不健全な状態から回復するために十分な時間を与えることができ、より信頼性の高いデータアクセスを確約することができる。遅延メカニズムは、異なるユーザ端末からの多くの要求が同時に当該エンドポイント(または当該サーバ)に到達する状況を防止することができる。 In some embodiments, a more severe condition indicates a more unhealthy condition for the endpoint. An unhealthy endpoint means that the endpoint is busy, overloaded, or in any abnormal state. For example, the server's resources for proper operation of the endpoint may not be ready or sufficient at a particular time. A delay mechanism can allow the endpoint (or the server) sufficient time to recover from an unhealthy state and can ensure more reliable data access. A delay mechanism can prevent a situation in which many requests from different user terminals reach the endpoint (or the server) at the same time.

当該エンドポイントの当該ステータスパラメータは、当該エンドポイントのステータスの予測を含んでもよい。例えば、当該ステータスパラメータは、未来のある時点において、当該エンドポイントがビジー状態、過負荷状態、または何らかの異常状態になるか否かを示すものであってもよい。したがって、当該エンドポイントの予測されたステータスに応じて当該遅延時間長さを決定し、データアクセスを最適化することができる。当該エンドポイントのステータスの予測は、当該エンドポイントデータベース300に実装され得る機械学習モデルによって実行されてもよい。 The status parameter of the endpoint may include a prediction of the endpoint's status. For example, the status parameter may indicate whether the endpoint will be busy, overloaded, or in some abnormal state at some point in the future. Therefore, the delay time length can be determined according to the predicted status of the endpoint to optimize data access. The endpoint status prediction may be performed by a machine learning model that may be implemented in the endpoint database 300 .

一部の実施態様において、当該遅延時間長さは、(要求を開始した当該ユーザの)当該貢献スコアがより高い場合に、より短くなるように決定される。一部の実施態様において、当該遅延時間長さは、(要求を開始した当該ユーザの)当該貢献度スコアがより低いときに、より長くなるように決定される。貢献度スコアが高いほど、対応する当該ユーザがライブストリーミングプラットフォーム上でより多くのコメント行動、贈り物送信行動、視聴行動、決済・入金行動を有することを示すことができる。つまり、貢献度スコアが高い当該ユーザは、当該プラットフォームへの貢献度が「高い」ことになる。したがって、貢献度の高い当該ユーザほど、より良いデータアクセス体験ができることが期待される。当該貢献度スコアに従って当該遅延時間長さを決定することは、利用可能なリソースが制限されている場合に、異なるユーザに対してデータアクセスを最適化することができる。一部の実施態様において、当該インターネット及び(または)サーバ(エンドポイント)が劣悪な状態にある場合、逆の戦略が適用されてもよい。例えば、サーバ/エンドポイントの状態が悪いことが検出された場合、より貢献度の高いユーザからの要求に対する当該遅延時間長さが、当該ユーザのデータアクセス成功を保証するために十分長くなるように決定されてもよい。 In some implementations, the delay time length is determined to be shorter when the contribution score (of the user who initiated the request) is higher. In some implementations, the delay time length is determined to be longer when the contribution score (of the user who initiated the request) is lower. A higher contribution score may indicate that the corresponding user has more comment behavior, gift sending behavior, viewing behavior, and payment/deposit behavior on the live streaming platform. In other words, the user with a high contribution score has a "high" contribution to the platform. Therefore, it is expected that the user with a higher degree of contribution will have a better data access experience. Determining the delay time length according to the contribution score can optimize data access for different users when available resources are limited. In some implementations, the opposite strategy may be applied if the Internet and/or servers (endpoints) are in poor condition. For example, if a server/endpoint is detected to be in a bad state, ensure that the length of time delay for requests from more contributing users is long enough to ensure successful data access for that user. may be determined.

当該要求テーブル118は、当該サーバへの送信が予定されている要求を格納するように構成される。当該要求テーブル118は、要求キューを参照または含んでもよい。当該要求テーブル118は、受信した要求と、当該要求に関連する情報とを格納するように構成される。一部の実施態様において、要求の受信回数が、当該要求とともに格納される。一部の実施態様において、当該遅延時間長さ(または送信タイミング)が、当該要求とともに格納される。 The request table 118 is configured to store requests scheduled to be sent to the server. The request table 118 may refer to or include a request queue. The request table 118 is configured to store received requests and information associated with the requests. In some implementations, the number of times a request has been received is stored with the request. In some implementations, the delay time length (or transmission timing) is stored with the request.

当該送信ユニット110は、例えば、インターネットを介して、当該サーバに当該要求を送信するように構成される。当該送信ユニット110は、決定された送信タイミング(または、決定された遅延時間長さ)について、当該要求テーブル118にアクセスしてもよい。 The sending unit 110 is configured to send the request to the server, eg via the Internet. The transmitting unit 110 may access the request table 118 for the determined transmission timing (or the determined delay time length).

図4に、本発明の一部の実施態様に基づく例示的なフローチャートを示す。 FIG. 4 shows an exemplary flow chart according to some embodiments of the invention.

工程S300において、当該ユーザ端末(例えば、ユーザ端末100)は、ユーザから要求を受信する。当該要求は、当該ユーザ端末にインストールされたアプリケーションの機能またはUI(ユーザインターフェース)を介して受信されてもよい。例えば、当該ユーザは、UI上のボタン(更新ボタンなど)またはアプリケーションの機能をクリックまたはタップすることにより、当該要求を開始することができる。当該機能は、リーダーボード機能であってもよく、当該ユーザは、最新のリーダーボードデータを取得する要求を開始することができる。 At step S300, the user terminal (eg, user terminal 100) receives a request from a user. The request may be received via a function or UI (user interface) of an application installed on the user terminal. For example, the user can initiate the request by clicking or tapping a button on the UI (such as a refresh button) or function of the application. The feature may be a leaderboard feature, and the user can initiate a request to get the latest leaderboard data.

工程S302は、工程S3020と、工程S3022と、工程S3024を含む。 Step S302 includes steps S3020, S3022, and S3024.

工程S3020において、例えば、当該ユーザの当該貢献度スコアが、当該ユーザステータスモニター106により受信される。 At step S3020, for example, the user's contribution score is received by the user status monitor .

工程S3022において、例えば、当該ユーザインターフェース102により、当該要求の受信回数が検出される。 At step S3022, for example, the user interface 102 detects the number of times the request has been received.

工程S3024において、例えば、当該エンドポイントステータスモニター104により、当該要求に対応する当該エンドポイントの当該ステータスパラメータが受信される。当該ステータスパラメータは、当該エンドポイントのステータスまたはステータス予測を示してもよい。 At step S3024, the status parameters of the endpoint corresponding to the request are received, for example, by the endpoint status monitor 104 . The status parameter may indicate the status or status prediction of the endpoint.

工程S304において、例えば、当該送信タイミングコントローラ108により、当該要求送信のための当該遅延時間長さが決定される。当該遅延時間長さは、当該要求の(一定期間内の)受信回数、当該エンドポイントの当該ステータスパラメータ、及び(または)当該ユーザの当該貢献度スコアに基づいて決定されてもよい。 At step S304, for example, by the transmission timing controller 108, the delay time length for the request transmission is determined. The delay time length may be determined based on the number of times the request is received (over a period of time), the status parameters of the endpoint, and/or the contribution score of the user.

工程S306において、当該要求は、当該要求テーブル118などの要求テーブルまたは要求キューに入力または更新される。決定された当該要求送信のための当該時間遅延長さも、当該要求と共に当該要求テーブルに格納される。 At step S306, the request is entered or updated in a request table or request queue, such as the request table 118. FIG. The determined time delay length for sending the request is also stored in the request table along with the request.

工程S308において、当該ユーザ端末は、当該ユーザが要求を開始した当該ユーザインターフェースまたは機能にまだ留まっているか否かを判断する。「いいえ」の場合、フローは工程S310に進む。「はい」の場合、フローは工程S312に進む。一部の実施態様において、当該判断は、当該ユーザインターフェース102または当該アプリケーションにより実行されてもよい。 At step S308, the user terminal determines whether the user still remains at the user interface or function that initiated the request. If no, flow proceeds to step S310. If yes, flow proceeds to step S312. In some implementations, the determination may be performed by the user interface 102 or the application.

工程S310において、当該要求が当該要求テーブルから削除される。当該ユーザは当該要求が開始された当該機能または当該ユーザインターフェースから離脱したと判断されるため、該当するデータへのアクセスを継続する必要はない。このメカニズムにより、不要なリソースの浪費を防止することができる。 At step S310, the request is deleted from the request table. It is determined that the user has left the function or user interface from which the request was initiated and does not need to continue to access the data. This mechanism can prevent unnecessary waste of resources.

工程S312において、当該ユーザ端末は、例えば、当該送信ユニット110により、当該サーバに当該要求を送信する。当該要求は、決定された送信タイミングで(または決定された遅延時間長さ後に)送信される。当該ユーザ端末内に、当該遅延時間長さが経過したことを判定するように構成された時計ユニットが存在してもよい。 At step S312, the user terminal sends the request to the server, for example by means of the sending unit 110 . The request is transmitted at the determined transmission timing (or after a determined delay time length). Within the user terminal there may be a clock unit configured to determine when the delay time length has elapsed.

工程S314において、当該サーバは、応答を当該ユーザ端末に送信する。当該応答は、リーダーボード情報など、当該ユーザが要求したデータを含む。 At step S314, the server sends a response to the user terminal. The response includes data requested by the user, such as leaderboard information.

工程S316において、当該アプリケーション(または当該アプリケーションの当該機能)は、当該応答データにエラーが含まれているか否か、またはサーバの停止を示しているか否かをチェックする。「いいえ」の場合、フローは工程S318に進む。「はい」の場合、フローは工程S320に進む。 At step S316, the application (or the function of the application) checks whether the response data contains an error or indicates a server outage. If no, flow proceeds to step S318. If yes, flow proceeds to step S320.

工程S318において、当該ユーザ端末は、応答データに基づいて、要求の結果を(アプリケーションの)UIに表示する。データアクセスが正常に行われる。 In step S318, the user terminal displays the result of the request on the UI (of the application) based on the response data. Data access is successful.

工程S320において、当該ユーザ端末は、当該応答データに基づき、エラー、サーバビジー、またはサーバダウンを示すメッセージを表示する。 In step S320, the user terminal displays a message indicating error, server busy, or server down based on the response data.

図4に示す実施態様において、工程S3024から工程S320へのルートがあることに留意する。この実施態様において、工程S3024で受信した当該ステータスパラメータが、当該サーバ/エンドポイントが停止状態などの非常に悪い状態であることを示す場合、フローは直接工程S320に進む。したがって、当該サーバ/エンドポイントが停止状態である場合、工程S304~S316をスキップすることにより、不必要なリソース消費やデータ送信を防止することができる。このメカニズムは、当該ユーザ端末と当該サーバの両方にとって有益である。 Note that in the embodiment shown in FIG. 4, there is a route from step S3024 to step S320. In this embodiment, if the status parameter received at step S3024 indicates that the server/endpoint is in a very bad state, such as down, flow proceeds directly to step S320. Therefore, unnecessary resource consumption and data transmission can be prevented by skipping steps S304 to S316 when the server/endpoint is in a stopped state. This mechanism benefits both the user terminal and the server.

図5に、本発明の一部の実施態様に基づく例示的な時系列図を示す。 FIG. 5 shows an exemplary timeline diagram according to some implementations of the invention.

工程S500において、当該ユーザ端末は要求を受信し、当該要求の回数(または当該要求の受信回数)を検出する。 In step S500, the user terminal receives a request and detects the number of times the request has been made (or the number of times the request has been received).

工程S502において、当該ユーザ端末は当該エンドポイントデータベースにアクセスして、当該要求に対応する当該エンドポイントの当該エンドポイント(EP)ステータス(またはステータス予測)を要求する。 At step S502, the user terminal accesses the endpoint database to request the endpoint (EP) status (or status prediction) of the endpoint corresponding to the request.

工程S504において、当該エンドポイントデータベースが当該エンドポイントステータスを当該ユーザ端末に返す。 At step S504, the endpoint database returns the endpoint status to the user terminal.

工程S506において、当該ユーザ端末が当該ユーザデータベースにアクセスして、ユーザ貢献度データなどのユーザステータスデータを要求する。当該ユーザステータスデータは当該要求を開始した当該ユーザに対応する。 At step S506, the user terminal accesses the user database to request user status data, such as user contribution data. The user status data corresponds to the user who initiated the request.

工程S508において、当該ユーザデータベースが当該ユーザステータスデータを当該ユーザ端末に返す。 At step S508, the user database returns the user status data to the user terminal.

工程S510において、当該ユーザ端末は、当該遅延ポリシーデータベース(当該ユーザ端末に存在してもしなくてもよい)にアクセスし、当該要求をサーバに送信するための当該遅延ポリシーを確認する。当該遅延ポリシーは、要求回数、当該エンドポイントステータス(またはステータス予測)、及び(または)当該ユーザステータスデータに依存または相関していてもよい。 At step S510, the user terminal accesses the delay policy database (which may or may not reside in the user terminal) and checks the delay policy for sending the request to the server. The delay policy may be dependent on or correlated to the number of requests, the endpoint status (or status prediction), and/or the user status data.

工程S512において、当該ユーザ端末は、工程S510でアクセスされた当該遅延ポリシーに基づき、当該サーバに当該要求を送信するタイミング(または当該遅延時間長さ)を決定する。当該ユーザ端末は、当該要求キューに情報を更新する。 At step S512, the user terminal determines the timing (or the delay time length) to send the request to the server based on the delay policy accessed at step S510. The user terminal updates information in the request queue.

工程S514において、当該ユーザ端末は、当該ユーザが当該要求を開始したUIにまだ留まっていると判断し、当該遅延時間長さが経過したと判断する。 At step S514, the user terminal determines that the user is still on the UI that initiated the request, and determines that the delay time length has passed.

工程S516において、当該ユーザ端末は、決定された送信タイミングで当該サーバに当該要求を送信し、当該要求に対応するデータの送信を要求する。 In step S516, the user terminal transmits the request to the server at the determined transmission timing, and requests transmission of data corresponding to the request.

工程にS518おいて、当該サーバは、要求されたデータを含む応答を当該ユーザ端末に返す。これにより、データアクセスが正常に完了する。 At step S518, the server returns a response containing the requested data to the user terminal. This allows the data access to complete normally.

図6に、本発明の一部の実施態様に基づく例示的なフローチャートを示す。 FIG. 6 shows an exemplary flowchart according to some embodiments of the invention.

工程S600において、当該サーバが複数の異なるユーザ端末から要求を受信する。 At step S600, the server receives requests from a plurality of different user terminals.

工程S602は、工程S6020と工程S6022を含む。 Step S602 includes step S6020 and step S6022.

工程S6020において、当該サーバは、ユーザデータベース(当該サーバに存在してもしなくてもよい)にアクセスし、当該要求を開始した当該ユーザの貢献度スコアを要求する。 At step S6020, the server accesses a user database (which may or may not reside on the server) and requests the contribution score of the user who initiated the request.

工程S6022において、当該サーバは、エンドポイントデータベース(当該サーバに存在してもしなくてもよい)にアクセスし、当該要求に対応する当該エンドポイントのステータス(またはステータス予測)を要求する。 At step S6022, the server accesses an endpoint database (which may or may not reside on the server) and requests the status (or status prediction) of the endpoint corresponding to the request.

工程S604において、当該サーバは、各要求の応答送信タイミングを決定する。応答送信タイミングとは、要求に対応する応答を対応する当該ユーザ端末に送信するタイミングである。 At step S604, the server determines when to send a response for each request. A response transmission timing is a timing for transmitting a response corresponding to a request to the corresponding user terminal.

一部の実施態様において、要求に対応する当該応答送信タイミングは、当該要求を開始した当該ユーザの当該貢献度スコアに応じて決定されてもよい。例えば、対応する当該要求が貢献度スコアの高いユーザによって開始された場合、当該応答送信タイミングを早く/速くするように決定してもよい。例えば、対応する当該要求が貢献度スコアの低いユーザによって開始された場合、当該応答送信タイミングを後に/遅くするように決定してもよい。このメカニズムは、貢献度の高いユーザが要求したデータをより早く取得できるように、リソースを効率的に分配してる。 In some implementations, the timing of sending the response corresponding to a request may be determined according to the contribution score of the user initiating the request. For example, if the corresponding request was initiated by a user with a high contribution score, it may decide to send the response sooner/faster. For example, if the corresponding request was initiated by a user with a low contribution score, it may decide to later/delay the timing of sending the response. This mechanism efficiently distributes resources so that high-contribution users can get their requested data faster.

一部の実施態様において、要求に対応する当該応答送信タイミングは、当該要求に対応する当該エンドポイントのステータスに基づいて決定されてもよい。例えば、対応する当該要求の当該エンドポイントがより健全であることを当該ステータスデータが示している場合、当該応答送信タイミングはより早く/より速くなるように決定されてもよい。例えば、対応する当該要求の当該エンドポイントがより不健全であることを当該ステータスデータが示している場合、当該応答送信タイミングはより後に/遅くなるように決定されてもよい。このメカニズムは、異なるエンドポイントに対する負荷または処理を動的に調整し、すべてのデータアクセスが信頼性の高い方法で行われるように確約する。 In some implementations, the timing of sending the response corresponding to a request may be determined based on the status of the endpoint corresponding to the request. For example, if the status data indicates that the endpoint of the corresponding request is healthier, the response sending timing may be determined to be sooner/faster. For example, if the status data indicates that the endpoint of the corresponding request is more unhealthy, the response sending timing may be determined later/later. This mechanism dynamically adjusts the load or processing to different endpoints and ensures that all data access is done in a reliable manner.

工程S606において、当該サーバは、工程S604で決定されたタイミングで当該応答を当該ユーザ端末に送信し、これによりデータアクセスが終了する。 At step S606, the server sends the response to the user terminal at the timing determined at step S604, thereby completing the data access.

図7に、本発明の一部の実施態様に基づくユーザ端末からサーバに要求を送信するための遅延時間長さを決定する例示的な基準を示すグラフを示す。 FIG. 7 shows a graph illustrating exemplary criteria for determining the amount of delay time for sending a request from a user terminal to a server according to some embodiments of the present invention.

当該遅延時間長さは、(一定期間内の)当該要求の受信回数に基づいて決定される。当該遅延時間長さと当該要求の受信回数の間には指数関数的な関係がある。当該遅延時間長さには、最大遅延時間が設定される。図7は、当該遅延ポリシーテーブル116に格納された基準に対応してもよい。 The delay time length is determined based on the number of times the request is received (within a certain period of time). There is an exponential relationship between the delay time length and the number of times the request is received. A maximum delay time is set in the delay time length. FIG. 7 may correspond to criteria stored in the delay policy table 116 of interest.

図8に、本発明の一部の実施態様に基づくユーザ端末からサーバに要求を送信するための遅延時間長さを決定する例示的な基準を示すグラフを示す。 FIG. 8 shows a graph illustrating exemplary criteria for determining the amount of delay time for sending a request from a user terminal to a server according to some embodiments of the present invention.

当該遅延時間長さは、(一定期間内の)当該要求の受信回数に基づいて決定される。当該遅延時間長さと当該要求の受信回数の間には線形の関係がある。当該遅延時間長さには、最大遅延時間が設定される。図8は、当該遅延ポリシーテーブル116に格納された基準に対応してもよい。 The delay time length is determined based on the number of times the request is received (within a certain period of time). There is a linear relationship between the delay time length and the number of times the request is received. A maximum delay time is set in the delay time length. FIG. 8 may correspond to criteria stored in the delay policy table 116 of interest.

図9に、本発明の一部の実施態様に基づくユーザ端末からサーバに要求を送信するための遅延時間長さを決定する例示的な基準を示すグラフを示す。 FIG. 9 presents a graph illustrating exemplary criteria for determining the amount of delay time for sending a request from a user terminal to a server according to some embodiments of the present invention.

当該遅延時間長さは、(一定期間内の)当該要求の受信回数に基づいて決定される。当該遅延時間長さと当該要求の受信回数の間には対数的な関係がある。当該遅延時間長さには、最大遅延時間が設定される。図9は、当該遅延ポリシーテーブル116に格納された基準に対応してもよい。 The delay time length is determined based on the number of times the request is received (within a certain period of time). There is a logarithmic relationship between the delay time length and the number of times the request is received. A maximum delay time is set in the delay time length. FIG. 9 may correspond to criteria stored in the delay policy table 116 of interest.

本発明の一実施態様において、当該ユーザ端末は、当該要求が初めて受信されたか否かを判定してもよい。当該要求が初めて受信された場合、当該ユーザ端末は、当該要求にいかなる遅延も適用しない。当該要求が初めて受信されたのではない場合、当該ユーザ端末は、本明細書で開示される遅延を当該要求に適用する。例えば、初回の要求は通常モード(遅延なし)で処理され、繰り返しの要求は指数関数的遅延モードで処理される。 In one embodiment of the invention, the user terminal may determine whether the request is received for the first time. If the request is received for the first time, the user terminal does not apply any delay to the request. If the request is not received for the first time, the user terminal applies the delays disclosed herein to the request. For example, initial requests are processed in normal mode (no delay) and repeated requests are processed in exponential delay mode.

図10に、本発明の一部の実施態様に基づくユーザ端末からサーバに要求を送信するための遅延時間長さを決定する例示的な基準を示すグラフを示す。 FIG. 10 presents a graph illustrating exemplary criteria for determining the amount of delay time for sending a request from a user terminal to a server according to some embodiments of the present invention.

当該遅延時間長さは、当該要求に対応する当該エンドポイントの重要度レベルによって決定される。当該遅延時間長さと当該重要度レベルの間には指数関数的な関係がある。当該遅延時間長さには、最大遅延時間が設定される。図10は、当該遅延ポリシーテーブル116に格納された基準に対応してもよい。 The delay time length is determined by the importance level of the endpoint corresponding to the request. There is an exponential relationship between the delay time length and the importance level. A maximum delay time is set in the delay time length. FIG. 10 may correspond to criteria stored in the delay policy table 116 of interest.

図11に、要求テーブル118の一例を示す。 FIG. 11 shows an example of the request table 118. As shown in FIG.

この例では、受信された各要求について、当該要求を開始した対応する当該ユーザ(または当該ユーザ端末)、対応する当該エンドポイント、当該受信回数、当該遅延時間長さがテーブルに記録される。当該受信回数は、ユーザインターフェースからの情報によって更新されてもよい。当該遅延時間長さは、当該遅延ポリシーテーブル116を参照して更新されてもよい。一部の実施態様において、当該要求回数または当該エンドポイント重要度レベルが更新されるたびに、対応する当該遅延時間長さもそれに基づいて更新される。 In this example, for each request received, the corresponding user (or user terminal) that initiated the request, the corresponding endpoint, the number of receptions, and the length of the delay are recorded in a table. The number of receptions may be updated with information from the user interface. The delay time length may be updated with reference to the delay policy table 116 . In some implementations, each time the number of requests or the endpoint severity level is updated, the corresponding delay time length is updated accordingly.

図12に、当該エンドポイントステータステーブル112の一例を示す。 FIG. 12 shows an example of the endpoint status table 112. As shown in FIG.

この例において、各エンドポイントの当該重要度レベルまたは不健全性レベルがテーブルに記録される。 In this example, the relevant severity level or unhealthy level for each endpoint is recorded in a table.

図13に、当該ユーザステータステーブル114の一例を示す。 FIG. 13 shows an example of the user status table 114. As shown in FIG.

この例では、当該ユーザU1(当該ユーザ端末のユーザ)のステータスパラメータ(当該貢献度スコアやレベルなど)がテーブルに記録される。 In this example, the status parameters (the contribution score, level, etc.) of the user U1 (the user of the user terminal) are recorded in the table.

図14に、当該ユーザデータベース310の一例を示す。 FIG. 14 shows an example of the user database 310. As shown in FIG.

図に示すように、当該ユーザデータベース310は、ユーザごとに異なるさまざまなパラメータを含んでいる。 As shown, the user database 310 contains various parameters that differ from user to user.

図15に、本発明の一部の実施態様に基づく例示的なフローチャートを示す。 FIG. 15 shows an exemplary flow chart according to some embodiments of the invention.

工程S1500において、ユーザ端末がユーザからの要求を検出する。 In step S1500, a user terminal detects a request from a user.

工程S1502において、当該ユーザ端末は、当該要要求を当該サーバに送信するための遅延時間を決定する。一部の実施態様において、当該遅延時間は、当該要求に対応するエンドポイントのステータスに基づき、及び(または)当該ユーザの貢献度スコアに基づき、決定されてもよい。 At step S1502, the user terminal determines a delay time for sending the requested request to the server. In some implementations, the delay time may be determined based on the status of the endpoint corresponding to the request and/or based on the user's contribution score.

工程S1504において、当該要求は、要求キューまたは要求テーブルに入力またはスケジュールされる。 At step S1504, the request is entered or scheduled in a request queue or request table.

工程S1506において、当該ユーザ端末は、所定の期間内に再び同じ要求を検出または受信する。これは、当該ユーザが結果の表示を待ちきれず、再度同じボタンをタップするといったシナリオが考えられる。 At step S1506, the user terminal detects or receives the same request again within a predetermined period of time. This may be a scenario in which the user cannot wait for the results to be displayed and taps the same button again.

工程S1508において、当該要求の受信回数に基づき、当該要求を当該サーバに送信するための遅延時間が更新される。工程S1506と工程S1508は、所定の期間内に当該ユーザから繰り返し当該要求が送信された場合に繰り返される。例えば、図7、図8または図8に示すように、当該要求の受信回数が増加するにつれ、当該遅延時間が延長される。一部の実施態様において、それは、アプリケーション上のページまたは機能を繰り返しリフレッシュする傾向があるそれらのユーザに対する罰のメカニズムとして機能してもよい。 In step S1508, the delay time for sending the request to the server is updated based on the number of times the request is received. Steps S1506 and S1508 are repeated if the user repeatedly sends the request within a predetermined time period. For example, as shown in FIG. 7, FIG. 8 or FIG. 8, the delay time is extended as the number of times the request is received increases. In some implementations, it may act as a punishment mechanism for those users who tend to repeatedly refresh pages or functions on the application.

工程S1510において、当該所定の期間が経過した後、及び当該遅延時間が経過した後、当該ユーザ端末は、当該ユーザが当該要求を開始したUIにまだ留まっていると判断する。 In step S1510, after the predetermined period of time has passed and after the delay time has passed, the user terminal determines that the user is still in the UI from which the request was initiated.

工程S1512において、当該ユーザ端末は、要求されたデータを要求するために、当該サーバに当該要求を送信する。 At step S1512, the user terminal sends the request to the server to request the requested data.

本発明は、データアクセスのための改良された方法及びシステムを開示する。要求回数、エンドポイントステータス、及び(または)貢献度スコアに基づいて、ユーザ端末からサーバに要求を送信するための遅延時間を導入することにより、利用可能な限られたリソースをより良く配分し、サーバ/エンドポイントの停止を防止することができる。 The present invention discloses an improved method and system for data access. Better allocating limited available resources by introducing a delay time for sending requests from the user terminal to the server based on request count, endpoint status, and/or contribution score; Server/endpoint outages can be prevented.

本発明で説明した処理及び手順は、明示的に説明したものに加えて、ソフトウェア、ハードウェア、またはそれらの任意の組み合わせにより実現することができる。例えば、本明細書で説明した処理および手順は、その処理および手順に対応するロジックを集積回路、揮発性メモリ、不揮発性メモリ、非一時的なコンピュータ可読媒体、磁気ディスクなどの媒体に実装することにより実現することができる。さらに、本明細書に記載された処理および手順は、その処理および手順に対応するコンピュータプログラムとして実現することができ、各種のコンピュータにより実行することができる。 The processes and procedures described in the present invention, in addition to those explicitly described, can be implemented in software, hardware, or any combination thereof. For example, the processes and procedures described herein may be implemented by implementing logic corresponding to the processes and procedures in media such as integrated circuits, volatile memory, non-volatile memory, non-transitory computer-readable media, magnetic disks, and the like. It can be realized by Furthermore, the processes and procedures described herein can be implemented as computer programs corresponding to the processes and procedures, and can be executed by various computers.

さらに、上記実施態様で説明したシステムまたは方法は、固体記憶装置、光ディスク記憶装置、磁気ディスク記憶装置などの非一時的なコンピュータ可読媒体に格納されたプログラムに統合されてもよい。あるいは、プログラムは、インターネットを介してサーバからダウンロードされ、プロセッサにより実行されるものとしてもよい。 Furthermore, the systems or methods described in the above embodiments may be integrated into programs stored on non-transitory computer-readable media such as solid-state storage devices, optical disk storage devices, magnetic disk storage devices, and the like. Alternatively, the program may be downloaded from a server via the Internet and executed by a processor.

以上、本発明の技術的内容及び特徴を説明したが、本発明の属する技術分野において通常の知識を有する者であれば、本発明の教示及び開示から逸脱することなく、なお多くの変形及び修正を行うことができる。したがって、本発明の範囲は、既に開示された実施態様に限定されず、本発明から逸脱しない別の変形や修正を含み、特許請求の範囲に含まれる範囲である。 Although the technical content and features of the present invention have been described above, many variations and modifications may be made to those skilled in the art to which the present invention pertains without departing from the teachings and disclosures of the present invention. It can be performed. Accordingly, the scope of the present invention is not limited to the embodiments disclosed, but includes other variations and modifications that do not depart from the invention, as covered by the appended claims.

1 通信システム
10 ユーザ端末
30 バックエンドサーバ
40 ストリーミングサーバ
90 ネットワーク
100 ユーザ端末
102 ユーザインターフェース
104 エンドポイントステータスモニター
106 ユーザステータスモニター
108 送信タイミングコントローラ
110 送信ユニット
112 エンドポイントステータステーブル
114 ユーザステータステーブル
116 遅延ポリシーテーブル
118 要求テーブル
300 エンドポイントデータベース
310 ユーザデータベース
S100、S102、S104、S106、S108、S110 工程
S300、S302、S304、S306、S308、S310、S312、S314、S316、S318、S320、S3020、S3022、S3024 工程
S500、S502、S504、S506、S508、S510、S512、S514、S516、S518 工程
S600、S602、S604、S606、S6020、S6022 工程
S1500、S1502、S1504、S1506、S1508、S1510、S1512 工程
R1、R2、R3 要求
U1、U2、U3 ユーザ
EP1、EP2、EP3 エンドポイント
T1、T2、T3 遅延時間長さ
1 communication system 10 user terminal 30 backend server 40 streaming server 90 network 100 user terminal 102 user interface 104 endpoint status monitor 106 user status monitor 108 transmission timing controller 110 transmission unit 112 endpoint status table 114 user status table 116 delay policy table 118 request table 300 endpoint database 310 user database S100, S102, S104, S106, S108, S110 steps S300, S302, S304, S306, S308, S310, S312, S314, S316, S318, S320, S3020, S3022, S3024 steps S500, S502, S504, S506, S508, S510, S512, S514, S516, S518 Steps S600, S602, S604, S606, S6020, S6022 Steps S1500, S1502, S1504, S1506, S1508, S1510, S1512 Steps R1512 R3 request
U1, U2, U3 User EP1, EP2, EP3 Endpoint T1, T2, T3 Delay time length

Claims (8)

データアクセスのための方法であって、
要求を受信する工程と、
一定期間内に前記要求を受信した回数を受信する工程と、
前記期間内の前記要求の受信回数に基づき、前記要求を送信するための遅延時間長さを決定する工程と、
ユーザインターフェースでユーザから前記要求を受信する工程と、
前記要求を要求キューに格納する工程と、
前記ユーザが前記ユーザインターフェースから離脱したと判断する工程と、
前記要求を前記要求キューから削除する工程と、
を含むことを特徴とする、データアクセスのための方法。
A method for data access, comprising:
receiving a request;
receiving the number of times the request was received within a period of time;
determining a delay time length for sending the request based on the number of times the request is received within the time period;
receiving the request from a user at a user interface;
storing the request in a request queue;
determining that the user has left the user interface;
deleting the request from the request queue;
A method for data access, comprising:
前記遅延時間長さが、前記期間内に前記要求を受信した回数が多いほど長く決定されることを特徴とする、請求項1に記載のデータアクセスのための方法。 2. The method for data access according to claim 1, wherein said delay time length is determined to be longer the greater the number of said requests received within said period. さらに、
前記要求に対応するエンドポイントのステータスパラメータを受信する工程を含み、
前記決定する工程は、前記エンドポイントの前記ステータスパラメータおよび前記期間内の前記要求の受信回数に基づき、前記要求を送信するための遅延時間長さを決定する工程を含み、
前記遅延時間長さが、前記要求に対応する前記エンドポイントの前記ステータスパラメータが、前記エンドポイントの比較的重大な状態を示すとき、より長く決定される、ことを特徴とする、請求項1に記載のデータアクセスのための方法。
moreover,
receiving an endpoint status parameter corresponding to the request;
the determining step includes determining a delay time length for sending the request based on the status parameter of the endpoint and the number of times the request is received within the time period;
2. The method according to claim 1, characterized in that said delay time length is determined longer when said status parameter of said endpoint corresponding to said request indicates a relatively serious condition of said endpoint. Methods for data access as described.
さらに
記ユーザが前記ユーザインターフェースに留まっていると判断する工程と、
前記遅延時間長さが経過したと判断する工程と、
前記要求を前記要求に対応するエンドポイントに対応するサーバに送信する工程と、
を含むことを特徴とする、請求項1に記載のデータアクセスのための方法。
Furthermore ,
determining that the user remains on the user interface;
determining that the delay time length has elapsed;
sending the request to a server corresponding to the endpoint corresponding to the request ;
2. The method for data access of claim 1, comprising:
前記遅延時間長さが、前記期間内の前記要求の受信回数に指数関数的に増大する、ことを特徴とする、請求項2に記載のデータアクセスのための方法。 3. A method for data access according to claim 2, characterized in that said delay time length increases exponentially with the number of times said request is received within said period. さらに
記ユーザに対応する貢献度スコアを受信する工程と、
前記貢献度スコアに基づき、前記遅延時間長さを決定する工程と、
を含むことを特徴とする、請求項1に記載のデータアクセスのための方法。
Furthermore ,
receiving a contribution score corresponding to the user;
determining the delay time length based on the contribution score;
2. The method for data access of claim 1, comprising:
データアクセスのためのシステムであって、1以上のプロセッサを備え、そのうち、前記1以上のプロセッサが機械可読命令を実行して、
要求を受信する工程と、
一定期間内に前記要求を受信した回数を受信する工程と、
前記期間内の前記要求の受信回数に基づき、前記要求を送信するための遅延時間長さを決定する工程と、
ユーザインターフェースでユーザから前記要求を受信する工程と、
前記要求を要求キューに格納する工程と、
前記ユーザが前記ユーザインターフェースから離脱したと判断する工程と、
前記要求を前記要求キューから削除する工程と、
を実行することを特徴とする、データアクセスのためのシステム。
1. A system for data access, comprising one or more processors, wherein the one or more processors execute machine-readable instructions,
receiving a request;
receiving the number of times the request was received within a period of time;
determining a delay time length for sending the request based on the number of times the request is received within the time period;
receiving the request from a user at a user interface;
storing the request in a request queue;
determining that the user has left the user interface;
deleting the request from the request queue;
A system for data access, characterized by executing
データアクセスのためのプログラムを含む非一時的なコンピュータ可読媒体であって、そのうち、前記プログラムが、1以上のコンピュータに、
要求を受信する工程と、
一定期間内に前記要求を受信した回数を受信する工程と、
前記期間内の前記要求の受信回数に基づき、前記要求を送信するための遅延時間長さを決定する工程と、
ユーザインターフェースでユーザから前記要求を受信する工程と、
前記要求を要求キューに格納する工程と、
前記ユーザが前記ユーザインターフェースから離脱したと判断する工程と、
前記要求を前記要求キューから削除する工程と、
を実行させることを特徴とする、コンピュータ可読媒体。
A non-transitory computer-readable medium containing a program for data access, wherein said program is stored on one or more computers by:
receiving a request;
receiving the number of times the request was received within a period of time;
determining a delay time length for sending the request based on the number of times the request is received within the time period;
receiving the request from a user at a user interface;
storing the request in a request queue;
determining that the user has left the user interface;
deleting the request from the request queue;
A computer-readable medium for causing execution of
JP2022115919A 2022-07-20 2022-07-20 Systems, methods, and computer readable media for data access Active JP7220880B1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2022115919A JP7220880B1 (en) 2022-07-20 2022-07-20 Systems, methods, and computer readable media for data access
JP2023008438A JP2024014683A (en) 2022-07-20 2023-01-24 System, method and computer-readable medium for data accessing
US18/313,098 US20240031454A1 (en) 2022-07-20 2023-05-05 System, method and computer-readable medium for data accessing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022115919A JP7220880B1 (en) 2022-07-20 2022-07-20 Systems, methods, and computer readable media for data access

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2023008438A Division JP2024014683A (en) 2022-07-20 2023-01-24 System, method and computer-readable medium for data accessing

Publications (2)

Publication Number Publication Date
JP7220880B1 true JP7220880B1 (en) 2023-02-13
JP2024013660A JP2024013660A (en) 2024-02-01

Family

ID=85197979

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2022115919A Active JP7220880B1 (en) 2022-07-20 2022-07-20 Systems, methods, and computer readable media for data access
JP2023008438A Pending JP2024014683A (en) 2022-07-20 2023-01-24 System, method and computer-readable medium for data accessing

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2023008438A Pending JP2024014683A (en) 2022-07-20 2023-01-24 System, method and computer-readable medium for data accessing

Country Status (2)

Country Link
US (1) US20240031454A1 (en)
JP (2) JP7220880B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7423024B1 (en) 2023-07-21 2024-01-29 17Live株式会社 Systems and methods for data access

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002222123A (en) 2001-01-25 2002-08-09 Ibm Japan Ltd Connection accepting system, accepting server, client terminal, connection acceptance management method, storage medium, and computer program
JP2003216583A (en) 2002-01-25 2003-07-31 Nippon Telegr & Teleph Corp <Ntt> www SERVER DEVICE
JP2006190005A (en) 2005-01-04 2006-07-20 Internatl Business Mach Corp <Ibm> Priority determination device, service process allocation device, control method, and program
JP2007233559A (en) 2006-02-28 2007-09-13 Nippon Telegr & Teleph Corp <Ntt> Execution control device and method
JP2009164748A (en) 2007-12-28 2009-07-23 Kddi Corp Delay access control method and system
JP2012068734A (en) 2010-09-21 2012-04-05 Yahoo Japan Corp Crawling device and method therefor
JP2015011566A (en) 2013-06-28 2015-01-19 キヤノンマーケティングジャパン株式会社 Information processor, method for controlling information processor, and program
JP2015126302A (en) 2013-12-26 2015-07-06 日本電気株式会社 Data collection system and data collection method
CN104881479A (en) 2015-06-03 2015-09-02 北京京东尚科信息技术有限公司 Method and device for limiting minimum operating interval of users
JP2016127531A (en) 2015-01-07 2016-07-11 日本電信電話株式会社 Communication network system, network device therefor, communication band allocation control method and program
JP7062248B1 (en) 2021-12-17 2022-05-06 17Live株式会社 Computer programs, terminals and methods

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8502180B2 (en) * 2009-01-26 2013-08-06 Centre De Recherche Industrielle Du Quebec Apparatus and method having dual sensor unit with first and second sensing fields crossed one another for scanning the surface of a moving article
WO2011084814A2 (en) * 2009-12-21 2011-07-14 Cummins Ip, Inc. Apparatus, system, and method for mitigating diesel exhaust fluid deposits and associated conditions
KR101255204B1 (en) * 2012-07-23 2013-04-23 주식회사 베프스 Storage reader apparatus having security features and the method thereof
CN103369609B (en) * 2013-07-29 2017-02-08 海能达通信股份有限公司 Communication mode switching method and device
JP2017058979A (en) * 2015-09-16 2017-03-23 富士通株式会社 Delay information output device, delay information output method, and delay information output program
US10157648B1 (en) * 2017-07-18 2018-12-18 Micron Technology, Inc. Data output for high frequency domain

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002222123A (en) 2001-01-25 2002-08-09 Ibm Japan Ltd Connection accepting system, accepting server, client terminal, connection acceptance management method, storage medium, and computer program
JP2003216583A (en) 2002-01-25 2003-07-31 Nippon Telegr & Teleph Corp <Ntt> www SERVER DEVICE
JP2006190005A (en) 2005-01-04 2006-07-20 Internatl Business Mach Corp <Ibm> Priority determination device, service process allocation device, control method, and program
JP2007233559A (en) 2006-02-28 2007-09-13 Nippon Telegr & Teleph Corp <Ntt> Execution control device and method
JP2009164748A (en) 2007-12-28 2009-07-23 Kddi Corp Delay access control method and system
JP2012068734A (en) 2010-09-21 2012-04-05 Yahoo Japan Corp Crawling device and method therefor
JP2015011566A (en) 2013-06-28 2015-01-19 キヤノンマーケティングジャパン株式会社 Information processor, method for controlling information processor, and program
JP2015126302A (en) 2013-12-26 2015-07-06 日本電気株式会社 Data collection system and data collection method
JP2016127531A (en) 2015-01-07 2016-07-11 日本電信電話株式会社 Communication network system, network device therefor, communication band allocation control method and program
CN104881479A (en) 2015-06-03 2015-09-02 北京京东尚科信息技术有限公司 Method and device for limiting minimum operating interval of users
JP7062248B1 (en) 2021-12-17 2022-05-06 17Live株式会社 Computer programs, terminals and methods

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7423024B1 (en) 2023-07-21 2024-01-29 17Live株式会社 Systems and methods for data access

Also Published As

Publication number Publication date
JP2024014683A (en) 2024-02-01
US20240031454A1 (en) 2024-01-25
JP2024013660A (en) 2024-02-01

Similar Documents

Publication Publication Date Title
JP5223480B2 (en) Content distribution method and communication terminal device
KR101432303B1 (en) Bandwidth requesting device, client device, bandwidth requesting method, and recording medium
RU2491751C2 (en) Method of controlling temporary access in digital video network
US8341284B2 (en) Method and system for selecting a delivery method for media on demand
US20090178058A1 (en) Application Aware Networking
US20080307485A1 (en) Automatic extension of recording using in-band and out-of-band data sources
JP2010098526A (en) Receiving apparatus, content receiving method, and program
US11259063B2 (en) Method and system for setting video cover
KR20090130082A (en) Method and system for previewing media over a network
EP1768346A1 (en) Provision of game applications across a network according to the display characteristics of a user terminal
US9729611B2 (en) Method and system for ABR recording
JP2014078923A (en) Streaming data downloading method and computer readable recording medium
JP2016501416A (en) Content source selection in P2P networks
RU2454806C2 (en) Method, device and system to notify about events of real-time streaming protocol
US11966932B2 (en) Providing wireless network access
JP4930148B2 (en) Information processing apparatus, information processing method, and information processing program
JP7220880B1 (en) Systems, methods, and computer readable media for data access
KR100671635B1 (en) Service management using multiple service location managers
RU2654369C1 (en) Method for bandwidth management, iptv terminal device and communication system
JP2007074356A (en) Home network system
JP5087099B2 (en) Content transmission apparatus, playback control method, and playback control program
CN114666609A (en) Video data downloading method and device, electronic equipment and storage medium
US20120117627A1 (en) Authority Control Systems and Methods
JP2016036103A (en) Image distribution server and image distribution method
JP2003108393A (en) Load distribution method of video stream sending process and apparatus thereof, load distribution program and recording medium with the program recorded thereon

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220829

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220829

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20220829

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220920

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221115

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: 20221129

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20221206

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230124

R150 Certificate of patent or registration of utility model

Ref document number: 7220880

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150