JP2021166060A - リクエストの処理方法、装置、設備、コンピュータ記憶媒体、及びプログラム - Google Patents

リクエストの処理方法、装置、設備、コンピュータ記憶媒体、及びプログラム Download PDF

Info

Publication number
JP2021166060A
JP2021166060A JP2021098546A JP2021098546A JP2021166060A JP 2021166060 A JP2021166060 A JP 2021166060A JP 2021098546 A JP2021098546 A JP 2021098546A JP 2021098546 A JP2021098546 A JP 2021098546A JP 2021166060 A JP2021166060 A JP 2021166060A
Authority
JP
Japan
Prior art keywords
request
code
cdn
dynamic
dynamic code
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.)
Pending
Application number
JP2021098546A
Other languages
English (en)
Inventor
ガオ,ヤン
Yang Gao
サン,イーシン
Yixing Sun
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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Publication of JP2021166060A publication Critical patent/JP2021166060A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45516Runtime code conversion or optimisation
    • G06F9/4552Involving translation to a different instruction set architecture, e.g. just-in-time translation in a JVM
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/43Checking; Contextual analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45529Embedded in an application, e.g. JavaScript in a Web browser
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • 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/63Routing a service request depending on the request content or context

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Information Transfer Between Computers (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)
  • Devices For Executing Special Programs (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】コンテンツ配信ネットワークシステムのリクエスト処理の柔軟性を高めることが可能なリクエストの処理方法、装置、設備、コンピュータ記憶媒体及びプログラムを提供する。
【解決手段】コンテンツ配信ネットワークCDNのリクエストの処理方法は、CDNのリクエストを受信することと、CDNのリクエストに対応する、予め配置されたコードである動的コードを取得することと、動的コードをリアルタイムにコンパイルして、コンパイルされたコードを取得することと、コンパイルされたコードを実行することと、を含む。
【選択図】図1

Description

本開示は、コンピュータ技術分野に関し、特にエッジシステム技術分野に関する。
CDNの総称はContent Delivery Network、すなわちコンテンツ配信ネットワークである。CDNは、既存のネットワークに基づいて構築されたインテリジェントな仮想ネットワークであり、各地に配置されたエッジサーバに依拠して、センタープラットフォームの負荷分散、コンテンツ配信、スケジューリングなどの機能モジュールにより、ユーザに所望のコンテンツを近くに取得させ、ネットワーク輻輳を低減させ、ユーザアクセスの応答速度とヒット率を向上させる。CDNエッジシステムでは、一般的に、Lua言語などのスクリプト言語を使用して静的なカスタム・コンピューティングが行われる場合、関連するコードを全てのエッジノードに静的に配置する必要があり、また、エッジシステムは、これらのコードをリロードする必要がある。現在のエッジシステムは完全なコードリスク制御能力を欠き、これによりCDNエッジシステムの開発効率を大幅に制限するので、これらのコードは厳密な試験グレースケールテストプロセスを経なければならない。現在、エッジコンピューティング機能がますます不可欠となっており、CDNエッジシステム開発の方法は、作業コストを増加させる重要な理由となっている。
本開示は、リクエストの処理方法、装置、設備及び記憶媒体を提供する。
本開示の一態様にて提供されるリクエストの処理方法は、
コンテンツ配信ネットワークCDNのリクエストを受信することと、
CDNのリクエストに対応する動的コードを取得することであって、動的コードは、予め配置されたコードであることと、
動的コードをリアルタイムにコンパイルして、コンパイルされたコードを取得することと、
コンパイルされたコードを実行することと、を含む。
本開示の一態様にて提供されるリクエストの処理装置は、
コンテンツ配信CDNのリクエストを受信するためのリクエスト受信モジュールと、
CDNのリクエストに対応する動的コードを取得するための取得モジュールであって、動的コードは、予め配置されたコードである取得モジュールと、
動的コードをリアルタイムにコンパイルして、コンパイルされたコードを取得するためのコンパイルモジュールと、
コンパイルされたコードを実行するための実行モジュールと、を備える。
本開示の別の態様にて提供される電子設備は、
少なくとも1つのプロセッサと、
少なくとも1つのプロセッサと通信接続されたメモリと、を備え、
メモリは、少なくとも1つのプロセッサによって実行可能な命令を記憶し、命令は、少なくとも1つのプロセッサによって実行される場合、少なくとも1つのプロセッサに本開示の実施形態のいずれかによって提供される方法を実行させる。
本開示の別の態様にて提供されるコンピュータ命令を記憶した非一時的なコンピュータ可読記憶媒体は、コンピュータ命令がコンピュータに本開示の実施形態のいずれかによって提供される方法を実行させることを可能にする。
本開示は、CDNシステム内で動的コードによりリクエストを実行することができ、これによりCDNシステムを柔軟に制御することができ、動的コードは、CDNエッジシステム内部のCDNエッジノードで取得され、同時実行の制限がなく、自然性能が高く、リソースを少なく占有する。
このセクションに記載された内容は、本開示の実施形態の主要な特徴又は重要な特徴を特定することを意図しておらず、本開示の範囲を限定するものでもないことを理解されたい。本開示の他の特徴は、以下の説明によって容易に理解されるであろう。
添付図面は、本考案をよりよく理解するためのものであり、本開示を限定するものではない。
本開示の実施形態によるリクエストの処理方法の概略図である。 本開示の実施形態によるリクエストの処理方法の一具体的なシナリオでの概略図である。 本開示の一例によるリクエストの処理方法の概略図である。 本開示の実施形態によるリクエスト実行装置の概略図である。 本開示の別の実施形態によるリクエスト実行装置の概略図である。 本開示の別の実施形態によるリクエスト実行装置の概略図である。 本開示の別の実施形態によるリクエスト実行装置の概略図である。 本開示の実施形態のリクエストの処理方法を実現するための電子設備のブロック図である。
以下、図面を参照しながら本開示の例示的な実施形態を説明するが、本開示の実施形態の様々な詳細が理解を容易にするために含まれており、それらは単なる例示的と考えられるべきである。したがって、当業者は、本開示の範囲及び旨から逸脱することなく、本明細書に記載された実施形態に対して様々な変更及び修正を行うことができることを理解すべきである。同様に、以下の説明では、公知な機能及び構造についての説明は、明瞭かつ簡明のために省略される。
なお、本開示における実施形態及び実施形態における特徴は、矛盾しない限り、互いに組み合わせることができる。
図1は、本開示の一実施形態によるリクエストの処理方法のフローチャートを示し、図1に示すように、以下のステップを含み、
ステップ101では、コンテンツ配信ネットワークCDNのリクエストを受信する。
ステップ102では、CDNのリクエストに対応する動的コードを取得し、動的コードは、予め配置されたコードである。
ステップ103では、動的コードをリアルタイムにコンパイルして、コンパイルされたコードを取得する。
ステップ104では、コンパイルされたコードを実行する。
本実施形態では、CDNのリクエストは、CDNコードをデプロイするために、ユーザがCDNエッジノードに送信するリクエストであってもよい。CDNのリクエストの具体的なコンテンツは、CDNシステムのクライアントによってカスタマイズされてもよい。
CDNのリクエストに対応する動的コードを取得することは、ユーザによってカスタマイズされてもよく、例えば、ファイル名の書き換え、クロスドメインヘッダの追加、referer(リファラ)白黒リスト、スピード制限フィードバック制御、404カスタムページ、A/B Test(A/Bテスト)制御などである。CDNのリクエスト内のコンテンツは、動的コードを取得するために使用され得る。例えば、ユーザがファイル名の書き換えをリクエストしてCDNノードに関するCDNのリクエストを送信してから、CDNのリクエストに応じてCDNノードを決定し、続いてCDNノードから対応するファイル名の書き換え用の動的コードを取得する。同時に、本開示の実施形態は、動的コードを介してユーザのリクエストを実行し、汎用フレキシブルCDNエッジシステム制御能力を提供し、動的コードは、CDNエッジシステム内部のCDNエッジノードで取得され、同時実行の制限がなく、自然性能が高く、リソースを少なく占有する。
本開示の実施形態は動的コードを用いてデプロイし、動的コードはプログラムの実行中に随時変更可能であるため、CDNシステムのコード配置の柔軟性を高め、動的コードのカスタマイズ度が高く、開発コストを低減する。
本実施形態では、動的コードは、キャッシュするか否か、盗難防止チェーンを採用するか否か、などのコードのうちユーザ自身が定義可能なコンテンツである。
本実施形態では、コンパイルされたコードは、CDNノード上で実行可能な言語フォーマットのコードであってもよい。
本実施形態では、動的コードをリアルタイムにコンパイルして、コンパイルされたコードを取得し、第1の言語フォーマットの動的コードをリアルタイムにコンパイルして、第1の言語の動的コードを第2の言語フォーマットのコンパイルされたコードに変換してもよい。例えば、JavaScriptフォーマットの動的コードをリアルタイムにコンパイルして、C言語フォーマットのコンパイルされたコードに変換する。
本実施形態では、ユーザから送信されたCDNのリクエストに応じて動的コードを取得し、続いて動的コードをCDNシステムで実行可能なコードにコンパイルすることができ、これにより、ユーザはCDNシステムのデプロイされたコードをカスタマイズし、自身のニーズに応じて何らかのパラメータを設定し、CDNシステムにおけるコードのカスタマイズ性が達成される。本実施形態でサポートするシナリオは豊富であり、広く普及しているJavaScript言語を用いることができ、カスタマイズ度が高く、開発コストを低減することができる。
一実施形態では、リクエストの処理方法は、
コンテンツ配信ネットワークCDNのリクエストを受信することと、
CDNのリクエストにおけるドメイン名情報に基づいて、ドメイン名情報に対応するCDNエッジノードから動的コードを取得することと、
動的コードをリアルタイムにコンパイルして、コンパイルされたコードを取得することと、
コンパイルされたコードを実行することと、を含む。
本実施形態では、ドメイン名情報は、1つの具体的なCDNエッジサーバ(すなわち、CDNエッジノード)に対応することができる。CDNのリクエストは、クライアントを介して送信され得る。ドメイン名情報に対応するCDNエッジノードには、動的コードが予め記憶されており、オペレータが作成して記憶することができる。
具体的には、本実施形態では、例えば、対応するファイル名の書き換えリクエストについて、オペレータが、それに対応する動的コードをCDNエッジサーバに作成して記憶する。ユーザは、ファイル名の書き換えに関するCDNのリクエストをCDNエッジシステムに送信し、このCDNのリクエストに応じてドメイン名情報を決定し、ドメイン名情報に対応するCDNエッジシステムノードから動的コードを取得する。
本実施形態では、CDNのリクエストに応じて、対応するCDNエッジノードから動的コードを取得することができ、これにより動的コードのカスタマイズが達成される。
別の実施形態では、リクエストの処理方法は、
コンテンツ配信ネットワークCDNのリクエストを受信することと、
CDNのリクエストに対応する動的コードを取得することであって、動的コードは、予め配置されたコードであることと、
動的コードに対して静的検出を行うことで、動的コードに不安全特徴が含まれるか否かを決定することと、
静的検出結果に不安全特徴が含まれていない場合、動的コードに対して動的計算を行って、コンパイルされたコードを生成することと、
コンパイルされたコードを実行することと、を含む。
本実施形態では、動的コードに対して静的検出を行い、具体的にはリクエストが構成規則を満たすか否かを決定することで、違反したCDNのリクエストを拒否することができる。例えば、ウェブサイトの悪質な書き換え、ウェブサイトの盗用などのコンテンツの有無を検出する。
本開示の実施形態では、動的コードに対して静的検出を行うことで、コード又はその内に違反した内容があるか否かを判断することができ、さらに、違反した内容を検出した後、処理を直接終了し、コード実行過程の安全性を保証することができる。コードリスク制御能力を高める。
本開示の別の実施形態では、リクエストの処理方法は、
コンテンツ配信ネットワークCDNのリクエストを受信することと、
CDNのリクエストに対応する動的コードを取得することであって、動的コードは、予め配置されたコードであることと、
動的コードに対して静的検出を行うことで、動的コードに不安全特徴が含まれるか否かを決定することと、
静的検出結果に不安全特徴が含まれていない場合、CDNのリクエストを実行するためのJS仮想マシンを作成することと、
動的コード及び動的コードの組み合わせから生成された第3の動的コードをJS仮想マシンに追加することと、
動的コードをリアルタイムにコンパイルして、コンパイルされたコードを生成することと、
コンパイルされたコードを実行することと、を含む。
本実施形態では、CDNのリクエストを実行するためのJS仮想マシンを作成し、具体的には、CDNのリクエストを実行するためのプログラムJavaScript仮想マシンを作成してもよく、動的コードのコンパイル環境を提供する。
本実施形態では、動的コードをリアルタイムにコンパイルして、コンパイルされたコードを生成し、動的コードをリアルタイムにコンパイルして、JavaScript言語の動的コードをC言語のコンパイルされたコードに変換してもよい。
本実施形態では、動的コードをリアルタイムにコンパイルする際、文ごとにコンパイルし、コンパイルされたコンテンツをキャッシュに入れ、コードをリアルタイムにアップロードし、ネットワークCDNごとにライフサイクルが独占するJavaScript仮想マシンをリクエストし、コードは論理的に高度に分離され、結合を行わない。
本実施形態では、動的コードをJavaScript仮想マシンでリアルタイムにコンパイルして、コンパイルされたコードを生成することで、コンパイルされたコードをリアルタイムに実行することができ、ユーザがCDNエッジノードをリクエストしながら、ユーザによりカスタマイズされた動的コードを実行することができ、コード実行効率を向上させる。
リアルタイムにコンパイルするプロセスでは、ECMAScript規格に基づいて実現されたJavaScriptコンパイラがリアルタイムにコンパイルし、CDNエッジシステムに深く埋め込まれ、性能が高く、コストが低く、同時実行の制限がない。広く普及しているJavaScript言語を用いて、サポートされているシナリオは非常に豊富であり、これには、ドメイン間アクセス、リダイレクト、アクセス制御、IP白黒リスト、Referer白黒リスト、UA白黒リスト、スピード制限、認証、サブリクエスト、修正リクエストURI(Uniform Resource Identifier、ユニフォームリソースアイデンティファイア)、修正リクエストARGS、修正リクエストHeader、修正応答Header(ヘッダー)、A/B Testが含まれる。
一実施形態では、コンパイルされたコードを実行することは、
JS仮想マシンでコンパイルされたコードを実行することを含む。
本実施形態では、JS仮想マシンでコンパイルされたコードを実行することで、ユーザがカスタマイズした動的コードを実行することができる。JavaScriptは、広く普及している言語であるため、サポートされるシナリオが非常に豊富である。
本開示の別の実施形態では、図2に示すように、リクエストの処理方法は、以下のステップを含み、
ステップ101では、コンテンツ配信ネットワークCDNのリクエストを受信する。
ステップ102では、CDNのリクエストに対応する動的コードを取得し、動的コードは、予め配置されたコードである。
ステップ103では、動的コードをリアルタイムにコンパイルして、コンパイルされたコードを取得する。
ステップ104では、コンパイルされたコードを実行する。
ステップ201では、コンパイルされたコードを実行するためのリソースの占有率を検出する。
ステップ202では、占有率が設定された閾値を超えた場合、コンパイルされたコードの実行を終了する。
本実施形態では、コンパイルされたコードの実行際のリソースの占有率が設定閾値を超えた場合、コンパイルされたコードの実行を中止することで、不安全、悪意でリソースをプリエンプトするコードが実行されることを防止し、エッジシステムのコード実行プロセスの安全性を高めることができる。
本開示の一例では、リクエストの処理方法は、以下のステップを含み、
ステップ301では、コンテンツ配信ネットワークCDNのリクエストを受信する。CDNのリクエストは、ブラウザなどのクライアントによって、具体的にはhttpパケットリクエストなどを送信し得る。
ステップ302では、CDNのリクエストに対応する動的コードを取得し、動的コードは予め配置されたコードである。本例では、動的計算は、キャッシュ制御などのCDNによって提供される基本的なサービス能力を指してもよい。
ステップ303では、動的コードに対して静的検出を行い、動的計算を実行するか否かを判断する。コードにセキュリティリスクがあるか否かを検出し、検出された場合、動的計算を継続実行しない。
ステップ304では、動的計算を実行すると判断した場合、動的コードに対して動的計算を行う。
ステップ305では、CDNのリクエストを実行するためのJS仮想マシンを作成する。本例では、複数のリクエストがある場合、リクエストごとに1つのJS仮想マシンを作成する。
ステップ306では、動的コードをJS仮想マシンに追加する。
ステップ307では、動的コードをリアルタイムにコンパイルし、コンパイルされたコードを生成する。
ステップ308では、コンパイルされたコードを実行するためのリソースの占有率を検出する。
ステップ309では、占有率が設定された閾値を超えた場合、コンパイルされたコードの実行を終了する。コンパイルされたコードの実行を終了すると、リクエストを終了し、異常ステータスコードを返す。計算が終了し、さらに上流への転送などのリクエストを継続実行する必要がある。
ステップ310では、占有率が設定閾値を超えない場合、実行が完了するまで、コンパイルされたコードを継続実行する。
本開示の実施形態にてさらに提供されるリクエストの処理装置は、図4に示すように、
コンテンツ配信ネットワークCDNのリクエストを受信するためのリクエスト受信モジュール401と、
CDNのリクエストに対応する動的コードを取得するための取得モジュール402であって、動的コードは、予め配置されたコードである取得モジュール402と、
動的コードをリアルタイムにコンパイルして、コンパイルされたコードを取得するためのコンパイルモジュール403と、
コンパイルされたコードを実行するための実行モジュール404と、を備える。
一実施形態では、処理装置は、図4に示すリクエスト受信モジュール401、取得モジュール402、コンパイルモジュール403、及び実行モジュール404をさらに含み、これに加えて、取得モジュールは、さらに、
CDNのリクエストにおけるドメイン名情報に基づいて、ドメイン名情報に対応するCDNエッジノードから動的コードを取得するためである。
一実施形態では、処理装置は、図4に示すリクエスト受信モジュール401、取得モジュール402、コンパイルモジュール403、及び実行モジュール404をさらに含み、これに加えて、図5に示すように、コンパイルモジュール403は、さらに、
動的コードに対して静的検出を行うことで、動的コードに不安全特徴が含まれるか否かを決定するための検出ユニット501と、
静的検出結果に不安全特徴が含まれていない場合、動的コードに対して動的計算を行って、コンパイルされたコードを生成するための静的検出処理ユニット502と、を備える。
処理装置は、図4に示すリクエスト受信モジュール401、取得モジュール402、コンパイルモジュール403、及び実行モジュール404をさらに含み、これに加えて、図6に示すように、静的検出処理ユニット502は、さらに、
CDNのリクエストを実行するためのJS仮想マシンを作成するための作成サブユニット601と、
動的コードをJS仮想マシンに追加するための追加サブユニット602と、
動的コードをリアルタイムにコンパイルしてコンパイルされたコードを生成するためのリアルタイム処理サブユニット603と、を含む。
処理装置は、図4に示すリクエスト受信モジュール401、取得モジュール402、コンパイルモジュール403、及び実行モジュール404をさらに含み、これに加えて、実行モジュール404は、さらに、
JS仮想マシンでコンパイルされたコードを実行するためである。
処理装置は、図4に示すリクエスト受信モジュール401、取得モジュール402、コンパイルモジュール403、及び実行モジュール404をさらに含み、これに加えて、図7に示すように、装置は、さらに、
コンパイルされたコードを実行するためのリソースの占有率を検出するための占有率検出モジュール701と、
占有率が設定された閾値を超えた場合に、コンパイルされたコードの実行を終了するための終了実行モジュール702と、を含む。
本開示の実施形態によれば、本開示は、電子設備と可読記憶媒体をさらに提供する。
図8に示すように、本開示の実施形態によるリクエストの処理方法の電子設備のブロック図である。電子設備は、ラップトップコンピュータ、デスクトップコンピュータ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、メインフレームコンピュータ、及び他の適切なコンピュータなどの様々な形態のデジタルコンピュータを表すことが意図される。電子設備は、また、パーソナルデジタルプロセッシング、携帯電話、スマートフォン、ウェアラブル設備、及び他の同様のコンピューティング装置などの様々な形態のモバイル装置を表すことができる。本明細書に示される構成要素、それらの接続及び関係、並びにそれらの機能は、単なる例であり、本明細書に記述及び/又は要求される本開示の実現を限定することを意図しない。
図8に示すように、この電子設備は、1つ又は複数のプロセッサ801と、メモリ802と、高速インタフェースと低速インタフェースとを含む、各構成要素を接続するためのインタフェースとを含む。各構成要素は、異なるバスで接続され、共通のマザーボードに実装されてもよいし、又は必要に応じて他の方式で実装されてもよい。プロセッサは、電子設備内で実行される命令を処理してもよく、メモリ中又はメモリ上に記憶された、外部入力/出力装置(インタフェースに組合されたディスプレイ設備)にGUIのグラフィック情報を表示する命令を含む。他の実施形態では、必要に応じて、複数のプロセッサ及び/又は複数のバスを複数のメモリ及び複数のメモリと共に使用される。同様、複数の電子設備を接続し、各設備が必要な動作の一部(例えば、サーバアレイ、1組のブレードサーバ、又はマルチプロセッサシステム)を提供するようにしてもよい。図8では、1つのプロセッサ801を例にする。
メモリ802は、本開示にて提供される非一時的なコンピュータ可読記憶媒体である。ここで、メモリは、少なくとも1つのプロセッサに、本開示にて提供されるリクエストの処理方法を実行させるように、少なくとも1つのプロセッサによって実行可能な命令を記憶する。本開示の非一時的なコンピュータ可読記憶媒体は、本開示にて提供されるリクエストの処理方法をコンピュータに実行させるために用いられるコンピュータ命令を記憶する。
メモリ802は、非一時的ソフトウェアプログラム、非一時的なコンピュータ実行可能なプログラム及びモジュール、例えば、本開示の実施形態におけるリクエストの処理方法に対応するプログラム命令/モジュール(例えば、図4に示すリクエスト受信モジュール401、取得モジュール402、コンパイルモジュール403、及び実行モジュール404)を記憶するために用いられる、非一時的なコンピュータ可読記憶媒体として機能する。プロセッサ801は、メモリ802に記憶された非一時的ソフトウェアプログラム、命令及びモジュールを実行することで、サーバの様々な機能アプリケーション及びデータ処理を実行し、すなわち、上記の方法の実施形態におけるリクエストの処理方法を実現する。
メモリ802は、記憶プログラム領域と記憶データ領域とを含んでもよく、ここで、記憶プログラム領域は、オペレーティングシステム、少なくとも1つの機能に必要なアプリケーションプログラムを記憶することができ、記憶データ領域は、ビデオリクエスト実行の電子設備の使用に応じて作成されたデータなどを記憶することができる。また、メモリ802は、高速ランダムアクセスメモリを含んでもよいし、また、例えば、少なくとも1つのディスク記憶デバイス、フラッシュメモリデバイス、又は他の非一時的固体記憶デバイスなどの非一時的メモリを含んでもよい。いくつかの実施形態では、メモリ802は、プロセッサ801から遠隔に配置されたメモリを選択することができ、これらの遠隔的なメモリは、ネットワークを介してビデオリクエスト実行の電子設備に接続される。上記のネットワークの例としては、インターネット、イントラネット、ローカルエリアネットワーク、移動通信ネットワーク、及びそれらの組み合わせを含むが、これらに限定されない。
リクエストの処理方法の電子設備は、入力装置803と出力装置804とをさらに含んでもよい。プロセッサ801、メモリ802、入力装置803、及び出力装置804は、バス又は他の方式で接続されてもよく、図8では、バス接続を例にする。
入力装置803は、入力された数字又は文字情報を受信し、また、タッチパネル、キーパッド、マウス、トラックパッド、タッチパッド、ポインティングスティック、1つ以上のマウスボタン、トラックボール、ジョイスティックなどの入力装置のような、ビデオリクエスト実行の電子設備のユーザ設定及び機能制御に関連するキー信号入力を生成することができる。出力装置804は、ディスプレイ設備、補助照明装置(例えば、LED)、触覚フィードバック装置(例えば、振動モータ)などを含んでもよい。この表示設備は、液晶ディスプレイ(LCD)、発光ダイオード(LED)ディスプレイ、及びプラズマディスプレイを含み得るが、これらに限定されない。いくつかの実施形態では、表示設備はタッチスクリーンであってもよい。
本明細書に記述のシステム及び技術の様々な実施形態は、デジタル電子回路システム、集積回路システム、特定用途向けASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、及び/又はそれらの組み合わせで実現される。これらの様々な実施形態は、専用又は汎用のプログラマブルプロセッサであり得る、少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステムで実行及び/又は解釈され得る1つ又は複数のコンピュータプログラム内で実施されること、記憶システム、少なくとも1つの入力装置、及び少なくとも1つの出力装置からデータ及び命令を受信し、この記憶システム、この少なくとも1つの入力装置、及び少なくとも1つのこの出力装置にデータ及び命令を送信することを含んでもよい。
これらのコンピューティングプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、又はコードとも呼ばれ)は、プログラマブルプロセッサの機械命令を含み、高度な手続き型及び/又はオブジェクト指向プログラミング言語、及び/又はアセンブリ/機械言語で実施される。本明細書で使用される、用語「機械可読媒体」及び「コンピュータ可読媒体」は、機械命令を機械可読信号として受信する機械可読媒体を含む、機械命令及び/又はデータをプログラマブルプロセッサに提供するための任意のコンピュータプログラム製品、設備、及び/又は装置(例えば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(PLD))を指す。用語「機械可読信号」は、機械命令及び/又はデータをプログラマブルプロセッサに提供するために用いられる任意の信号を指す。
ユーザとの対話を提供するために、本明細書に記述のシステム及び技術は、ユーザに情報を表示するための表示装置(例えば、CRT(陰極線管)又はLCD(液晶ディスプレイ)モニタ)と、ユーザがコンピュータに入力を提供し得る、キーボードとポインティング装置(例えば、マウス又はトラックボール)とを有するコンピュータで実施される。他の種類の装置は、ユーザとの対話を提供するために用いられ、例えば、ユーザに提供されるフィードバックは、任意の形態の感知フィードバック(例えば、視覚フィードバック、聴覚フィードバック、又は触覚フィードバック)であってもよいし、任意の形態(音の入力、音声入力、又は触覚入力を含む)で、ユーザからの入力を受信してもよい。
本明細書に記述のシステム及び技術は、バックエンド構成要素(例えば、データサーバとして)を含むコンピューティングシステム、又はミドルウェア構成要素(例えば、アプリケーションサーバ)を含むコンピューティングシステム、又はフロントエンド構成要素を含むコンピューティングシステム(例えば、ユーザが本明細書に記述のシステム及び技術の実施形態と対話可能なグラフィカルユーザインタフェース又はウェブブラウザを有するユーザコンピュータ)、又はそのようなバックエンド構成要素、ミドルウェア構成要素、又はフロントエンド構成要素の任意の組み合わせを含むコンピューティングシステムにおいて実施される。システムの構成要素は、任意の形態又は媒体のデジタルデータ通信(例えば、通信ネットワーク)を介して互いに接続される。通信ネットワークの例は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、及びインターネットを含む。
コンピュータシステムは、クライアント及びサーバを含んでもよい。クライアント及びサーバは、一般に、互いから離れており、通常、通信ネットワークを介してインタラクションする。クライアントとサーバの関係は、対応するコンピュータで動作し、互いにクライアント−サーバ関係を有するコンピュータプログラムによって生成される。
本開示は、CDNシステム内で動的コードによりリクエストを実行することができ、これによりCDNシステムを柔軟に制御することができ、動的コードは、CDNエッジシステム内部のCDNエッジノードで取得され、同時実行の制限がなく、自然性能が高く、リソースを少なく占有する。
なお、上記に示された様々な形態のフローを用いて、再順序付け、ステップを追加、又は削除することができることを理解されたい。例えば、本開示に記載の各ステップは、並列的に実行されてもよいし、順番に実行されてもよいし、異なる順番で実行されてもよいが、本開示に開示された技術的解決手段から期待される結果が得られる限り、ここでの記載は限定されない。
上記の具体的な実施形態は、本開示の保護範囲を限定するものではない。当業者であれば、設計の要求又はその他の要素に従って、様々な修正、組合、サブ組合、及び置換を行うことができることを理解すべきである。本発明の精神及び原理の範囲内で行われる任意の修正、均等置換及び改良などは、いずれも本発明の保護範囲に含まれるべきである。

