JP2023548722A - SYSTEMS, METHODS AND COMPUTER-READABLE MEDIA FOR DETERMINING Cache TTL - Google Patents

SYSTEMS, METHODS AND COMPUTER-READABLE MEDIA FOR DETERMINING Cache TTL Download PDF

Info

Publication number
JP2023548722A
JP2023548722A JP2022522346A JP2022522346A JP2023548722A JP 2023548722 A JP2023548722 A JP 2023548722A JP 2022522346 A JP2022522346 A JP 2022522346A JP 2022522346 A JP2022522346 A JP 2022522346A JP 2023548722 A JP2023548722 A JP 2023548722A
Authority
JP
Japan
Prior art keywords
data object
ttl
cache
determining
ttlmin
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.)
Granted
Application number
JP2022522346A
Other languages
Japanese (ja)
Other versions
JP7426020B2 (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
Publication of JP2023548722A publication Critical patent/JP2023548722A/en
Application granted granted Critical
Publication of JP7426020B2 publication Critical patent/JP7426020B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored data

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

【課題】キャッシュTTLを決定するためのシステム、方法、及びコンピュータ可読媒体の提供。【解決手段】本発明は、キャッシュサーバ上のデータオブジェクトのTTL(Time to Live、キャッシュ保持時間)を決定するためのシステム、方法、及びコンピュータ可読媒体に関し、当該方法が、データオブジェクトの更新頻度を検出する工程と、データオブジェクトにアクセスするユーザの数を検出する工程と、更新頻度及びユーザの数に基づいてTTLを決定する工程とを含み、本発明は、最新のデータオブジェクトをユーザに提供し、バックエンドサーバを過負荷から保護することができる。【選択図】図4A system, method, and computer-readable medium for determining a cache TTL is provided. The present invention relates to a system, method, and computer-readable medium for determining the time to live (TTL) of a data object on a cache server, the method determining the update frequency of the data object. detecting, detecting the number of users accessing the data object, and determining a TTL based on the update frequency and the number of users, the present invention provides the latest data object to the user. , the backend server can be protected from overload. [Selection diagram] Figure 4

Description

本発明は、インターネット上の情報の保存に関するものであり、特に、インターネットのキャッシュ上のデータオブジェクトの保存に関する。 FIELD OF THE INVENTION The present invention relates to the storage of information on the Internet, and more particularly to the storage of data objects on Internet caches.

キャッシュやキャッシング技術は、オペレーティングシステム、CDN(コンテンツデリバリーネットワーク)を含むネットワーク層、ドメインネームシステム(DNS)、ウェブアプリケーション、データベースなどの技術全体に適用され、活用されている。Q&Aポータル、ゲーム、メディア共有、コンテンツストリーミング、ソーシャルネットワーキングなど、読み取り負荷の高い多くのアプリケーションワークロードにおいて、キャッシュを使用することで遅延を減らし、1秒あたりの入出力処理(IOPS)を向上させることができる。キャッシュされる情報には、データベースへのクエリ結果、計算負荷の高い計算、アプリケーションプログラミングインターフェイス(API)の要求/応答、およびHTML、JavaScript、画像ファイルなどのウェブアーティファクトが含まれる。 Caches and caching technologies are applied and utilized across technologies such as operating systems, network layers including CDNs (content delivery networks), domain name systems (DNS), web applications, and databases. Use caching to reduce latency and improve input/output operations per second (IOPS) for many read-intensive application workloads, such as Q&A portals, gaming, media sharing, content streaming, and social networking. Can be done. Cached information includes results of queries to databases, computationally intensive calculations, application programming interface (API) requests/responses, and web artifacts such as HTML, JavaScript, and image files.

キャッシングは、CDNサービスにとって非常に重要である。CDNは、ウェブサイトのサーバやアプリケーションのバックエンドサーバなどのバックエンドサーバにあるコンテンツ/データオブジェクトやそのコピーをプロキシサーバやキャッシュサーバに移動し、ウェブサイトの訪問者や近隣からアクセスするアプリケーションの利用者がコンテンツにすばやくアクセスできるようにする。 Caching is very important for CDN services. A CDN moves content/data objects and copies of them from back-end servers, such as website servers or application back-end servers, to proxy servers or caching servers for use by website visitors or applications accessed by neighbors. Give users quick access to content.

TTL(Time to Live、キャッシュ保持時間)とは、コンテンツ/データオブジェクト(またはコンテンツ/データオブジェクトのコピー)がキャッシュサーバなどのキャッシュシステムに保存されてから削除またはリフレッシュされるまでの時間である。CDNのコンテキストで、TTLは一般的にコンテンツキャッシュを指し、これはウェブサイトやアプリケーションサーバ上のリソース(画像、価格、テキスト、ストリーミングコンテンツなど)のコピーをCDNキャッシュサーバに保存してページロード速度を向上させ、オリジンサーバの帯域消費と作業負荷を軽減するプロセスである。 TTL (Time to Live) is the time from when a content/data object (or a copy of a content/data object) is stored in a cache system such as a cache server until it is deleted or refreshed. In the context of a CDN, TTL generally refers to content caching, which stores a copy of resources (images, prices, text, streaming content, etc.) on a website or application server on a CDN cache server to improve page load speed. It is a process that improves and reduces bandwidth consumption and workload on origin servers.

本発明の一実施態様に係る方法は、1または複数のコンピュータによって実行される、キャッシュサーバ上のデータオブジェクトのTTL(Time to Live、キャッシュ保持時間)を決定するための方法であり、当該データオブジェクトの更新頻度を検出する工程と、当該データオブジェクトにアクセスするユーザ数を検出する工程と、当該更新頻度と当該ユーザ数に基づいて当該TTLを決定する工程を含む。 A method according to an embodiment of the present invention is a method for determining a TTL (Time to Live) of a data object on a cache server, which is executed by one or more computers. Detecting the update frequency of the data object, detecting the number of users accessing the data object, and determining the TTL based on the update frequency and the number of users.

本発明の一実施態様に係るシステムは、1または複数のプロセッサを含む、キャッシュサーバ上のデータオブジェクトの TTLを決定するためのシステムであって、当該1または複数のコンピュータプロセッサが、機械読み取り可能な命令を実行し、当該データオブジェクトの更新頻度を検出する工程と、当該データオブジェクトにアクセスするユーザ数を検出する工程と、当該更新頻度と当該ユーザ数に基づいて 当該TTLを決定する工程と、を実行する。 According to one embodiment of the invention, a system for determining a TTL of a data object on a cache server includes one or more processors, the one or more computer processors having a machine-readable Executing the instruction and detecting the update frequency of the data object; detecting the number of users accessing the data object; and determining the TTL based on the update frequency and the number of users. Execute.

本発明の一実施態様に係るコンピュータ可読媒体は、キャッシュサーバ上のデータオブジェクトのTTLを決定するためのプログラムを含む非一時的なコンピュータ可読媒体であって、当該プログラムが、1または複数のコンピュータに、当該データオブジェクトの更新頻度を検出する工程と、当該データオブジェクトにアクセスするユーザ数を検出する工程と、当該更新頻度と当該ユーザ数に基づいて当該TTLを決定する工程と、を実行させる。 According to one embodiment of the present invention, a computer-readable medium is a non-transitory computer-readable medium that includes a program for determining a TTL of a data object on a cache server, the computer-readable medium comprising: a program for determining a TTL of a data object on a cache server; , detecting the update frequency of the data object, detecting the number of users accessing the data object, and determining the TTL based on the update frequency and the number of users.

本発明の一部の実施態様に基づく通信システムの構成を示す概略図である。1 is a schematic diagram illustrating a configuration of a communication system according to some embodiments of the present invention. FIG. 本発明の一部の実施態様に基づく通信システムの例示的な機能構成図である。1 is an exemplary functional block diagram of a communication system according to some embodiments of the present invention. FIG. 本発明の一部の実施態様に基づく通信システムの動作を示す例示的なシーケンス図である。1 is an exemplary sequence diagram illustrating the operation of a communication system according to some embodiments of the present invention. FIG. 本発明の一部の実施態様に基づく工程を示すフローチャートである。1 is a flowchart illustrating steps according to some embodiments of the invention.

データオブジェクトのTTLは、キャッシュサーバ上の当該データオブジェクト(または当該データオブジェクトのコピー)の更新速度を管理し、当該データオブジェクトにアクセス可能なアプリケーションやウェブサイトを訪れる訪問者に当該データオブジェクトの「古い」バージョンが提供されないように確約することが理想的である。TTLは、アプリケーションやウェブサイトのページロード時間(つまり、キャッシュされたデータはロードが速くなる)とコンテンツの鮮度(つまり、長い間キャッシュされたデータが古くなる可能性がある)に直接影響を与える。 The TTL of a data object governs the update rate of the data object (or a copy of the data object) on a cache server and informs visitors to applications and websites that have access to the data object that the data object is ``stale''. Ideally, you should ensure that no ``version'' is provided. TTL directly impacts an application or website's page load time (i.e. cached data will load faster) and content freshness (i.e. data cached for a long time may become stale) .

静的なファイルやデータオブジェクト(画像ファイル、PDF など)はほとんど更新されないため、通常はより長いTTLを有する。例えば、eコマースサイトの商品画像のコレクションは、静的コンテンツに相当する。これらはめったに更新されないため、長期間(例えば、数日または数週間)キャッシュしておくことができる。このため、TTLの設定は予測可能で、保守も容易である。 Static files and data objects (image files, PDFs, etc.) typically have longer TTLs because they are rarely updated. For example, a collection of product images on an e-commerce site corresponds to static content. Since these are rarely updated, they can be cached for long periods of time (eg, days or weeks). Therefore, TTL settings are predictable and easy to maintain.

逆に、動的なコンテンツやデータオブジェクト(HTMLファイルなど)は常に更新されるため、正確なTTLの設定が複雑になる。例えば、製品の下にあるコメント欄は、頻繁に変更されるため、動的コンテンツとみなされる。TTLを長く設定しすぎると、コメントの反映が間に合わなくなる。 Conversely, dynamic content and data objects (such as HTML files) are constantly updated, making setting an accurate TTL complicated. For example, a comment section under a product is considered dynamic content because it changes frequently. If the TTL is set too long, comments will not be reflected in time.

TTLの設定でもう1つ懸念すべき点は、データオブジェクトにアクセスするユーザ数である。多くのユーザが該当するデータオブジェクトにアクセスしようとしているときにTTLを短く設定しすぎると、TTLが終了したときに、多くのユーザがキャッシュサーバで応答を得られず、データオブジェクトのオリジンサーバにアクセス(オリジンサーバに直接アクセスする場合とキャッシュサーバを介してアクセスする場合がある)しなければならなくなる危険性がある。オリジンサーバがサポートできる最大容量を超える数のユーザがオリジンサーバにアクセスした場合、通常、オリジンサーバの1秒あたりのクエリ数(QPS)が過大または過負荷となり、サーバがクラッシュダウンしたり、一部のユーザが正常にデータアクセスを達成できなくなったりする可能性がある。 Another consideration in setting TTL is the number of users accessing the data object. If you set the TTL too short when many users are trying to access the data object in question, when the TTL expires, many users will not get a response on the cache server and will access the data object's origin server. (There are cases where the origin server is accessed directly and accesses via a cache server). When more users access an origin server than the maximum capacity the origin server can support, the queries per second (QPS) of the origin server typically becomes excessive or overloaded, causing the server to crash down or users may not be able to successfully access data.

したがって、データオブジェクトの更新頻度やデータオブジェクトにアクセスするユーザ数などの要因に基づいて、データオブジェクトのキャッシュサーバ上におけるTTLをどのように決定するかは、最も新鮮なデータを提供し、ユーザのアクセス障害を防止するとともに、オリジンサーバを機能停止から保護するために極めて重要である。一部の実施態様において、データオブジェクトは、リソースまたはリソースデータと呼ぶことができる。 Therefore, based on factors such as the data object's update frequency and the number of users accessing the data object, how to determine the TTL on a data object's cache server provides the freshest data and the most user-accessible This is extremely important to prevent failures and protect origin servers from outages. In some implementations, a data object may be referred to as a resource or resource data.

図1に本発明の一部の実施態様に基づく通信システム1の構成を示す概略図を示す。通信システム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はそれぞれ情報処理装置の一例である。一部の実施態様において、ストリーミングは、ライブストリーミングまたはビデオ再生とすることができる。一部の実施態様において、ストリーミングは、オーディオストリーミングおよび/またはビデオストリーミングとすることができる。一部の実施態様において、ストリーミングは、オンラインショッピング、トークショー、タレントショー、娯楽イベント、スポーツイベント、音楽ビデオ、映画、コメディ、コンサートなどのコンテンツを含むことができる。 FIG. 1 shows a schematic diagram showing the configuration of a communication system 1 based on some embodiments of the present invention. The communication system 1 can provide live streaming services with interaction through content. "Content" here refers to digital content that can be played back on a computer device. In other words, the communication system 1 allows 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 (for example, the Internet may be used). Backend server 30 may be a server that synchronizes interactions between user terminals and/or streaming server 40 . In some implementations, backend server 30 may be an application (APP) provider's origin server. Streaming server 40 is a server for handling or providing streaming data or video data. In some implementations, backend server 30 and streaming server 40 may be independent servers. In some implementations, backend server 30 and streaming server 40 may be integrated into one server. In some implementations, user terminal 10 is a client device for live streaming. In some implementations, user terminal 10 may be referred to as a viewer, streamer, anchor, podcaster, audience, listener, etc. The user terminal 10, the backend server 30, and the streaming server 40 are each examples of information processing devices. In some implementations, streaming can be live streaming or video playback. In some implementations, streaming can be audio streaming and/or video streaming. In some implementations, streaming can include content such as online shopping, talk shows, talent shows, entertainment events, sporting events, music videos, movies, comedies, concerts, and the like.

図2に、通信システム1の例示的な機能構成図を示す。図2においては、ネットワーク90を省略し、ユーザ端末10とバックエンドサーバ30を接続するCDNサーバ50が示されている。当該CDNサーバ50は、当該ネットワーク90の一部であってもよい。一部の実施態様において、当該CDNサーバ50は、キャッシュサーバとして機能してもよい。 FIG. 2 shows an exemplary functional configuration diagram of the communication system 1. In FIG. 2, the network 90 is omitted and a CDN server 50 connecting the user terminal 10 and the back-end server 30 is shown. The CDN server 50 may be part of the network 90. In some implementations, the CDN server 50 may function as a cache server.

本実施態様において、当該ユーザ端末10は、UIユニット11と、デコーダー12と、レンダラー13と、ディスプレイ13を含む。当該ユーザ端末10は、例えば、API要求を送信し、API応答を受信することにより、当該CDNサーバ50を介して、そのデータオブジェクトの当該バックエンドサーバ30及び当該ストリーミングサーバ40にアクセスすることができる。当該デコーダー12は、受信したデータオブジェクト(ストリーミングデータであってもよい)をデコードし、当該レンダラー13が当該ディスプレイ14に表示する動画を生成する。当該ディスプレイ14は、当該ユーザ端末10のコンピュータ画面で当該映像を描写または表示する。当該UIユニット11は、当該ユーザ端末10のユーザと相互作用するように構成されており、例えば、アプリケーションに関する当該ユーザの操作を受け付ける。一部の実施態様において、当該ユーザ端末10は、動画をエンコードしてストリーミングデータを生成するためのエンコーダ(図示せず)を含んでもよい。 In this embodiment, the user terminal 10 includes a UI unit 11, a decoder 12, a renderer 13, and a display 13. The user terminal 10 can access the backend server 30 and the streaming server 40 of the data object via the CDN server 50, for example, by sending an API request and receiving an API response. . The decoder 12 decodes the received data object (which may be streaming data) and generates a video that the renderer 13 displays on the display 14 . The display 14 depicts or displays the image on the computer screen of the user terminal 10. The UI unit 11 is configured to interact with the user of the user terminal 10, and receives, for example, the user's operations regarding applications. In some implementations, the user terminal 10 may include an encoder (not shown) to encode video and generate streaming data.

図2に示す実施態様における当該CDNサーバ50は、キャッシュ検出部52と、キャッシュストレージユニット54と、TTL管理ユニット56を含む。当該キャッシュ検出部52は、当該CDNサーバ50が、以前に取得またはアクセスした際に要求されたデータオブジェクトまたはリソースを保存しているか否かをチェックするように構成される。当該キャッシュストレージユニット54は、当該ユーザ端末10により以前に取得されたバックエンドサーバ30及び/またはストリーミングサーバ40からのデータオブジェクト(またはデータオブジェクトのコピー)を保存するように構成されている。当該TTL管理ユニット55は、各データオブジェクトについて、TTLまたはキャッシュストレージユニット54に保存される期間を管理する。 The CDN server 50 in the embodiment shown in FIG. 2 includes a cache detector 52, a cache storage unit 54, and a TTL management unit 56. The cache detector 52 is configured to check whether the CDN server 50 stores the requested data object or resource when previously obtained or accessed. The cache storage unit 54 is configured to store data objects (or copies of data objects) from the backend server 30 and/or the streaming server 40 previously obtained by the user terminal 10 . The TTL management unit 55 manages the TTL or the period of time that each data object is stored in the cache storage unit 54 .

例えば、当該CDNサーバ50は、当該ユーザ端末10から当該バックエンドサーバ30内のデータオブジェクトにアクセスするための要求(API要求など)を受信すると、キャッシュ検出部52は、マッピング操作または比較操作を実行し、要求されたデータオブジェクトがキャッシュストレージユニット54に保存されているか否かを検出することができる。要求されたデータオブジェクトが当該キャッシュストレージユニット54で見つかる(キャッシュヒットと呼ばれることがある)場合、当該CDNサーバ50は、当該バックエンドサーバ30にアクセスすることなく、保存されたデータオブジェクト、またはキャッシュされたデータオブジェクトを当該ユーザ端末10に送信する。要求されたデータオブジェクトが当該キャッシュストレージユニット54で見つからない(キャッシュミスと呼ばれることがある)場合、当該CDNサーバ50は、当該データオブジェクトにアクセスするために当該バックエンドサーバ30に要求を渡すことができる。キャッシュミスは、当該データオブジェクトが初めて要求されたとき、または当該キャッシュストレージユニット54に保存されたデータオブジェクトの(以前に取得したときの)TTLが期限切れになったときに起こり得る。 For example, when the CDN server 50 receives a request (such as an API request) for accessing a data object in the backend server 30 from the user terminal 10, the cache detection unit 52 executes a mapping operation or a comparison operation. and detect whether the requested data object is stored in the cache storage unit 54. If the requested data object is found in the cache storage unit 54 (sometimes referred to as a cache hit), the CDN server 50 retrieves the stored or cached data object without accessing the backend server 30. The data object is sent to the user terminal 10. If the requested data object is not found in the cache storage unit 54 (sometimes referred to as a cache miss), the CDN server 50 may pass the request to the backend server 30 to access the data object. can. A cache miss may occur when the data object is requested for the first time or when the TTL of the data object stored in the cache storage unit 54 (when previously retrieved) has expired.

図2に示す実施態様における当該バックエンドサーバ30は、処理ユニット31、ストレージユニット32、頻度検出ユニット33、ユーザ数検出ユニット34を含む。当該バックエンドサーバ30は、当該CDNサーバ50から要求を受信し、対応するデータオブジェクトで応答する。当該バックエンドサーバ30は、当該CDNサーバ50からAPI要求を受信し、API応答を返すことができる。当該API応答は、要求されたデータオブジェクトとそれに対応するTTL情報を含むことができる。当該TTL情報は、当該TTL管理ユニット56で使用し、当該キャッシュストレージユニット54に保存される当該データオブジェクトに対して当該TTLを設定するために使用されてもよい。 The backend server 30 in the embodiment shown in FIG. 2 includes a processing unit 31, a storage unit 32, a frequency detection unit 33, and a user number detection unit 34. The backend server 30 receives requests from the CDN server 50 and responds with corresponding data objects. The backend server 30 can receive an API request from the CDN server 50 and return an API response. The API response may include the requested data object and its corresponding TTL information. The TTL information may be used by the TTL management unit 56 to set the TTL for the data object stored in the cache storage unit 54.

当該ストレージユニット32は、当該CDNサーバ50を介して当該ユーザ端末10によりアクセスされるデータオブジェクトを含め、多様なデータとプログラムを保存することができる。当該頻度検出ユニット33は、データオブジェクトの更新頻度を検出または受信するように構成される。一部の実施態様において、当該頻度検出ユニット33は、更新頻度について、Datadogなどの外部統計システムにアクセスしてもよく、これはAPI要求によって行われてもよい。当該ユーザ数検出ユニット34は、データオブジェクトにアクセスするユーザ数を検出または受信するように構成される。一部の実施態様において、当該ユーザ数検出ユニット34は、ユーザ数について、Datadogデータベースなどの外部データベースにアクセスしてもよく、これはAPI要求によって行われてもよい。当該処理ユニット31は、他の多くの機能の中でも、当該CDNサーバ50に当該CDNサーバ50からの要求に応答して、当該CDNサーバ50に対し更新または応答されるデータオブジェクトのTTLを決定するように構成される。一部の実施態様において、当該処理ユニット31は、当該データオブジェクトの更新頻度及び/または当該データオブジェクトにアクセスする当該ユーザ数に基づいてTTLを決定する。 The storage unit 32 can store a variety of data and programs, including data objects accessed by the user terminal 10 via the CDN server 50. The frequency detection unit 33 is configured to detect or receive the update frequency of the data object. In some implementations, the frequency detection unit 33 may access an external statistics system, such as Datadog, for the update frequency, and this may be done by an API request. The number of users detection unit 34 is configured to detect or receive the number of users accessing the data object. In some implementations, the user count detection unit 34 may access an external database, such as a Datadog database, for the user count, and this may be done by an API request. The processing unit 31, among many other functions, causes the CDN server 50, in response to a request from the CDN server 50, to determine the TTL of a data object being updated or responded to to the CDN server 50. It is composed of In some implementations, the processing unit 31 determines the TTL based on the update frequency of the data object and/or the number of users accessing the data object.

一部の実施態様において、当該処理ユニット31は、CPU、GPU等として構成され、アプリの一部であり得る、当該ストレージユニット32に保存された各種プログラムを読み出し、当該プログラムに含まれる各種コマンドや機械読み取り可能な命令を実行する。一部の実施態様において、当該バックエンドサーバ30に含まれる上述の各部材は、処理装置またはプロセッサとみなされてもよい。 In some embodiments, the processing unit 31 is configured as a CPU, GPU, etc., and reads various programs stored in the storage unit 32, which may be part of an application, and reads various commands and commands included in the programs. Execute machine-readable instructions. In some implementations, each of the above-mentioned components included in the backend server 30 may be considered a processing device or processor.

一部の実施態様において、当該バックエンドサーバ30は、ライブストリーミングサービスを提供するアプリケーションのオリジンサーバである。この場合、当該バックエンドサーバ30内のデータオブジェクトは、ストリーマーのリーダーボードを表す、またはそれに対応するデータオブジェクト、コメントまたはメッセージ情報を表す、またはそれに対応するデータオブジェクト、及び/または、多くのユーザがアクセスする人気ページまたはホットなページであり得るアプリケーションのページを表す、またはそれに対応するデータオブジェクトを含むことができる。当該ストリーミングサーバ40のデータオブジェクトは、ストリーマーからのストリーミングデータを含んでもよい。 In some implementations, the backend server 30 is an origin server for an application that provides live streaming services. In this case, the data objects in the backend server 30 may be data objects representing or corresponding to a leaderboard of streamers, data objects representing or corresponding to comment or message information, and/or data objects representing or corresponding to a leaderboard of streamers, and/or data objects representing or corresponding to a leaderboard of streamers, It may include data objects representing or corresponding to pages of the application, which may be popular or hot pages to access. The data object of the streaming server 40 may include streaming data from a streamer.

図3に、本発明の一部の実施態様に基づく通信システムの動作を示す例示的なシーケンス図を示す。一部の実施態様において、図3に、ユーザ端末からの要求に応答して、バックエンドサーバ内のデータオブジェクトがどのようにコピー、更新またはCDNサーバに送信されるかを示す。 FIG. 3 depicts an exemplary sequence diagram illustrating the operation of a communication system according to some embodiments of the present invention. In some implementations, FIG. 3 illustrates how data objects in a backend server are copied, updated, or sent to a CDN server in response to a request from a user terminal.

工程S100において、当該ユーザ端末10は、当該CDNサーバ50にAPI要求を送信し、例えば、アプリケーションやウェブサイトのページ、リーダーボード、メッセージセクションを表す、またはそれに対応し得るデータオブジェクトまたはリソースを要求する。 In step S100, the user terminal 10 sends an API request to the CDN server 50, requesting a data object or resource that may represent or correspond to a page, leaderboard, message section of an application or website, for example. .

工程S102において、当該CDNサーバ50は、要求された当該データオブジェクトが保存されているか否かを判断する。例えば、キャッシュ検出部52は、検索操作またはマッピング操作を実行し、要求されたデータオブジェクトが当該キャッシュストレージユニット54に保存されているか否かを判断する。本実施態様において、要求されたデータオブジェクトがキャッシュストレージユニット54に見つからず、キャッシュミスとなり、フローは工程S104に進む。 In step S102, the CDN server 50 determines whether the requested data object is stored. For example, the cache detector 52 performs a search or mapping operation to determine whether the requested data object is stored in the cache storage unit 54 . In this embodiment, the requested data object is not found in cache storage unit 54, resulting in a cache miss and flow proceeds to step S104.

工程S104において当該CDNサーバ50は、ユーザ端末10が要求したデータオブジェクトのAPI要求を当該バックエンドサーバ30に送信する(または、当該ユーザ端末10のAPI要求を渡す)。 In step S104, the CDN server 50 transmits an API request for the data object requested by the user terminal 10 to the backend server 30 (or passes the API request of the user terminal 10).

工程S106において、当該バックエンドサーバ30は、要求されたデータオブジェクトを準備または取得して、当該データオブジェクトのTTLを決定し、当該データオブジェクトが当該CDNサーバ50にどのくらいの期間保存されるかにこれが適用される。TTLの決定に関する詳細は、後述する。 In step S106, the backend server 30 prepares or obtains the requested data object and determines the TTL of the data object, which determines how long the data object will be stored in the CDN server 50. Applicable. Details regarding the determination of TTL will be described later.

工程S108において、当該バックエンドサーバ30は、要求されたデータオブジェクト(当該データオブジェクトのコピー)と対応するTTL情報を少なくとも含む、API応答を当該CDNサーバ50に送信する。当該TTL情報は、当該CDNサーバ50の当該TTL管理ユニット56により、データオブジェクトの保存期間の長さを管理するために使用される。 In step S108, the backend server 30 sends an API response to the CDN server 50, including at least TTL information corresponding to the requested data object (a copy of the data object). The TTL information is used by the TTL management unit 56 of the CDN server 50 to manage the length of the data object's retention period.

工程S110において、当該CDNサーバ50は、要求された当該データオブジェクトとそのTTL情報を含む、当該API応答を当該バックエンドサーバ30から受信する。当該CDNサーバ50は、当該データオブジェクトを当該キャッシュストレージユニット54に保存し、TTL情報に従って、当該TTL管理ユニット56内で対応するTTLを設定することができる。 In step S110, the CDN server 50 receives the API response including the requested data object and its TTL information from the backend server 30. The CDN server 50 may store the data object in the cache storage unit 54 and set the corresponding TTL in the TTL management unit 56 according to the TTL information.

工程S112において、当該CDNサーバ50は、少なくとも要求された当該データオブジェクトを含むAPI応答を当該ユーザ端末10に送信する。ここまでで、データオブジェクトにアクセスする例示的なラウンドが完了し、当該ユーザ端末10は、受信したデータオブジェクトをアプリケーションにおける操作、例えば、リーダーボードの確認、アプリケーションのページ表示、または最新のコメント情報の取得のために使用することができる。 In step S112, the CDN server 50 transmits an API response including at least the requested data object to the user terminal 10. By now, an exemplary round of accessing a data object has been completed, and the user terminal 10 can use the received data object for operations in an application, such as checking a leaderboard, displaying a page of an application, or providing information on the latest comments. It can be used for acquisition.

工程S114において、ユーザ端末10は、再び、同じデータオブジェクトにアクセスするためのAPI要求を当該CDNサーバ50に送信するが、これは、ページ、リーダーボードまたはコメント欄を更新するためのアプリケーションにおける定期的な要求またはトリガーに従って実行されてもよい。 In step S114, the user terminal 10 again sends an API request to the CDN server 50 for accessing the same data object, but this is a regular request in the application for updating the page, leaderboard, or comment field. may be executed according to a specific request or trigger.

工程S116において、当該CDNサーバ50は、要求された当該データオブジェクトが保存されているか否かを判断する。例えば、キャッシュ検出部52は、検索操作またはマッピング操作を実行し、要求されたデータオブジェクトが当該キャッシュストレージユニット54に保存されているか否かを判断する。この例において、以前に取得またはアクセスしたデータオブジェクトが工程S110で当該キャッシュストレージユニット54に保存されており、対応するTTLがまだ失効していない。したがって、要求されたデータオブジェクトを当該キャッシュストレージユニット54で見つけることができ、これがキャッシュヒットとなって、フローは当該バックエンドサーバ30にアクセスする必要なく工程S118に進む。 In step S116, the CDN server 50 determines whether the requested data object is stored. For example, the cache detector 52 performs a search or mapping operation to determine whether the requested data object is stored in the cache storage unit 54 . In this example, a previously obtained or accessed data object was stored in the cache storage unit 54 at step S110 and the corresponding TTL has not yet expired. Therefore, the requested data object can be found in the cache storage unit 54, resulting in a cache hit and flow proceeds to step S118 without the need to access the backend server 30.

工程S118において、当該CDNサーバ50は当該キャッシュストレージユニット54に保存されている要求されたデータオブジェクトを少なくとも含むAPI応答をユーザ端末10に送信する。この場合、データオブジェクトの内容は変更されない。 In step S118, the CDN server 50 sends to the user terminal 10 an API response that includes at least the requested data object stored in the cache storage unit 54. In this case, the contents of the data object remain unchanged.

図4に本発明の一部の実施態様に基づく工程のフローチャートを示す。図4に、図3の工程S106において、アクセスされたデータオブジェクトのTTLがどのように当該バックエンドサーバ30によって決定され得るのかを示す。 FIG. 4 shows a flowchart of steps according to some embodiments of the invention. FIG. 4 shows how the TTL of the accessed data object may be determined by the backend server 30 in step S106 of FIG.

工程S200において、要求されたデータオブジェクトの更新頻度が、例えば、当該バックエンドサーバ30の当該頻度検出ユニット33により、検出または受信される。一部の実施態様において、当該頻度検出ユニット33は、更新頻度について、Datadogデータベースなどの外部データベースにアクセスしてもよく、これはAPI要求によって行われてもよい。当該データオブジェクトはさまざまな方法で更新され得る。例えば、リーダーボードやコメント欄に対応するデータオブジェクトは、さまざまなユーザ端末からの投稿や入力情報によって、当該データオブジェクトを管理または保持するデータベース(当該バックエンドサーバまたは別のデータベースであり得る)に更新される可能性がある。別の例として、アプリケーションのホットなページまたは人気ページに対応するデータオブジェクトは、当該アプリケーションの当該バックエンドサーバによって更新され得るため、更新頻度のために別のデータベースにアクセスする必要がないことがある。 In step S200, the update frequency of the requested data object is detected or received, for example by the frequency detection unit 33 of the backend server 30. In some implementations, the frequency detection unit 33 may access an external database, such as the Datadog database, for the update frequency, and this may be done by an API request. The data object may be updated in various ways. For example, a data object corresponding to a leaderboard or a comment field is updated by posts and input information from various user terminals to a database (which may be the backend server or another database) that manages or maintains the data object. There is a possibility that As another example, data objects corresponding to hot or popular pages of an application may be updated by the application's backend server and thus may not require access to a separate database for update frequency. .

工程S202において、当該データオブジェクトの更新頻度に基づいて、最大キャッシュ保持時間TTLmaxが、例えば、当該バックエンドサーバ30の処理ユニット31により決定される。一部の実施態様において、当該TTLmaxは、当該データオブジェクトの更新頻度が多いとき、より短く決定される。一部の実施態様において、当該TTLmaxは当該更新頻度に反比例する。一部の実施態様において、当該TTLmaxは、当該データオブジェクトの当該更新頻度の逆数と等しい、またはそれ以下に決定される。例えば、更新頻度が1秒当たり2回である場合、TTLmaxは、1/2秒に等しい、またはそれ以下とすることができる。また、別の例として、更新頻度が5秒に1回の場合、TTLmaxは5秒以下とすることができる。一部の実施態様において、インターネットにおける信号伝送遅延を考慮し、TTLmaxは更新頻度の逆数から所定のオフセットを有するように設定されてもよく、そのうち、この所定のオフセットは信号伝送遅延またはAPI応答時間をカバーまたは補償するために用いられ、ネットワーク条件など実際の実践に従い決定することができる。例えば、更新頻度が5秒に1回の場合、TTLmaxは(5-2)秒に等しくてもよく、そのうち、5は頻度の逆数であり、2は所定のオフセットである。 In step S202, the maximum cache retention time TTLmax is determined, for example, by the processing unit 31 of the backend server 30, based on the update frequency of the data object. In some implementations, the TTLmax is determined to be shorter when the data object is updated more frequently. In some implementations, the TTLmax is inversely proportional to the update frequency. In some implementations, the TTLmax is determined to be less than or equal to the inverse of the update frequency of the data object. For example, if the update frequency is 2 times per second, TTLmax may be less than or equal to 1/2 second. Further, as another example, if the update frequency is once every 5 seconds, TTLmax can be set to 5 seconds or less. In some implementations, considering the signal transmission delay in the Internet, TTLmax may be set to have a predetermined offset from the inverse of the update frequency, in which the predetermined offset is the signal transmission delay or the API response time. may be used to cover or compensate, and may be determined according to actual practice such as network conditions. For example, if the update frequency is once every 5 seconds, TTLmax may be equal to (5-2) seconds, where 5 is the reciprocal of the frequency and 2 is the predetermined offset.

工程S204において、当該データオブジェクトにアクセスするユーザ数が、例えば、当該バックエンドサーバ30の当該ユーザ数検出ユニット34により、検出または受信される。一部の実施態様において、当該ユーザ数検出ユニット34は、ユーザ数について、Datadogデータベースなどの外部データベースにアクセスしてもよく、これはPI要求によって行われてもよい。 In step S204, the number of users accessing the data object is detected or received, for example, by the user number detection unit 34 of the backend server 30. In some implementations, the user count detection unit 34 may access an external database, such as a Datadog database, for the user count, and this may be done by a PI request.

工程S206において、当該データオブジェクトにアクセスするユーザ数に基づいて、最小キャッシュ保持時間TTLminが、例えば、当該バックエンドサーバ30の当該処理ユニット31により決定される。一部の実施態様において、当該TTLminは、当該データオブジェクトにアクセスするユーザ数が増加したとき、より長く決定される。一部の実施態様において、当該TTLminは、当該TTLminが失効した後に当該データオブジェクトを提供する当該バックエンドサーバに到達する当該ユーザ数からの推定QPSが、当該バックエンドサーバの最大QPS容量以下となるように決定される。 In step S206, a minimum cache retention time TTLmin is determined, for example, by the processing unit 31 of the backend server 30, based on the number of users accessing the data object. In some implementations, the TTLmin is determined to be longer when the number of users accessing the data object increases. In some implementations, the TTLmin is such that the estimated QPS from the number of users reaching the backend server serving the data object after the TTLmin expires is less than or equal to the maximum QPS capacity of the backend server. It is determined as follows.

工程S208において、当該データオブジェクトのTTLは、当該最大キャッシュ保持時間TTLと当該最小キャッシュ保持時間TTLminに基づいて、例えば、当該バックエンドサーバ30の当該処理ユニット31により決定される。一部の実施態様において、当該TTLは、当該TTLminと等しい、またはそれよりも大きいものとして決定される。一部の実施態様において、当該TTLは、当該TTLmaxと等しい、またはそれよりも小さいものとして決定される。一部の実施態様において、当該TTLは、当該TTLmaxと等しい、またはそれよりも小さく、かつ当該TTLminと等しい、またはそれよりも大きいものとして決定される。一部の実施態様において、当該TTLは、TTLmaxがTTLminと等しい、またはそれよりも小さい場合、TTLminとして決定される。 In step S208, the TTL of the data object is determined, for example, by the processing unit 31 of the backend server 30, based on the maximum cache retention time TTL and the minimum cache retention time TTLmin. In some embodiments, the TTL is determined to be equal to or greater than the TTLmin. In some implementations, the TTL is determined to be less than or equal to the TTLmax. In some implementations, the TTL is determined to be less than or equal to the TTLmax and greater than or equal to the TTLmin. In some implementations, the TTL is determined as TTLmin if TTLmax is less than or equal to TTLmin.

一部の実施態様において、最大キャッシュ保持時間TTLmaxは、TTLの最大値を設定し、それにより、当該ユーザ端末が常に当該データオブジェクトの最新バージョンを取得するよう確約する。更新頻度の高いデータオブジェクトでは、対応するTTLmaxが短く設定され、当該データオブジェクトが当該CDNサーバ上に存在する時間が短くなる。したがって、ユーザ端末からの当該データオブジェクトの要求は、(当該TTLmaxが失効し、当該データオブジェクトが当該CDNサーバ上で見つからなくなったときに)当該CDNサーバを経由して当該バックエンドサーバにより高い頻度でアクセスし、最新バージョンのデータオブジェクトを取得する必要が生じることになる。一部の実施態様において、低い更新頻度のデータオブジェクトの場合、対応するTTLmaxはより長く設定され、当該データオブジェクトは当該CDNサーバ上により長い時間存在する。したがって、ユーザ端末からの当該データオブジェクトの要求は、(当該TTLmaxが失効し、当該データオブジェクトが当該CDNサーバ上で見つからなくなったときに)当該CDNサーバを経由して当該バックエンドサーバにアクセスする必要性が生じる頻度がより低くなり、当該バックエンドサーバの負担が軽減される可能性がある。 In some implementations, the maximum cache retention time TTLmax sets a maximum value for TTL, thereby ensuring that the user terminal always obtains the latest version of the data object. For data objects that are updated frequently, the corresponding TTLmax is set short, and the time that the data object exists on the CDN server is shortened. Therefore, requests for the data object from the user terminal will be sent to the backend server via the CDN server more frequently (when the TTLmax expires and the data object is no longer found on the CDN server). You will need to access and obtain the latest version of the data object. In some implementations, for data objects with low update frequency, the corresponding TTLmax is set longer and the data objects exist on the CDN server for a longer time. Therefore, a request for the data object from the user terminal needs to access the backend server via the CDN server (when the TTLmax expires and the data object is no longer found on the CDN server). This may reduce the frequency of errors and reduce the burden on the backend server.

一部の実施態様において、データオブジェクトの更新頻度は、例えば、図2中の当該バックエンドサーバ30の当該頻度検出ユニット33により、常時または定期的に監視または追跡されてもよい。当該処理ユニット31は、常時監視された更新頻度を利用して、TTLmaxを常時決定し、TTLmax及びTTLLminに基づいてTTLを決定してもよい。一部の実施態様において、当該バックエンドサーバ30は、当該CDNサーバ50に保存された対応するデータオブジェクトに対してTTLを設定するために、当該CDNサーバ50に対しTTL情報を常に更新してもよい。一部の実施態様において、当該バックエンドサーバ30は、データオブジェクトの更新頻度の変化が検出されると、当該CDNサーバ50に対してTTL情報を更新し、ユーザ端末がアクセスするデータオブジェクトがその最新バージョンであることを保証することができる。一部の実施態様において、当該TTLの更新は当該CDNサーバ50からの要求を必要としなくてもよい。 In some implementations, the update frequency of a data object may be constantly or periodically monitored or tracked, for example by the frequency detection unit 33 of the backend server 30 in FIG. 2. The processing unit 31 may constantly determine TTLmax using the constantly monitored update frequency, and may determine TTL based on TTLmax and TTLLmin. In some implementations, the backend server 30 may constantly update TTL information to the CDN server 50 to set the TTL for the corresponding data object stored on the CDN server 50. good. In some implementations, the backend server 30 updates the TTL information for the CDN server 50 when a change in the update frequency of the data object is detected, so that the data object accessed by the user terminal version can be guaranteed. In some implementations, updating the TTL may not require a request from the CDN server 50.

一部の実施態様において、最小キャッシュ保持時間TTLminは、TTLの最小値を設定することにより、例えば、TTLminが切れた直後のタイミング及び/またはデータオブジェクトがキャッシュサーバに送信またはコピーされる前のタイミングで、ユーザ端末からの要求により、当該バックエンドサーバが圧倒されたり過負荷になったりすることを防止する。多くのユーザ端末によりアクセスされるデータオブジェクトの場合、対応するTTLminはより長く設定され、当該データオブジェクトは当該CDNサーバ上により長い時間存在する。したがって、当該データオブジェクトにアクセスするユーザ数がまだ多い場合、ユーザ端末からの当該データオブジェクトの要求は、より長い時間当該CDNサーバを経由して当該バックエンドサーバにアクセスする必要がなくなり、当該バックエンドサーバのクラッシュダウンやアクセス障害のリスクを低減することが可能となる。 In some implementations, the minimum cache retention time TTLmin is determined by setting a minimum value for the TTL, such as the timing immediately after TTLmin expires and/or the timing before the data object is sent or copied to the cache server. This prevents the backend server from being overwhelmed or overloaded by requests from user terminals. For a data object that is accessed by many user terminals, the corresponding TTLmin is set longer and the data object exists on the CDN server for a longer time. Therefore, if the number of users accessing the data object is still large, requests for the data object from user terminals will not need to access the backend server via the CDN server for a longer time, and the backend This makes it possible to reduce the risk of server crashes and access failures.

一部の実施態様において、TTLminは、例えば、10秒後、30秒後、または1分後などこれからのタイミングで対応するデータオブジェクトにアクセスしようとするユーザの推定ユーザ数によって決定されてもよい。当該推定ユーザ数は、ユーザ行動データ、アプリケーションイベントデータ及び/またはそれらの相関データなどの履歴データによってトレーニングされた機械学習アルゴリズムを含む、さまざまな推定メカニズムによって達成されてもよい。例えば、TTLminは、データオブジェクトにアクセスするユーザ数が、当該バックエンドサーバをクラッシュダウンのリスクに陥らせない、またはアクセス障害を引き起こさないレベルまで減少すると推定または期待される長さに設定することができる。 In some implementations, TTLmin may be determined by the estimated number of users who will attempt to access the corresponding data object at a future time, such as in 10 seconds, 30 seconds, or 1 minute. The estimated number of users may be achieved by various estimation mechanisms, including machine learning algorithms trained with historical data such as user behavior data, application event data, and/or correlation data thereof. For example, TTLmin may be set to a length that is estimated or expected to reduce the number of users accessing the data object to a level that does not put the backend server at risk of crashing or causing access failure. can.

一部の実施態様において、当該データオブジェクトにアクセスするユーザ数は、例えば、図2中の当該バックエンドサーバ30の当該ユーザ数検出ユニット34により、常時または定期的に監視または追跡されてもよい。当該処理ユニット31は、常時監視されたアクセスユーザ数を利用して、TTLminを常時決定し、TTLmax及びTTLminに基づいてTTLを決定する。一部の実施態様において、当該バックエンドサーバ30は、当該CDNサーバ50に保存された対応するデータオブジェクトに対してTTLを設定するために、当該CDNサーバ50に対しTTL情報を常に更新してもよい。一部の実施態様において、当該TTLの更新は当該CDNサーバ50からの要求を必要としなくてもよい。例えば、多くのユーザ数によりアクセスされることが予想されるデータオブジェクト(例えば、アプリケーションのホットなページに対応するデータオブジェクトなど)の場合、当該バックエンドサーバ30はリアルタイムのアクセスユーザ数に基づいてTTL設定を継続的にまたは常時更新することができる。上述のように、TTLの決定は、常に最新のアクセスユーザ数を考慮したものであり、そのため当該CDNサーバにおけるTTL失効後のクラッシュダウンやアクセス失敗のリスクを回避することができる。一部の実施態様において、対応するデータオブジェクトにより多くのユーザ端末からのアクセスがある場合、TTLmin(およびTTL)は当該CDNサーバに対してより頻繁に決定及び/または更新行うことができる。 In some implementations, the number of users accessing the data object may be constantly or periodically monitored or tracked, for example by the user number detection unit 34 of the backend server 30 in FIG. 2. The processing unit 31 constantly determines TTLmin using the constantly monitored number of access users, and determines TTL based on TTLmax and TTLmin. In some implementations, the backend server 30 may constantly update TTL information to the CDN server 50 to set the TTL for the corresponding data object stored on the CDN server 50. good. In some implementations, updating the TTL may not require a request from the CDN server 50. For example, in the case of a data object that is expected to be accessed by a large number of users (e.g., a data object corresponding to a hot page of an application), the backend server 30 uses a TTL Settings can be updated continuously or constantly. As described above, the TTL is determined always taking into account the latest number of users accessing the CDN server, thereby avoiding the risk of crashing or failure of access after the TTL expires in the CDN server. In some implementations, TTLmin (and TTL) may be determined and/or updated more frequently for the CDN server if the corresponding data object is accessed by more user terminals.

また、TTLmaxがTTLminと同等かそれ以下である状況もあり得る。例えば、データオブジェクトの更新頻度が高く、多くのユーザがアクセスする場合、当該データオブジェクトはTTLmaxが短く、TTLminが長くなる場合がある。一部の実施態様において、TTLmax がTTLmin以下である場合、TTLはTTLminに決定される。つまり、一部の実施態様において、TTLの決定時、TTLminの優先度または重要度のウェイトはTTLmax より高い場合があり、これは、TTLminの目的の1つが当該バックエンドサーバを過負荷やクラッシュから保護することであるためである。 There may also be a situation where TTLmax is equal to or less than TTLmin. For example, if a data object is frequently updated and accessed by many users, the data object may have a short TTLmax and a long TTLmin. In some implementations, if TTLmax is less than or equal to TTLmin, the TTL is determined to be TTLmin. That is, in some implementations, when determining TTL, TTLmin may have a higher priority or importance weight than TTLmax because one of the purposes of TTLmin is to protect the backend server from overloading or crashing. This is because it is to protect.

また、TTLminに基づいてTTLを決定することで、当該バックエンドサーバの負担を軽減する複雑な仕組みを省略・簡略化できるメリットもある。例えば、通信速度制限の仕組みや、バックエンドサーバの増設を省くことができる。一部の実施態様において、効率的にバックエンドサーバの負荷を分散させる機能を備えた追加のインフラストラクチャ実装や複雑なキャッシュサーバを必要とすることがあるサーバ負荷分散機構を省くことができる。そのため、対応するアプリケーションの運用コストを削減することができる。 Further, by determining the TTL based on TTLmin, there is an advantage that a complicated mechanism for reducing the load on the back-end server can be omitted and simplified. For example, it is possible to eliminate the need for a communication speed limit mechanism or the addition of back-end servers. In some implementations, server load balancing mechanisms that may require additional infrastructure implementation or complex caching servers with the ability to efficiently load balance backend servers may be omitted. Therefore, the operating cost of the corresponding application can be reduced.

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

さらに、上記実施態様で説明したシステムまたは方法は、固体記憶装置、光ディスク記憶装置、磁気ディスク記憶装置などの非一時的なコンピュータ可読媒体に格納されたプログラムに統合されてもよい。あるいは、プログラムは、インターネットを介してサーバからダウンロードされ、プロセッサにより実行されるものとしてもよい。 Additionally, 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, optical disk storage, magnetic disk storage, and the like. Alternatively, the program may be downloaded from a server via the Internet and executed by the processor.

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

1 通信システム
10 ユーザ端末
11 UIユニット
12 デコーダー
13 レンダラー
14 ディスプレイ
30 バックエンドサーバ
31 処理ユニット
32 ストレージユニット
33 頻度検出ユニット
34 ユーザ数検出ユニット
40 ストリーミングサーバ
50 CDNサーバ
52 キャッシュ検出部
54 キャッシュストレージユニット
56 TTL管理ユニット
90 ネットワーク
1 Communication system 10 User terminal 11 UI unit 12 Decoder 13 Renderer 14 Display 30 Back-end server 31 Processing unit 32 Storage unit 33 Frequency detection unit 34 Number of users detection unit 40 Streaming server 50 CDN server 52 Cache detection unit 54 Cache storage unit 56 TTL Management unit 90 network

Claims (20)

キャッシュサーバ上のデータオブジェクトについてTTL(Time to Live、キャッシュ保持時間)を決定する方法であって、
前記データオブジェクトの更新頻度を検出する工程と、
前記データオブジェクトにアクセスするユーザ数を検出する工程と、
当該更新頻度と当該ユーザ数に基づいてTTLを決定する工程と、
を含むことを特徴とする、キャッシュTTLを決定する方法。
A method for determining a TTL (Time to Live, cache retention time) for a data object on a cache server, the method comprising:
detecting an update frequency of the data object;
detecting the number of users accessing the data object;
determining a TTL based on the update frequency and the number of users;
A method for determining a cache TTL, the method comprising:
さらに、前記データオブジェクトにアクセスするユーザ数に基づいて最小キャッシュ保持時間(TTLmin)を決定する工程を含み、そのうち、前記データオブジェクトにアクセスする前記ユーザ数が増加したとき、前記TTLminがより長い時間に決定され、前記TTLが前記TTLmin以上に決定される、ことを特徴とする、請求項1に記載のキャッシュTTLを決定する方法。 The method further includes determining a minimum cache retention time (TTLmin) based on the number of users accessing the data object, wherein when the number of users accessing the data object increases, the TTLmin becomes longer. 2. The method of claim 1, wherein the TTL is determined to be greater than or equal to the TTLmin. さらに、前記データオブジェクトの更新頻度に基づいて最大キャッシュ保持時間(TTLmax)を決定する工程を含み、そのうち、前記データオブジェクトの更新頻度が増加したとき、前記TTLmaxが短い時間に設定され、前記TTLが前記TTLmax以下に決定される、ことを特徴とする、請求項1に記載のキャッシュTTLを決定する方法。 The method further includes determining a maximum cache retention time (TTLmax) based on the update frequency of the data object, wherein when the update frequency of the data object increases, the TTLmax is set to a short time and the TTL is increased. The method of determining a cache TTL according to claim 1, characterized in that the cache TTL is determined to be less than or equal to the TTLmax. さらに、前記データオブジェクトにアクセスするユーザ数に基づいて最小キャッシュ保持時間 (TTLmin)を決定し、そのうち、前記データオブジェクトにアクセスする前記ユーザ数が増加したとき、前記TTLminが長い時間に決定される工程と、
前記データオブジェクトの更新頻度に基づいて最大キャッシュ保持時間(TTLmax)を決定し、そのうち、前記データオブジェクトの更新頻度が増加したとき、前記TTLmaxが短い時間に設定され、前記TTLが前記TTLmax以下、かつTTLmin以上に決定される工程と、
を含むことを特徴とする、請求項1に記載のキャッシュTTLを決定する方法。
Further, determining a minimum cache retention time (TTLmin) based on the number of users accessing the data object, wherein when the number of users accessing the data object increases, the TTLmin is determined to be a longer time. and,
A maximum cache retention time (TTLmax) is determined based on the update frequency of the data object, and when the update frequency of the data object increases, the TTLmax is set to a short time, the TTL is less than or equal to the TTLmax, and A step determined to be equal to or greater than TTLmin;
A method for determining a cache TTL according to claim 1, characterized in that the method comprises:
前記TTLmaxがTTLmin以下である場合、前記TTLがTTLminに決定されることを特徴とする、請求項4に記載のキャッシュTTLを決定する方法。 The method of claim 4, wherein if the TTLmax is less than or equal to TTLmin, the TTL is determined to be TTLmin. 前記TTLminが失効した後に前記データオブジェクトを提供するバックエンドサーバに到達するユーザ数から推定される1秒あたりの最大クエリ数(QPS) が、前記バックエンドサーバの最大QPS容量未満となるように前記TTLminが決定される、ことを特徴とする、請求項2に記載のキャッシュTTLを決定する方法。 The maximum number of queries per second (QPS) estimated from the number of users reaching the backend server serving the data object after the TTLmin expires is less than the maximum QPS capacity of the backend server. The method of determining cache TTL according to claim 2, characterized in that TTLmin is determined. 前記TTLmaxが、前記データオブジェクトの前記更新頻度の逆数と等しい、またはそれ以下に決定されることを特徴とする、請求項3に記載のキャッシュTTLを決定する方法。 A method for determining a cache TTL according to claim 3, characterized in that the TTLmax is determined to be equal to or less than the reciprocal of the update frequency of the data object. 前記データオブジェクトが、アプリケーションのページに対応する、ことを特徴とする、請求項1に記載のキャッシュTTLを決定する方法。 The method of determining a cache TTL according to claim 1, characterized in that the data object corresponds to a page of an application. 前記データオブジェクトが、アプリケーションのリーダーボードに対応する、ことを特徴とする、請求項1に記載のキャッシュTTLを決定する方法。 The method of determining a cache TTL according to claim 1, characterized in that the data object corresponds to a leaderboard of an application. さらに、前記データオブジェクトにアクセスするユーザ数を常時検出する工程と、
前記更新頻度と常時検出された前記ユーザ数に基づいて、前記TTLを常時決定する工程と、
前記TTLを前記キャッシュサーバに常時更新する工程と、
を含むことを特徴とする、請求項1に記載のキャッシュTTLを決定する方法。
Further, constantly detecting the number of users accessing the data object;
constantly determining the TTL based on the update frequency and the constantly detected number of users;
constantly updating the TTL to the cache server;
A method for determining a cache TTL according to claim 1, characterized in that the method comprises:
前記データオブジェクトにアクセスする前記ユーザ数を常時検出し、かつ常時検出された前記データオブジェクトにアクセスする前記ユーザ数に基づいて前記TTLminを常時決定し、前記TTLが前記TTLmax以下かつ前記TTLmin以上であると常時決定し、前記TTLが前記キャッシュサーバに対して常時更新されることを特徴とする、請求項4に記載のキャッシュTTLを決定する方法。 The number of users accessing the data object is constantly detected, and the TTLmin is always determined based on the constantly detected number of users accessing the data object, and the TTL is less than or equal to the TTLmax and greater than or equal to the TTLmin. 5. The method of determining a cache TTL according to claim 4, wherein the cache TTL is constantly determined and the TTL is constantly updated to the cache server. キャッシュサーバ上のデータオブジェクトに対しTTL(Time to Live、キャッシュ保持時間)を決定するシステムであって、1以上のプロセッサを含み、そのうち、前記1以上のプロセッサが、機械可読命令を実行して、
前記データオブジェクトの更新頻度を検出する工程と、
前記データオブジェクトにアクセスするユーザ数を検出する工程と、
当該更新頻度と当該ユーザ数に基づいてTTLを決定する工程と、
を実行することを特徴とする、キャッシュTTLを決定するシステム。
A system for determining a TTL (Time to Live) for a data object on a cache server, the system comprising one or more processors, the one or more processors executing machine-readable instructions,
detecting an update frequency of the data object;
detecting the number of users accessing the data object;
determining a TTL based on the update frequency and the number of users;
A system for determining a cache TTL, characterized in that the system performs the following:
前記1または複数のプロセッサが、前記機械可読命令を実行して、さらに、
前記データオブジェクトにアクセスするユーザ数に基づいて最小キャッシュ保持時間(TTLmin)を決定する工程を実行し、そのうち、前記データオブジェクトにアクセスする前記ユーザ数が増加したとき、前記TTLminがより長い時間に決定され、前記TTLが前記TTLmin以上に決定される、
ことを特徴とする、請求項12に記載のキャッシュTTLを決定するシステム。
The one or more processors execute the machine readable instructions, and further:
determining a minimum cache retention time (TTLmin) based on the number of users accessing the data object, wherein when the number of users accessing the data object increases, the TTLmin is determined to be a longer time; and the TTL is determined to be greater than or equal to the TTLmin;
13. A system for determining a cache TTL according to claim 12.
前記1または複数のプロセッサが、前記機械可読命令を実行して、さらに、
前記データオブジェクトの更新頻度に基づいて最大キャッシュ保持時間(TTLmax)を決定する工程を実行し、そのうち、前記データオブジェクトの更新頻度が増加したとき、前記TTLmaxが短い時間に設定され、前記TTLが前記TTLmax以下に決定される、
ことを特徴とする、請求項12に記載のキャッシュTTLを決定するシステム。
The one or more processors execute the machine readable instructions, and further:
determining a maximum cache retention time (TTLmax) based on the update frequency of the data object, wherein when the update frequency of the data object increases, the TTLmax is set to a shorter time; determined to be less than or equal to TTLmax,
13. A system for determining a cache TTL according to claim 12.
前記1または複数のプロセッサが、前記機械可読命令を実行して、さらに、
前記データオブジェクトにアクセスするユーザ数に基づいて最小キャッシュ保持時間 (TTLmin)を決定する工程を実行し、そのうち、前記データオブジェクトにアクセスする前記ユーザ数が増加したとき、前記TTLminが長い時間に決定され、
前記データオブジェクトの更新頻度に基づいて最大キャッシュ保持時間(TTLmax)を決定する工程を実行し、そのうち、前記データオブジェクトの更新頻度が増加したとき、前記TTLmaxが短い時間に設定され、前記TTLが前記TTLmax以下、かつTTLmin以上に決定される、
ことを特徴とする、請求項12に記載のキャッシュTTLを決定するシステム。
The one or more processors execute the machine readable instructions, and further:
determining a minimum cache retention time (TTLmin) based on the number of users accessing the data object, wherein when the number of users accessing the data object increases, the TTLmin is determined to be a longer time; ,
determining a maximum cache retention time (TTLmax) based on the update frequency of the data object, wherein when the update frequency of the data object increases, the TTLmax is set to a shorter time; determined to be less than or equal to TTLmax and greater than or equal to TTLmin,
13. A system for determining a cache TTL according to claim 12.
前記TTLmaxがTTLmin以下である場合、前記TTLがTTLminに決定されることを特徴とする、請求項15に記載のキャッシュTTLを決定するシステム。 The system of claim 15, wherein if the TTLmax is less than or equal to TTLmin, the TTL is determined to be TTLmin. 前記1または複数のプロセッサが、前記機械可読命令を実行して、さらに、
前記データオブジェクトにアクセスするユーザ数を常時検出する工程と、
前記更新頻度と常時検出された前記ユーザ数に基づいて、前記TTLを常時決定する工程と、
前記TTLを前記キャッシュサーバに常時更新する工程と、
を実行することを特徴とする、請求項12に記載のキャッシュTTLを決定するシステム。
The one or more processors execute the machine readable instructions, and further:
constantly detecting the number of users accessing the data object;
constantly determining the TTL based on the update frequency and the constantly detected number of users;
constantly updating the TTL to the cache server;
13. The system for determining a cache TTL as recited in claim 12.
前記データオブジェクトにアクセスする前記ユーザ数を常時検出し、かつ常時検出された前記データオブジェクトにアクセスする前記ユーザ数に基づいて前記TTLminを常時決定し、前記TTLが前記TTLmax以下かつ前記TTLmin以上であると常時決定し、前記TTLが前記キャッシュサーバに対して常時更新されることを特徴とする、請求項15に記載のキャッシュTTLを決定するシステム。 The number of users accessing the data object is constantly detected, and the TTLmin is always determined based on the constantly detected number of users accessing the data object, and the TTL is less than or equal to the TTLmax and greater than or equal to the TTLmin. 16. The system for determining a cache TTL according to claim 15, wherein the TTL is constantly determined to the cache server. キャッシュサーバ上のデータオブジェクトに対しTTL(Time to Live、キャッシュ保持時間)を決定するためのプログラムを含む非一時的なコンピュータ可読媒体であって、そのうち、前記プログラムが、1または複数のコンピュータに、
前記データオブジェクトの更新頻度を検出する工程と、
前記データオブジェクトにアクセスするユーザ数を検出する工程と、
当該更新頻度と当該ユーザ数に基づいてTTLを決定する工程と、
を実行させることを特徴とする、コンピュータ可読媒体。
A non-transitory computer-readable medium comprising a program for determining a time-to-live (TTL) for a data object on a cache server, the program comprising:
detecting an update frequency of the data object;
detecting the number of users accessing the data object;
determining a TTL based on the update frequency and the number of users;
A computer readable medium for executing.
前記プログラムが、1または複数のコンピュータに、
前記データオブジェクトにアクセスするユーザ数に基づいて最小キャッシュ保持時間 (TTLmin)を決定し、そのうち、前記データオブジェクトにアクセスする前記ユーザ数が増加したとき、前記TTLminが長い時間に決定される工程と、
前記データオブジェクトの更新頻度に基づいて最大キャッシュ保持時間(TTLmax)を決定し、そのうち、前記データオブジェクトの更新頻度が増加したとき、前記TTLmaxが短い時間に設定され、前記TTLが前記TTLmax以下、かつTTLmin以上に決定される工程と、
を実行させることを特徴とする、請求項19に記載のコンピュータ可読媒体。
The program is installed on one or more computers,
determining a minimum cache retention time (TTLmin) based on the number of users accessing the data object, in which when the number of users accessing the data object increases, the TTLmin is determined to be a longer time;
A maximum cache retention time (TTLmax) is determined based on the update frequency of the data object, and when the update frequency of the data object increases, the TTLmax is set to a short time, the TTL is less than or equal to the TTLmax, and A step determined to be equal to or greater than TTLmin;
20. The computer-readable medium of claim 19, wherein the computer-readable medium executes the following steps.
JP2022522346A 2021-09-30 2021-09-30 SYSTEMS, METHODS AND COMPUTER-READABLE MEDIA FOR DETERMINING Cache TTL Active JP7426020B2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2021/052777 WO2023055364A1 (en) 2021-09-30 2021-09-30 System, method and computer-readable medium for determining a cache ttl

Publications (2)

Publication Number Publication Date
JP2023548722A true JP2023548722A (en) 2023-11-21
JP7426020B2 JP7426020B2 (en) 2024-02-01

Family

ID=85783378

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022522346A Active JP7426020B2 (en) 2021-09-30 2021-09-30 SYSTEMS, METHODS AND COMPUTER-READABLE MEDIA FOR DETERMINING Cache TTL

Country Status (2)

Country Link
JP (1) JP7426020B2 (en)
WO (1) WO2023055364A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1021134A (en) * 1996-07-04 1998-01-23 Sharp Corp Gate way device, client computer and distributed file system connecting them
US20040128346A1 (en) * 2001-07-16 2004-07-01 Shmuel Melamed Bandwidth savings and qos improvement for www sites by catching static and dynamic content on a distributed network of caches
CN111586191A (en) * 2020-05-25 2020-08-25 安徽大学 Data cooperation caching method and system and electronic equipment
US20210021563A1 (en) * 2019-07-17 2021-01-21 International Business Machines Corporation Determining cache time to live in an object storage system

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8918602B2 (en) * 2011-09-19 2014-12-23 International Business Machines Corporation Dynamically altering time to live values in a data cache
JP2016048498A (en) * 2014-08-28 2016-04-07 富士通株式会社 Cache controller and cache control method
KR102295664B1 (en) * 2014-10-21 2021-08-27 삼성에스디에스 주식회사 Global server load balancer apparatus and method for dynamically controlling time-to-live
US10515013B2 (en) * 2017-11-15 2019-12-24 Salesforce.Com, Inc. Techniques for handling requests for data at a cache
US10440142B2 (en) * 2018-03-06 2019-10-08 Akamai Technologies, Inc. Automated TTL adjustment using cache performance and purge data

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1021134A (en) * 1996-07-04 1998-01-23 Sharp Corp Gate way device, client computer and distributed file system connecting them
US20040128346A1 (en) * 2001-07-16 2004-07-01 Shmuel Melamed Bandwidth savings and qos improvement for www sites by catching static and dynamic content on a distributed network of caches
US20210021563A1 (en) * 2019-07-17 2021-01-21 International Business Machines Corporation Determining cache time to live in an object storage system
CN111586191A (en) * 2020-05-25 2020-08-25 安徽大学 Data cooperation caching method and system and electronic equipment

Also Published As

Publication number Publication date
WO2023055364A1 (en) 2023-04-06
JP7426020B2 (en) 2024-02-01

Similar Documents

Publication Publication Date Title
US9794188B2 (en) Optimizing resource configurations
US10623408B1 (en) Context sensitive object management
US9986022B2 (en) Push-based cache invalidation notification
US20180246862A1 (en) Methods for prerendering and methods for managing and configuring prerendering operations
US6393526B1 (en) Shared cache parsing and pre-fetch
US9549038B1 (en) Cacheable resource location selection
US8745212B2 (en) Access to network content
US6823374B2 (en) Adjusting the cacheability of web documents according to the responsiveness of its content server
US8307078B2 (en) Service provider optimization of content management
US10165039B1 (en) Pre-connecting to a cacheable resource based on page profiles
CN103152367A (en) Cache dynamic maintenance updating method and system
US20150193547A1 (en) Access to network content
JP5795124B2 (en) Method and server for monitoring a user while browsing in a communication network
US10440142B2 (en) Automated TTL adjustment using cache performance and purge data
US10075553B1 (en) Systems and methods for automatically rewriting network page code
US11870828B2 (en) System, method and computer-readable medium for rendering a streaming
JP7426020B2 (en) SYSTEMS, METHODS AND COMPUTER-READABLE MEDIA FOR DETERMINING Cache TTL
EP2237518A1 (en) Pre-pushing of popular content in a network of end-user equipments
US10452563B1 (en) Cache eviction scheme for acceptable substitutes in online media
TW202316267A (en) System, method and computer-readable medium for determining a cache ttl
JP3953486B2 (en) Program for evaluating bandwidth of connection between client and server, method for evaluating acquirable bandwidth of network connection of client, and server in data processing network
EP3051438A1 (en) Method and device for transmission of web content
GB2459019A (en) A validation-based http caching portlet markup and refresh method for server-side portlets embedded in a web 2.0 portal environment.
JP2002189626A (en) Proxy server, and control method therefor

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220413

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20220413

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231003

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231023

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240110

R150 Certificate of patent or registration of utility model

Ref document number: 7426020

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150