Claims (15)

  1. リクエストの処理方法であって、
    コンテンツ配信ネットワークCDNのリクエストを受信することと、
    前記CDNのリクエストに対応する、予め配置されたコードである動的コードを取得することと、
    前記動的コードをリアルタイムにコンパイルして、コンパイルされたコードを取得することと、
    前記コンパイルされたコードを実行することと、を含む、
    リクエストの処理方法。
  2. 前記CDNのリクエストに対応する動的コードを取得することは、
    前記CDNのリクエストにおけるドメイン名情報に基づいて、前記ドメイン名情報に対応するCDNエッジノードから前記動的コードを取得すること、を含む、
    請求項1に記載のリクエストの処理方法。
  3. 前記動的コードをリアルタイムにコンパイルして、コンパイルされたコードを取得することは、
    前記動的コードに対して静的検出を行うことで、前記動的コードに不安全特徴が含まれるか否かを決定することと、
    静的検出結果に不安全特徴が含まれていない場合、前記動的コードに対して動的計算を行って、前記コンパイルされたコードを生成することと、を含む、
    請求項1に記載のリクエストの処理方法。
  4. 前記動的コードに対して動的計算を行って、前記コンパイルされたコードを生成することは、
    前記CDNのリクエストを実行するためのJS仮想マシンを作成することと、
    前記動的コードを前記JS仮想マシンに追加することと、
    前記動的コードをリアルタイムにコンパイルして、前記コンパイルされたコードを生成することと、を含む、
    請求項3に記載のリクエストの処理方法。
  5. 前記コンパイルされたコードを実行することは、
    前記JS仮想マシンで前記コンパイルされたコードを実行すること、を含む、
    請求項4に記載のリクエストの処理方法。
  6. 前記リクエストの処理方法は、
    前記コンパイルされたコードを実行するためのリソースの占有率を検出することと、
    前記占有率が設定された閾値を超えた場合に、前記コンパイルされたコードの実行を終了することと、をさらに含む、
    請求項1〜5のいずれか1項に記載のリクエストの処理方法。
  7. リクエストの処理装置であって、
    コンテンツ配信ネットワークCDNのリクエストを受信するためのリクエスト受信モジュールと、
    前記CDNのリクエストに対応する、予め配置されたコードである動的コードを取得するための取得モジュールと、
    前記動的コードをリアルタイムにコンパイルして、コンパイルされたコードを取得するためのコンパイルモジュールと、
    前記コンパイルされたコードを実行するための実行モジュールと、を備える、
    リクエストの処理装置。
  8. 前記取得モジュールは、
    前記CDNのリクエストにおけるドメイン名情報に基づいて、前記ドメイン名情報に対応するCDNエッジノードから前記動的コードを取得することにさらに用いられる、
    請求項7に記載のリクエストの処理装置。
  9. 前記コンパイルモジュールは、
    前記動的コードに対して静的検出を行うことで、前記動的コードに不安全特徴が含まれるか否かを決定するための検出ユニットと、
    静的検出結果に不安全特徴が含まれていない場合、前記動的コードに対して動的計算を行って、前記コンパイルされたコードを生成するための静的検出処理ユニットと、を備える、
    請求項7に記載のリクエストの処理装置。
  10. 前記静的検出処理ユニットは、
    前記CDNのリクエストを実行するためのJS仮想マシンを作成するための作成サブユニットと、
    前記動的コードを前記JS仮想マシンに追加するための追加サブユニットと、
    前記動的コードをリアルタイムにコンパイルして、前記コンパイルされたコードを生成するためのリアルタイム処理サブユニットと、をさらに備える、
    請求項9に記載のリクエストの処理装置。
  11. 前記実行モジュールは、
    前記JS仮想マシンで前記コンパイルされたコードを実行することにさらに用いられる、
    請求項10に記載のリクエストの処理装置。
  12. 前記リクエストの処理装置は、
    前記コンパイルされたコードを実行するためのリソースの占有率を検出するための占有率検出モジュールと、
    前記占有率が設定された閾値を超えた場合に、前記コンパイルされたコードの実行を終了するための終了実行モジュールと、をさらに備える、
    請求項7〜11のいずれか1項に記載のリクエストの処理装置。
  13. 電子設備であって、
    少なくとも1つのプロセッサと、
    前記少なくとも1つのプロセッサと通信接続されたメモリと、を備え、
    前記メモリは、前記少なくとも1つのプロセッサによって実行可能な命令を記憶しており、前記命令は、前記少なくとも1つのプロセッサによって実行される場合、前記少なくとも1つのプロセッサに請求項1〜6のいずれか1項に記載のリクエストの処理方法を実行させる、
    電子設備。
  14. 前記コンピュータに請求項1〜6のいずれか1項に記載のリクエストの処理方法を実行させる命令を記憶した非一時的なコンピュータ可読記憶媒体。
  15. コンピュータにおいて、プロセッサにより実行される場合、請求項1〜6のいずれか1項に記載のリクエストの処理方法を実現することを特徴とするプログラム。
JP2021098546A 2020-06-29 2021-06-14 リクエストの処理方法、装置、設備、コンピュータ記憶媒体、及びプログラム Pending JP2021166060A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010603582.8A CN111770170B (zh) 2020-06-29 2020-06-29 请求处理方法、装置、设备和计算机存储介质
CN202010603582.8 2020-06-29

Publications (1)

Publication Number Publication Date
JP2021166060A true JP2021166060A (ja) 2021-10-14

Family

ID=72722909

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021098546A Pending JP2021166060A (ja) 2020-06-29 2021-06-14 リクエストの処理方法、装置、設備、コンピュータ記憶媒体、及びプログラム

Country Status (5)

Country Link
US (1) US11689630B2 (ja)
EP (1) EP3872630B1 (ja)
JP (1) JP2021166060A (ja)
KR (1) KR102572013B1 (ja)
CN (1) CN111770170B (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005070884A (ja) * 2003-08-28 2005-03-17 Ntt Docomo Inc 課金ポリシー生成装置、メタデータ配信サーバ、有料情報配信サーバ、有料情報配信システム、課金ポリシー生成方法、及び、有料情報課金方法
JP2011528479A (ja) * 2008-07-15 2011-11-17 グーグル・インコーポレーテッド 埋込みアプリケーションにおける地理的コンテキスト、およびキーワードコンテキスト
JP2015501961A (ja) * 2011-11-07 2015-01-19 クアルコム,インコーポレイテッド 情報の流れを把握するための値内のラベルの符号化
JP2018530068A (ja) * 2015-09-28 2018-10-11 アマゾン テクノロジーズ インコーポレイテッド 分散型ストリームベースのデータベーストリガ
CN108769743A (zh) * 2018-05-11 2018-11-06 中兴通讯股份有限公司 一种视频播放控制方法、系统、节点和计算机存储介质

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7127713B2 (en) * 2002-01-11 2006-10-24 Akamai Technologies, Inc. Java application framework for use in a content delivery network (CDN)
US7660896B1 (en) * 2003-04-15 2010-02-09 Akamai Technologies, Inc. Method of load balancing edge-enabled applications in a content delivery network (CDN)
US8423662B1 (en) * 2003-04-28 2013-04-16 Akamai Technologies, Inc. Forward request queuing in a distributed edge processing environment
US20120089700A1 (en) * 2010-10-10 2012-04-12 Contendo, Inc. Proxy server configured for hierarchical caching and dynamic site acceleration and custom object and associated method
US9128732B2 (en) * 2012-02-03 2015-09-08 Apple Inc. Selective randomization for non-deterministically compiled code
US9110751B2 (en) * 2012-02-13 2015-08-18 Microsoft Technology Licensing, Llc Generating and caching software code
US9237190B2 (en) * 2012-04-18 2016-01-12 Samsung Electronics Co., Ltd. Node and method for generating shortened name robust against change in hierarchical name in content-centric network (CCN)
US9992260B1 (en) * 2012-08-31 2018-06-05 Fastly Inc. Configuration change processing for content request handling in content delivery node
US10701148B2 (en) * 2012-12-13 2020-06-30 Level 3 Communications, Llc Content delivery framework having storage services
US9841960B2 (en) * 2015-03-30 2017-12-12 Ca, Inc. Dynamic provision of debuggable program code
CN104935660B (zh) 2015-06-17 2018-11-06 北京智友信诚科技有限公司 一种云程序开发运行系统、方法及装置
KR102492871B1 (ko) * 2015-12-15 2023-01-30 삼성전자주식회사 사용자 단말장치, 서버, 및 그 어플리케이션 실행 방법
US9830449B1 (en) * 2015-12-16 2017-11-28 Amazon Technologies, Inc. Execution locations for request-driven code
US10754701B1 (en) * 2015-12-16 2020-08-25 Amazon Technologies, Inc. Executing user-defined code in response to determining that resources expected to be utilized comply with resource restrictions
KR101665008B1 (ko) * 2016-01-28 2016-10-24 한국과학기술정보연구원 데이터 분석 장치 및 방법
US10742596B2 (en) * 2016-03-04 2020-08-11 Cisco Technology, Inc. Method and system for reducing a collision probability of hash-based names using a publisher identifier
US10979439B1 (en) * 2018-03-02 2021-04-13 Amazon Technologies, Inc. Identity management for coordinated devices in a networked environment
US10872142B1 (en) * 2018-03-02 2020-12-22 Amazon Technologies, Inc. Localized identity management in limited communication networks
US11068281B2 (en) * 2018-03-02 2021-07-20 Fastly, Inc. Isolating applications at the edge
US10331462B1 (en) * 2018-11-06 2019-06-25 Cloudflare, Inc. Cloud computing platform that executes third-party code in a distributed cloud computing network
CN109885990B (zh) * 2019-03-11 2021-01-29 腾讯科技(深圳)有限公司 脚本管理方法
US11151009B2 (en) * 2019-07-25 2021-10-19 Deepfactor, Inc. Systems, methods, and computer-readable media for processing telemetry events related to operation of an application
CN110851135A (zh) * 2019-09-12 2020-02-28 中国平安财产保险股份有限公司 应用程序自动构建上传方法、装置及计算机设备、存储介质
CN110727504B (zh) * 2019-10-21 2022-04-22 百度在线网络技术(北京)有限公司 代码执行方法、装置和渲染设备
CN110944048B (zh) 2019-11-29 2022-06-24 腾讯科技(深圳)有限公司 业务逻辑配置方法及装置
CN111008019B (zh) * 2019-12-06 2021-07-02 北京百度网讯科技有限公司 小程序的Web化运行方法、装置、设备及介质
JP2023518258A (ja) * 2020-03-20 2023-04-28 セクション.アイオー インコーポレイテッド 適応エッジエンジンを利用して分散エッジコンピューティングシステムを管理するためのシステム、方法、コンピューティングプラットフォーム、および記憶媒体

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005070884A (ja) * 2003-08-28 2005-03-17 Ntt Docomo Inc 課金ポリシー生成装置、メタデータ配信サーバ、有料情報配信サーバ、有料情報配信システム、課金ポリシー生成方法、及び、有料情報課金方法
JP2011528479A (ja) * 2008-07-15 2011-11-17 グーグル・インコーポレーテッド 埋込みアプリケーションにおける地理的コンテキスト、およびキーワードコンテキスト
JP2015501961A (ja) * 2011-11-07 2015-01-19 クアルコム,インコーポレイテッド 情報の流れを把握するための値内のラベルの符号化
JP2018530068A (ja) * 2015-09-28 2018-10-11 アマゾン テクノロジーズ インコーポレイテッド 分散型ストリームベースのデータベーストリガ
CN108769743A (zh) * 2018-05-11 2018-11-06 中兴通讯股份有限公司 一种视频播放控制方法、系统、节点和计算机存储介质

Also Published As

Publication number Publication date
CN111770170A (zh) 2020-10-13
CN111770170B (zh) 2023-04-07
US20210274017A1 (en) 2021-09-02
EP3872630A2 (en) 2021-09-01
EP3872630B1 (en) 2023-11-01
US11689630B2 (en) 2023-06-27
KR20210040333A (ko) 2021-04-13
EP3872630A3 (en) 2021-11-17
KR102572013B1 (ko) 2023-08-29

Similar Documents

Publication Publication Date Title
TWI682653B (zh) 短連結解析方法、裝置及設備
US11403117B2 (en) Methods for processing mini program, and related devices
US8321594B2 (en) Achieving low latencies on network events in a non-real time platform
US20140366004A1 (en) Remote Debugging in a Cloud Computing Environment
US10031837B1 (en) Dynamic service debugging in a virtual environment
US10182126B2 (en) Multilevel redirection in a virtual desktop infrastructure environment
US9497095B2 (en) Dynamic control over tracing of messages received by a message broker
US10574724B2 (en) Automatic discovery of management nodes and generation of CLI using HA module
US10592399B2 (en) Testing web applications using clusters
CA2901042C (en) Non-precise garbage collection in non-cooperative systems
WO2019075845A1 (zh) 链路调用关系的构建方法、装置、计算机设备及存储介质
AU2017265064A1 (en) Access to data on a remote device
CN111770161A (zh) https的嗅探跳转方法和装置
CN111767089A (zh) 加载文件的方法、装置、设备以及存储介质
US20170195347A1 (en) Modifying Evasive Code Using Correlation Analysis
US11025742B2 (en) Dynamic link processing engine
US9699273B2 (en) Adaptable applications in a client/server architecture
US9830307B1 (en) Ahead of time compilation of content pages
US20230421489A1 (en) Discovery and routing service for a cloud infrastructure
CN116561013B (zh) 基于目标服务框架的测试方法、装置、电子设备和介质
WO2023169193A1 (zh) 用于生成智能合约的方法和装置
CN112651741A (zh) 基于区块链的数据处理方法和装置
JP2021166060A (ja) リクエストの処理方法、装置、設備、コンピュータ記憶媒体、及びプログラム
US9384074B1 (en) Redirecting service calls using endpoint overrides
CN112860447A (zh) 一种不同应用间的交互方法和系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210614

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220608

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220704

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221003

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230116

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230404

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230720

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231016

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231201