Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6972182B2 - Apiコール処理を可能にするための加速システム - Google Patents
[go: Go Back, main page]

JP6972182B2 - Apiコール処理を可能にするための加速システム - Google Patents

Apiコール処理を可能にするための加速システム Download PDF

Info

Publication number
JP6972182B2
JP6972182B2 JP2019569928A JP2019569928A JP6972182B2 JP 6972182 B2 JP6972182 B2 JP 6972182B2 JP 2019569928 A JP2019569928 A JP 2019569928A JP 2019569928 A JP2019569928 A JP 2019569928A JP 6972182 B2 JP6972182 B2 JP 6972182B2
Authority
JP
Japan
Prior art keywords
api
client device
acceleration system
client
acceleration
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019569928A
Other languages
English (en)
Other versions
JP2020525899A (ja
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.)
Netflix Inc
Original Assignee
Netflix 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 Netflix Inc filed Critical Netflix Inc
Publication of JP2020525899A publication Critical patent/JP2020525899A/ja
Application granted granted Critical
Publication of JP6972182B2 publication Critical patent/JP6972182B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17306Intercommunication techniques
    • G06F15/17312Routing techniques specific to parallel machines, e.g. wormhole, store and forward, shortest path problem congestion
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/101Server selection for load balancing based on network conditions
    • 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/562Brokering proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/549Remote execution

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Description

関連出願
本出願は、2017年6月20日に出願された米国特許出願第15/628509号の優先権の利益を主張するものであり、この特許出願を本明細書に引用する。
本発明は概ね、クラウドベース・コンピューティングに、より具体的にはアプリケーション・プログラミング・インターフェース(API)コール処理を可能にするための加速システムに関する。
多くのインターネットベース・サービスはクラウドベース・システム上で稼働している。クラウドベース・システムは通常、地理的に分布するサーバーを含み、そのためクラウドベース・システム上で稼働するサービスのクライアントはクラウドベース・システムの最も近いサーバーへ経路付けされる。幾つかの場合、クラウドベース・システム内の最も近いサーバーでさえクライアントからかなりの距離にある。
一般に、クライアントが経路付けされたサーバーから離れているほど、サーバーとクライアント間の通信往復は遅くなり、通信待ち時間が多い。また、サーバーとの通信接続を確立するために、クライアントは、転送制御プロトコル(TCP)応答確認などの幾つかの通信応答確認を行わなければならない。また、クライアントはサーバーとトランスポート層セキュリティー(TLS)応答確認を行い、安全な通信セッションを確立する。TLS応答確認は通常、クライアントとサーバー間の2往復を必要とする。
クライアントが経路付けされたサーバーから離れているほど、これらの応答確認を行いそれによりクライアントとサーバー間の接続を確立するのに要する時間が長くなる。従って、クライアントがサーバーからかなりの距離にある場合、クラウドベース・システムを介したインターネットベース・サービスのアクセス機能性は非常に遅くなり、望ましくないユーザ体験をもたらす場合がある。
本発明の1つの実施形態は、クライアント装置を適切なAPIエッジゲートウェイにステアリングする(向ける)ための方法を含む1つの方法を明らかにする。その1つの方法は、クライアント装置からアプリケーション・プログラミング・インターフェース(API)コールに伴うステアリング要求を受信することを含む。また、その方法は、ステアリング要求の受信に応答して、APIコールが処理されるのを可能にしながらクライアント装置とAPI処理システムとの間の仲介者として働く加速システムを到達可能性選択基準に基づいて選択することと、クライアント装置を加速システムへ経路付けすることとを含む。
開示された方法の1つの利点は、加速システムがクライアント装置とAPI処理システムとの間の仲介者として働く時、APIコールを処理するための往復時間が低減されることである。特に、クライアント装置と加速システムの間の通信接続を確立するために必要ないずれの往復時間も、クライアント装置とAPI処理システムの間で確立される必要のある接続に比べて短い。
本発明の1つ以上の態様を実施するよう構成されたシステム環境を例示する。 本発明の1つの実施形態に係る、図1の構成要素間の相互作用を例示する相互作用図である。 本発明の1つ以上の態様を実施するよう構成されたステアリングシステム環境を例示する。 本発明の1つの実施形態に係る、一意の識別子を使用する図3の構成要素間の相互作用を例示する相互作用図である。 本発明の別の実施形態に係る、APIアクセス終点にクライアントを向けるための方法ステップのフロー図である。
以下の説明において、本発明のより完全な理解を提供するために多数の具体的詳細が明らかにされる。しかし、これらの具体的詳細の1つ以上を欠いて本発明を実施してもよいことは当業者には明白であろう。他には、本発明を不明瞭にしないため、周知の特徴は記載されていない。
図1は本発明の1つ以上の態様を実施するよう構成されたシステム環境100を例示する。図示のように、システム環境100はAPI処理システム102と、クライアント104(0)〜104(N)(「複数のクライアント104」と総称され、「クライアント104」と個別に呼ばれる)と、加速システム106(0)〜106(N)(「複数の加速システム106」と総称され、「加速システム106」と個別に呼ばれる)とを含む。
API処理システム102、複数の加速システム106、及び複数のクライアント104は通信ネットワーク(不図示)を介して通信する。通信ネットワークは、ルーター及びスイッチなどのデータ通信を可能にするよう構成された複数のネットワーク通信システムを含む。当業者は、通信ネットワークを構築するために、周知のインターネット通信ネットワークを配備するのに実施される技術を含め多くの実用上実施可能な技術が存在することを認めるであろう。
API処理システム102は世界中に分布する相互接続されたノードのネットワークを含み、システム環境100に関連するデータを受信、送信、処理、及び/又は記憶する。相互接続されたノードは、これらの所望の機能を実行するためにソフトウェア、ファームウェア、及びハードウェアの適切な組合せを含んでもよい。特に、API処理システム102は、同じ場所にあっても、或いは物理的に分布していてもよい複数の計算機を含む。例えば、これらの計算機は1つ以上の汎用PC、マッキントッシュ、ワークステーション、リナックス(登録商標)・ベースのコンピュータ、サーバーコンピュータ、1つ以上のサーバープール、又は任意の他の適切な装置を含んでよい。これらの計算機は、対応するアプリケーション・プログラミング・インターフェース(API)を介して遠隔アクセス可能な1つ以上のプログラムを記憶し、実行する。幾つかの実施形態では、API処理システム102はコンピューティング資源を外部実体に料金と交換で提供する。このような実体はAPI処理システム102の一部をシステム設定し、その実体のクライアントは、API処理システム102のシステム設定された部分にアクセスしてその実体に関連する仕事を実行する。
複数のクライアント104は1つ以上の物理的位置にある1つ以上の計算機システムを含む。各計算機システムは任意の適切な入力装置(例えば、キーパッド、タッチスクリーン、マウス、又は情報を受け付けうる他の装置)、出力装置、大容量記憶媒体、又はデータを受信、処理、記憶、及び通信するための他の適切な構成要素を含んでよい。入力装置と出力装置の両方が、磁気コンピュータディスク、CD−ROMなど固定された又は取り外し可能な記憶媒体を含んでもよい。各計算機システムはパーソナルコンピュータ、ワークステーション、ネットワークコンピュータ、キオスク、無線データポート、タブレットコンピュータ、これら又は他の装置内の1つ以上のプロセッサ、又は任意の他の適切な処理装置を含んでよい。
各クライアント104は計算機システム、セットトップボックス、携帯電話などの携帯機器、又は任意の他の実用上実施可能でネットワーク接続可能な計算プラットホームを備えてもよい。1つの実施形態では、クライアント104は、映像内容を表示し音響出力を生成するための表示装置及びスピーカー装置に結合されるか又はを含む。各クライアント104は、ある仕事のためにAPI処理システム102に頼る計算機ハードウェア及び/又は計算機ソフトウェアを含む。
特に、クライアント104は、通信ネットワークを介してAPI処理システム102と通信し様々な仕事を行う1つ以上のクラウドベース・アプリケーションを実行する。1つの実施形態では、クラウドベース・アプリケーションは、要求を処理するのに必要な処理基盤を備えたAPI処理システム102の一部に要求を発行することで働く。要求を受信したことに応答して、API処理システム102はその要求を処理し、クラウドベース・アプリケーションに送り返す出力データを生成する。クライアント104上で実行されているクラウドベース・アプリケーションと遠隔サーバーとの間のこの往復は、APIコール往復と呼ばれる。一般に、クライアント104がAPI処理システム102の該一部から離れているほど、APIコール往復の待ち時間が多い。また、要求を処理するAPI処理システム102の該一部の混雑度が高いほど、APIコール往復の待ち時間が多い。
加速システム106はAPI処理システム102と複数のクライアント104との間の仲介者として働き、APIコール往復待ち時間を低減する。複数の加速システム106は世界中に分布し複数のクライアント104とAPI処理システム102と間の仲介者としてそれぞれ働く相互接続されネットワークをなす複数のシステムを含む。特定の加速システム106が特定のクライアント104とネットワーク接続を確立し、その接続を介してAPIコールを処理するための要求を受信する。APIコールに関連するプログラミング機能はAPI処理システム102内に構成されている。加速システム106は、API処理システム102との接続を介してAPIコールの処理を可能にする。
加速システム106がAPI処理システム102とクライアント104との間の仲介者として働く時、少なくとも2つの理由でAPIコール往復時間は低減される。第1に、幾つかの実施形態では、加速システム106は一般的にAPI処理システム102に比べてクライアント104に物理的に近い。従って、クライアント104と加速システム106の間の通信接続を確立するために必要ないずれの往復時間も、クライアント104とAPI処理システム102の間で確立される必要のある接続に比べて短い。第2に、幾つかの実施形態では、加速システム106が複数のクライアント104からの多量の要求を有しており、加速システム106はAPI処理システム102との持続的で確立された接続を有する。従って、API処理システム102との接続は各APIコールに対して確立される必要がない。
図2は本発明の1つの実施形態に係る、図1の構成要素間の相互作用を例示する相互作用図である。特に、クライアント104と加速システム106は伝送制御プロトコル(TCP)応答確認を実行する(202)。TCP応答確認は、クライアント104と加速システム106が交渉し相互通信するためのTCP通信セッションを開始するための機構である。クライアント104と加速システム106はトランスポート層セキュリティー(TLS)応答確認を実行する(204)。TLS応答確認は、クライアント104と加速システム106が安全な通信セッションを確立するのに必要なセキュリティーキーを交換するための機構である。
安全な通信セッションが確立されると直ぐ、クライアント104は特定のAPIコールを処理するためのハイパーテキスト転送プロトコル(HTTP)要求を確立された接続を介して送信する(206)。加速システム106はAPIコールを処理するためのHTTP要求をAPI処理システム102へ転送する(208)。1つの実施形態では、加速システム106は、順にAPI処理システム102に転送される複数のHTTP要求を管理する。これらの要求の送信及び/又は順序付けを管理するために、加速システム106はこれらの要求をHTTP/2を使用して多重化する。API処理システム102はAPIコールを処理し、処理結果をHTTP応答に入れて加速システム106に送信する(210)。加速システム106はそのHTTP応答をクライアント104に転送する(212)。
TCP応答確認開始時とクライアント104によるHTTP応答受信時との間の継続時間がAPIコール往復時間である。1つの実施形態では、このAPIコール往復時間はクライアント104が直接API処理システム102と通信する場合より少ない。APIコール往復時間は、1つにはTCP応答確認及びTLS応答確認実行時のクライアント104と加速システム106の間の通信の少ない待ち時間のために少ない。
図3は本発明の1つ以上の態様を実施するよう構成されたステアリングシステム環境300を例示する。システム環境300はAPIエッジゲートウェイ302、クライアント304、測定システム306、及びクライアント・ステアリングシステム308を含む。
APIエッジゲートウェイ302は、クライアント304によりアクセスされうる、特定のAPIコールを処理するための異なるシステムを含む。例示された実施形態では、APIエッジゲートウェイ302は、複数の組み込み加速システム320(「加速システム320」と個別に呼ばれる)、複数のインターネット交換(IX)加速システム322(「加速システム322」と個別に呼ばれる)、及び図1のAPI処理システム102を含む。
複数の組み込み加速システム320と複数のIX加速システム322は地理的に分布する多くの加速システム106を含み、API処理システム102と連携してAPIコールの処理を可能にする。各組み込み加速システム320は、ISPに関連するネットワーク内に組み込まれた加速システム106である。1つの実施形態では、加速システム320はISPに内在するので、加速システム320はそのISPと提携及び/又は契約するクライアントのみによりアクセス可能である。各IX加速システム322は、インターネット交換ポイント内で又はと連携してISPと無関係に働く加速システム106である。インターネット交換ポイントは、ISPとコンテンツ配信ネットワーク(CDN)がインターネット・トラフィックをそれを介して交換する物理的基盤である。
測定システム306はクライアント、例えばクライアント304とAPIエッジゲートウェイ302との間の相互作用を監視し、異なるクライアント又はクライアントグループと異なるAPIエッジゲートウェイ302との間の待ち時間を測定する。ステアリングシステム308は、APIコールを処理するためにクライアント、例えばクライアント304を、測定システムが測定した待ち時間に基づいてAPIエッジゲートウェイ302の1つ(即ち、組み込み加速システム320の1つ、IX加速システム322の1つ、又はAPI処理システム102)に向ける。このように、クライアントからのAPIコールは、過去の待ち時間測定値に基づいてそのクライアントに関して最も少ない待ち時間となる可能性のあるAPIエッジゲートウェイ302により処理される。
以下の説明は、測定システム306がクライアント304とAPIエッジゲートウェイ302の間の待ち時間を測定する方法に関する詳細を提供する。その説明はクライアント・ステアリングシステム308が測定された待ち時間を使ってクライアント304を適切なAPIエッジゲートウェイ302に向ける方法に関する詳細も提供する。
クライアント304は、測定システム306がクライアント304とAPIエッジゲートウェイ302の間の相互作用を監視するのを可能にするプローブモジュール310を含む。プローブモジュール310は、監視API終点に問い合わせ、監視対象の異なるAPIエッジゲートウェイ302に関連する一意の資源ロケータ(URL)のリストを要求する。リスト内の各URLは、そのURLに関連するAPIエッジゲートウェイ302に対応する特定の名前を持つ。監視API終点からの応答は、URLのリストと測定プロセスを制御する1組のパラメータとを含む。これらのパラメータは、その特定の測定プロセスを完了し別の測定プロセスを始めた後、プローブモジュール310が待つべきある長さの時間を指定する待機パラメータを含む。また、これらのパラメータは、測定プロセスの間に提供された各URLに対して行う要求の数を指定するパルスパラメータ、提供されたURLへの要求と要求の間で待つある長さの時間を指定するパルス間隔パラメータ、及び提供されたURLへの要求が完了するのを待つ最大長さの時間を指定するパルス・タイムアウトパラメータも含む。1つの実施形態では、プローブモジュール310に戻されたリスト内に提供された1つのURLは期限切れに関連する。
測定プロセスの間、プローブモジュール310は、監視API終点から提供された1つのURLへの各要求と関連する1組の測定データを集める。測定データは、これらに限定されないが、要求の総継続時間、TCP接続を確立するためにかかる時間、TLS応答確認を行うためにかかる時間、URLと関連するホスト名を解釈し変換するための時間、第1バイトまでの時間、即ち、要求の開始と要求に応答して受信した第1バイトとの間の時間、要求への応答に関連するHTTP状態コード、及び要求に応答して受信したペイロードのサイズを含む。パラメータに加えて、プローブモジュール310は、URLと関連するAPI終点とクライアント304の間のいずれの中継システムも集める。これらの中継システムは加速システム320及び322又はAPIホスティング・サービスを含む。プローブモジュール310は、測定プロセスの間に発行された各要求と関連する集めた測定データを測定システム306に送信する。
1つの実施形態では、接続が確立された後、同じURLへの引き続く要求がその接続を再度利用できるように、クライアント304は、HTTPキープアライブを備えている。このような実施形態では、引き続く要求のための測定パラメータは、接続が最初に確立された第1の要求より長さが短くてもよい。1つの実施形態では、プローブモジュール310は、同一の測定プロセス内の及び/又は2つの測定プロセスに亘る異なる要求間で確立された接続を再設定する。
測定システム306はマッピングエンジン312と測定記憶314とを含む。測定システム306は、クライアント304を含む異なるクライアントから受信した測定データを更なる処理のために測定記憶314に記憶する。マッピングエンジン312は1組のクライアントとAPIエッジゲートウェイ302の1つ(即ち、組み込み加速システム320の1つ、IX加速システム322の1つ、又はAPI処理システム102)との間のマッピングを作成する。特定のAPIエッジゲートウェイ302が、待ち時間基準及び到達可能性基準に基づき1組のクライアントにより発行されたAPIコールを処理するのに最適である。
待ち時間基準に関して、マッピングエンジン312は、測定記憶314に記憶された測定データにより捕捉されたAPIコール往復時間(待ち時間とも呼ばれる)を取りしきる。1つの実施形態では、待ち時間は、測定プロセスの間に特定のURLに関連する1つの要求又は1組の要求を完了するのにかかる総時間を表す。その表わされた時間は、クライアントとURLに関連するAPIエッジゲートウェイ302との接続の開始時に始まり、APIコールに関連する応答がクライアントにより受信された時に終わる。1つの実施形態では、特定の1組のクライアントに対して、マッピングエンジン312は、1組のAPIエッジゲートウェイ302のそれぞれに測定記憶314に記憶された測定データに基づいて点数を付ける。特定のAPIエッジゲートウェイ302の点数は、特定のクライアント又は特定の1組のクライアントにより発行されたAPIコールを処理するための中央値待ち時間に基づいてもよい。
到達可能性基準に関して、マッピングエンジン312は、1組のクライアントをそれらクライアントによりアクセス可能な加速システム320又は322だけにマッピングする。上述のように、組み込み加速システム320はISPに内在するので、組み込み加速システム320はそのISPと提携及び/又は契約するクライアントのみによりアクセス可能である。従って、マッピングエンジン312が1組のクライアントを特定の組み込み加速システム320にマッピングするのは、その1組のクライアントがその組み込み加速システム320が組み込まれたISPと提携及び/又は契約する場合のみである。同様に、IX加速システム322はインターネット交換ポイントに内在するので、IX加速システム322はそのインターネット交換ポイントにアクセス可能なクライアントによってのみアクセス可能である。従って、マッピングエンジン312が1組のクライアントを特定のIX加速システム322にマッピングするのは、クライアント304がそのIX加速システム322を含むインターネット交換ポイントにアクセスできる場合のみである。
マッピングエンジン312は、数組のクライアントとこれらの組のクライアントにより発行されたAPIコールを処理するのに最適である個々のAPIエッジゲートウェイ302との間の決定されたマッピングに基づいてゲートウェイマップを作成する。マッピングエンジン312は、クライアントからのステアリング要求に応答してクライアント・ステアリングを実行するためにゲートウェイマップをクライアント・ステアリングシステム308に送信する。ゲートウェイマップはキー・ゲートウェイ対を記憶する。キー・ゲートウェイ対内のキーは1つ以上のクライアントを特定し、キー・ゲートウェイ対内のゲートウェイはその組のクライアントにより発行されたAPIコールを処理するのに最適であるAPIエッジゲートウェイ302を特定する。1つの実施形態では、キー・ゲートウェイ対内のキーは、特定のクライアントに関連するIPアドレスである。特定のクライアントに関連するIPアドレスは測定記憶314に記憶された測定データに基づいて決定される。
幾つかの実施形態では、クライアント・ステアリングシステム308により受信されたステアリング要求はクライアントのIPアドレスを含まず、代わりにそのクライアントがインターネットにそれを通してアクセスするISPに関連する解釈器のIPアドレスを含む。クライアント・ステアリングシステム308がこのような場合にゲートウェイマップを使用できるように、キー・ゲートウェイ対内のキーは、解釈器に関連するISPを通してインターネットにアクセスする1組のクライアントに関連する解釈器IPであるべきである。異なるクライアントから受信した測定データは、解釈器IPアドレスではなくクライアントIPアドレスを指定するので、マッピングエンジン312は相関手法を実行して測定データとそれから算出した待ち時間とを解釈器IPアドレスに対応付ける。
図4は本発明の1つの実施形態に係る、一意の識別子を使用する図3の構成要素間の相互作用を例示する相互作用図である。特に、クライアント304は、ホスト名とクライアント304に関連する一意の識別子とを含む解釈要求を解釈器400に送信する(402)。解釈器400はクライアント304がインターネットにそれを通してアクセスするISPに関連する。解釈器400はホスト名を解釈し、その結果、クライアント304を測定システム306に向け直す(404)。向け直すプロセスにおいて、測定システム306への要求は解釈器のIPアドレスを含む。測定システム306は解釈器IPアドレスと一意の識別子との関係を測定記憶314に記録する(406)。
クライアント304はAPIコール要求をAPIエッジゲートウェイ302へ送信する(412)。APIコール要求は、一意の識別子と、解釈器IPアドレスと異なるクライアント304に関連するクライアントIPアドレスとを含む。APIエッジゲートウェイ302はAPIコールを処理するか又は場合によりその処理を可能にし、API応答をクライアント304へ送信する(414)。また、APIエッジゲートウェイ302はそのAPIコール処理に関連する測定データを測定記憶314に記録する(416)。測定データはそのクライアントIPアドレスと一意のIDとを指定する。
上述したように、測定エンジン312は受信した測定データを処理し、APIコール処理に関連する待ち時間を算出する。また、測定エンジン312は、解釈器IPアドレスと対応付けて記録された一意のIDと記録された測定データにより指定された一意のIDとを照合することで待ち時間は解釈器IDに関連すると判断する。このように、測定データがクライアントIPアドレスを含まない場合でも、クライアントIPアドレスを指定する測定データに基づいて算出された待ち時間を解釈器IPアドレスと対応付けることができる。
図3に戻ると、特定のAPIコールに対して、クライアント・ステアリングシステム308は、APIコールを処理するためにクライアント304をAPIエッジゲートウェイ302の1つ(即ち、組み込み加速システム320の1つ、IX加速システム322の1つ、又はAPI処理システム102)に向ける。このステアリング機能を実行するために。クライアント・ステアリングシステムは選択エンジン316と測定システム306から受信したゲートウェイマップ318とを含む。
選択エンジン316はクライアント304からAPIコール処理のためのステアリング要求を受信する。説明の容易さのために、以下に選択エンジン316がクライアント304から受信され特定のAPIコールに関連する特定のステアリング要求を処理する方法を説明する。1つの実施形態では、ステアリング要求はクライアント装置に関連するインターネットプロトコル(IP)アドレスを含む。別の実施形態では、ステアリング要求は、クライアント装置がインターネットにそれを通してアクセスするISPの解釈器のIPアドレスを含む。
クライアント304からのステアリング要求に応答して、選択エンジン316はAPIコールを処理するためにAPIエッジゲートウェイ302の1つを選択する。特に、選択エンジン316はクライアント304を組み込み加速システム320の1つ、IX加速システム322の1つ、又はAPI処理システム102へ経路付けする。選択エンジン316はゲートウェイマップ318を使用して、組み込み加速システム320及びIX加速システム322からAPIコールを処理するために適切な加速システムを特定する。特に、選択エンジン316はステアリング要求に含まれたIPアドレスをゲートウェイマップ318内のキー・ゲートウェイ対中のIPアドレスと照合する。次に、選択エンジン316はそのキー・ゲートウェイ対において特定されたゲートウェイをクライアント304が向けられるAPIエッジゲートウェイ302として選択する。1つの実施形態では、選択基準に基づいて適切な加速システムを特定できない場合、選択エンジン316はAPIコールを処理するためにクライアント304をAPI処理システム102へ直接経路付けする。
1つの実施形態では、ゲートウェイマップに加えて、選択エンジン316は組み込み加速システム320及びIX加速システム322のそれぞれを監視し、加速システムの現在の負荷を測定する。選択エンジン316は加速システム320又は322の異なる側面を監視し、その現在の負荷を測定する。これらの側面は、これらに限定されないが、クライアントとのアクティブセッションの数とAPI処理システムにより可能にされているAPIコールの数とを含む。また、選択エンジン316は加速システム320又は322の使用されている処理リソースの量と、使用されているメモリーリソースの量と、加速システム320又は322とAPI処理システム102の間の通信チャネルの混雑レベルとを監視する。
上述したように、加速システム320及び322のそれぞれは多くの異なるクライアントとAPI処理システム102の間の仲介者として働く。従って、加速システム320又は322の負荷は、加速システムが任意の特定の時間に可能にしているAPIコールの数に依って変わる。加速システム320又は322の測定された負荷がある閾値を超えると、選択エンジン316は任意の更なるAPIコールの処理を可能にするための加速システムの選択を負荷が閾値未満になるまで延期する。
図5は本発明の別の実施形態に係る、APIエッジゲートウェイにクライアントを向けるための方法ステップのフロー図である。方法ステップは図1及び図3のシステムと合わせて説明されるが、当業者はこれらの方法ステップをいずれかの順に実行するよう構成されたどのシステムも本発明の範囲内であることを理解するであろう。
方法500は、クライアント・ステアリングシステム308がクライアント304からAPIコール処理のためのステアリング要求を受信するステップ502で始まる。ステアリング要求はクライアントに関連する又はクライアントがインターネットにそれを通してアクセスするISPに関係する解釈器に関連するインターネットプロトコル・アドレスを含む。
ステップ504で、ステアリングシステム308はクライアントによりアクセス可能な加速システム群を特定する。上述したように、幾つかの場合、ある加速システムは、ISP又は加速システムが組み込まれたインターネット交換ポイントにアクセスできるクライアントのみにとってアクセス可能である。クライアント304が加速システムにアクセスできることはクライアント304とAPI処理システム102の間の仲介者として働く加速システムの必要な側面であるので、ステアリングシステム308はクライアント304によりアクセス可能な加速システム群のみを選択する。
ステップ506で、ステアリングシステム308は、測定システム306から受信したゲートウェイマップに基づいてクライアント304に関連する測定データを調べる。測定データはそのクライアント又はそのクライアントと一緒にステアリングされる1つ以上の他のクライアントにより行われた以前のAPIコールのAPIコール往復時間を示す。ステップ508で、ステアリングシステム308は測定データに基づいてステップ506で特定された群から加速システムを選択する。ステアリングシステム308は以前測定した待ち時間に基づいて加速システムを選択する。
ステップ510で、ステアリングシステム308はAPIコールを処理するためにクライアント304を選択された加速システムへ経路付けする。これに応答して、クライアント304はAPIコールを処理するための要求を選択された加速システムへ送信し、その加速システムはAPI処理システム102でのAPIコール処理を可能にする。
つまり、加速システムはAPI処理システムとクライアントの間の仲介者として働き、APIコール往復待ち時間を低減する。複数の加速システムは世界中に分布し相互接続されネットワークをなす複数のシステムを含み、それぞれ複数のクライアント104とAPI処理システムと間の仲介者として働く。特定のクライアントは、特定の加速システムとネットワーク接続を確立し、APIコールを処理するための要求をその接続を介して送信する。APIコールに関連するプログラミング機能はAPI処理システム内に構成されている。加速システムはAPI処理システムとの前に確立された接続を介してAPIコールの処理を可能にする。
有利にも、加速システムがクライアント装置とAPI処理システムの間の仲介者として働く時、APIコールを処理するための往復時間は低減される。特に、クライアント装置と加速システムの間の通信接続を確立するのに必要などの往復時間も、クライアント装置とAPI処理システムの間で確立する必要がある接続に比べて短い。
上記説明は本発明の実施形態に向けられているが、本発明の他の更なる実施形態が本発明の基本範囲から逸脱することなく考案される可能性がある。例えば、本発明の態様はハードウェア又はソフトウェア又はハードウェアとソフトウェアの組み合わせにより実施されてよい。本発明の1つの実施形態はコンピュータシステムとともに使用されるプログラム製品として実施されてもよい。プログラム製品のプログラムは実施形態(本明細書に記載された方法を含む)の機能を規定し、種々のコンピュータ読取可能記憶媒体に格納されうる。例示のコンピュータ読取可能記憶媒体は、これらに限定されないが、(1)情報が永久に記憶される書き込み不能記憶媒体(例えば、コンピュータ内の読み出し専用メモリ装置、例えばCD−ROMドライブにより読み取り可能なCD−ROMディスク、フラッシュメモリ、ROMチップ、又は任意の種類の固体不揮発半導体メモリ)と(2)変更可能な情報が記憶される書き込み可能記憶媒体(例えば、ディスケットドライブ内のフロッピーディスク、又はハードディスクドライブ、又は任意の種類の固体ランダムアクセス半導体メモリ)とを含む。このようなコンピュータ読取可能記憶媒体は、本発明の機能を指揮するコンピュータ読取可能命令群を格納している場合、本発明の実施形態である。
以下、本発明の好ましい実施形態を項分け記載する。
実施形態1
クライアント装置からアプリケーション・プログラミング・インターフェース(API)コールに伴うステアリング要求を受信するステップと、
前記ステアリング要求の受信に応答して、
前記APIコールが処理されるのを可能にしながら前記クライアント装置とAPI処理システムとの間の仲介者として働く加速システムを到達可能性選択基準に基づいて選択するステップと、
前記クライアント装置を前記加速システムへ経路付けするステップと
を含む方法。
実施形態2
前記加速システムを前記到達可能性選択基準に基づいて選択するステップは、前記加速システムは前記クライアント装置によりアクセス可能であると判断するステップを含む、実施形態1記載の方法。
実施形態3
前記加速システムはインターネット・サービス・プロバイダ内に組み込まれ、前記インターネット・サービス・プロバイダと提携するクライアント装置のみによりアクセス可能である、実施形態2記載の方法。
実施形態4
前記加速システムは以前のAPIコールが処理されるのも可能にし、前記加速システムを選択するステップは、前記以前のAPIコールの処理に関連する待ち時間に更に基づいている、実施形態1記載の方法。
実施形態5
第2のAPIコールを処理することに関連した測定データであって前記クライアント装置に関連する一意の識別子を指定する測定データを受信するステップと、
前記測定データに基づいて、前記クライアント装置と前記加速システムの間の接続が開始された時から前記第2のAPIコールに関連する応答が前記クライアント装置により受信された時までの総時間を表す待ち時間を算出するステップと、
解釈器から解釈器IPアドレス及び前記一意の識別子を含む要求を受信するステップと、
前記要求に含まれる前記一意の識別子を前記測定データにより指定された前記一意の識別子と照合して前記待ち時間は前記解釈器IPアドレスに関連すると判断するステップと
を更に含む、実施形態1記載の方法。
実施形態6
前記クライアント装置から第3のAPIコールに関連し前記解釈器IPアドレスを含む第2のステアリング要求を受信するステップと、
前記第3のAPIコールが処理されるのを可能にしながら前記クライアント装置と前記API処理システムとの間の仲介者として働く前記加速システムを前記解釈器IPアドレスに関連した前記待ち時間に基づいて選択するステップと
を更に含む、実施形態5記載の方法。
実施形態7
前記解釈器IPアドレスは、前記クライアント装置がそれを通してインターネット・サービスにアクセスするインターネット・サービス・プロバイダ(ISP)に関連し、前記解釈器IPアドレスは、前記クライアント装置に関連したクライアントIPアドレスとは異なる、実施形態6記載の方法。
実施形態8
前記加速システムを選択するステップは、前記加速システムと前記API処理システムの間の通信接続内の混雑レベルに更に基づいている、実施形態1記載の方法。
実施形態9
前記加速システムに関連した1つ以上の測定実行から生成された測定データを前記クライアント装置から受信するステップ
を更に含む、実施形態1記載の方法。
実施形態10
命令群を記憶するコンピュータ読取可能媒体であって、プロセッサにより実行された時に前記命令群は前記プロセッサに
クライアント装置からアプリケーション・プログラミング・インターフェース(API)コールに伴うステアリング要求を受信することと、
前記ステアリング要求の受信に応答して、
前記APIコールが処理されるのを可能にしながら前記クライアント装置とAPI処理システムとの間の仲介者として働く加速システムを到達可能性選択基準に基づいて選択することと、
前記クライアント装置を前記加速システムへ経路付けすることと
を実行させる、コンピュータ読取可能媒体。
実施形態11
前記命令群は、前記プロセッサにより実行された時に、更に前記プロセッサに
前記加速システムは前記クライアント装置によりアクセス可能であると判断することで前記到達可能性選択基準に基づいて前記加速システムを選択すること
を実行させる、実施形態10記載のコンピュータ読取可能媒体。
実施形態12
前記加速システムはインターネット・サービス・プロバイダ内に組み込まれ、前記インターネット・サービス・プロバイダと提携するクライアント装置のみによりアクセス可能である、実施形態11記載のコンピュータ読取可能媒体。
実施形態13
前記加速システムはインターネット交換ポイント内に組み込まれ、前記インターネット交換ポイントへ経路付けされうるクライアント装置のみによりアクセス可能である、実施形態10記載のコンピュータ読取可能媒体。
実施形態14
前記命令群は、前記プロセッサにより実行された時に、更に前記プロセッサに
第2のAPIコールを処理することに関連した測定データであって前記クライアント装置に関連する一意の識別子を指定する測定データを受信することと、
前記測定データに基づいて、前記クライアント装置と前記加速システムの間の接続が開始された時から前記第2のAPIコールに関連する応答が前記クライアント装置により受信された時までの総時間を表す待ち時間を算出することと、
解釈器から解釈器IPアドレス及び前記一意の識別子を含む要求を受信することと、
前記要求に含まれる前記一意の識別子を前記測定データにより指定された前記一意の識別子と照合して前記待ち時間は前記解釈器IPアドレスに関連すると判断することと
を実行させる、実施形態10記載のコンピュータ読取可能媒体。
実施形態15
前記命令群は、前記プロセッサにより実行された時に、更に前記プロセッサに
前記クライアント装置から第3のAPIコールに関連し前記解釈器IPアドレスを含む第2のステアリング要求を受信することと、
前記第3のAPIコールが処理されるのを可能にしながら前記クライアント装置と前記API処理システムとの間の仲介者として働く前記加速システムを前記解釈器IPアドレスに関連した前記待ち時間に基づいて選択することと
を実行させる、実施形態14記載のコンピュータ読取可能媒体。
実施形態16
前記命令群は、前記プロセッサにより実行された時に、更に前記プロセッサに
待ち時間基準に基づいて前記加速システムを選択すること
を実行させる、実施形態10記載のコンピュータ読取可能媒体。
実施形態17
前記命令群は、前記プロセッサにより実行された時に、前記プロセッサに
前記クライアント装置から受信され前記加速システムにより処理された1つ以上の以前のAPIコールに関連した待ち時間を計測することで前記待ち時間基準に基づいて前記加速システムを選択すること
を実行させる、実施形態16記載のコンピュータ読取可能媒体。
実施形態18
前記命令群は、前記プロセッサにより実行された時に、前記プロセッサに
前記クライアント装置から受信した測定データを処理して前記待ち時間を求めることを実行させる、実施形態17記載のコンピュータ読取可能媒体。
実施形態19
アプリケーション・プログラミング・インターフェース(API)コールが処理されるのを可能にしながらクライアント装置とAPI処理システムとの間の仲介者としてそれぞれ働く複数の加速システムと、
1組の選択基準に基づいて前記クライアント装置を前記複数の加速システムのうちの1つへ経路付けするよう構成されたクライアント・ステアリングシステムと
を備え、
前記クライアント・ステアリングシステムは
前記クライアント装置からAPIコールに伴うステアリング要求を受信し、
前記ステアリング要求の受信に応答して、
前記APIコールが処理されるのを可能にするための前記複数の加速システムから1つの加速システムを到達可能性選択基準に基づいて選択し、
前記クライアント装置を前記1つの加速システムへ経路付けする
ように構成された選択エンジンを備える、コンピュータ環境。
実施形態20
前記加速システムへ経路付けされたことに応答して、前記クライアント装置は前記加速システムとの伝送制御プロトコル(TCP)応答確認及びトランスポート層セキュリティー(TLS)応答確認を実行する、実施形態19記載のコンピュータ環境。
実施形態21
前記TCP及びTLS応答確認に続いて、前記クライアント装置は前記APIコールを前記加速システムへ送信し、前記加速システムは前記APIコールを前記API処理システムへ転送する、実施形態19記載のコンピュータ環境。
上記説明に鑑みて、本発明の範囲は添付の請求項により決定される。
100、300 システム環境
102 API処理システム
104 クライアント
106 加速システム
302 APIエッジゲートウェイ
306 測定システム
308 クライアント・ステアリングシステム
310 プローブモジュール
312 マッピングエンジン(測定エンジン)
314 測定記憶
316 選択エンジン
318 ゲートウェイマップ
320 組み込み加速システム
322 インターネット交換加速システム
400 解釈器

Claims (13)

  1. コンピュータにより実行される方法であって、
    クライアント装置からアプリケーション・プログラミング・インターフェース(API)コールに伴うステアリング要求を受信するステップと、
    前記ステアリング要求の受信に応答して、
    前記APIコールが処理されるのを可能にしながら前記クライアント装置とAPI処理システムとの間の仲介者として働く加速システムを到達可能性選択基準であって、前記クライアント装置が、前記加速システムに関連付けられるインターネット・サービス・プロバイダ(ISP)、または該ISPとコンテンツ配信ネットワークとのインターネット・トラフィックの交換を可能とするインターネット交換ポイントの少なくとも1つにアクセス可能であることを定める到達可能性選択基準に基づいて選択するステップと、
    前記クライアント装置を前記加速システムへ経路付けするステップと
    を含む方法。
  2. 前記加速システムを前記到達可能性選択基準に基づいて選択するステップは、前記加速システムは前記クライアント装置によりアクセス可能であると判断するステップを含む、請求項1記載の方法。
  3. 前記加速システムは前記ISP内に組み込まれ、前記ISPと提携するクライアント装置のみによりアクセス可能である、請求項2記載の方法。
  4. 前記加速システムは既に処理が終わったAPIコールが処理されるのも可能にし、前記加速システムを選択するステップは、前記既に処理が終わったAPIコールの処理に関連する待ち時間に更に基づいている、請求項1記載の方法。
  5. 第2のAPIコールを処理することに関連した測定データであって前記クライアント装置に関連する一意の識別子を指定する測定データを受信するステップと、
    前記測定データに基づいて、前記クライアント装置と前記加速システムの間の接続が開始された時から前記第2のAPIコールに関連する応答が前記クライアント装置により受信された時までの総時間を表す待ち時間を算出するステップと、
    解釈器から解釈器IPアドレス及び前記一意の識別子を含む要求を受信するステップと、
    前記要求に含まれる前記一意の識別子を前記測定データにより指定された前記一意の識別子と照合して前記待ち時間は前記解釈器IPアドレスに関連すると判断するステップと
    を更に含む、請求項1記載の方法。
  6. 前記クライアント装置から第3のAPIコールに関連し前記解釈器IPアドレスを含む第2のステアリング要求を受信するステップと、
    前記第3のAPIコールが処理されるのを可能にしながら前記クライアント装置と前記API処理システムとの間の仲介者として働く前記加速システムを前記解釈器IPアドレスに関連した前記待ち時間に基づいて選択するステップと
    を更に含む、請求項5記載の方法。
  7. 前記解釈器IPアドレスは、前記クライアント装置がそれを通してインターネット・サービスに前記ISPに関連し、前記解釈器IPアドレスは、前記クライアント装置に関連したクライアントIPアドレスとは異なる、請求項6記載の方法。
  8. 前記加速システムを選択するステップは、前記加速システムと前記API処理システムの間の通信接続内の混雑レベルに更に基づいている、請求項1記載の方法。
  9. 前記加速システムに関連した1つ以上の測定実行から生成された測定データを前記クライアント装置から受信するステップ
    を更に含む、請求項1記載の方法。
  10. 命令群を記憶するコンピュータ読取可能媒体であって、プロセッサにより実行された時に前記命令群は前記プロセッサに
    クライアント装置からアプリケーション・プログラミング・インターフェース(API)コールに伴うステアリング要求を受信することと、
    前記ステアリング要求の受信に応答して、
    前記APIコールが処理されるのを可能にしながら前記クライアント装置とAPI処理システムとの間の仲介者として働く加速システムを到達可能性選択基準であって、前記クライアント装置が、前記加速システムに関連付けられるインターネット・サービス・プロバイダ(ISP)、または該ISPとコンテンツ配信ネットワークとのインターネット・トラフィックの交換を可能とするインターネット交換ポイントの少なくとも1つにアクセス可能であることを定める到達可能性選択基準に基づいて選択することと、
    前記クライアント装置を前記加速システムへ経路付けすることと
    を実行させる、コンピュータ読取可能媒体。
  11. アプリケーション・プログラミング・インターフェース(API)コールが処理されるのを可能にしながらクライアント装置とAPI処理システムとの間の仲介者としてそれぞれ働く複数の加速システムと、
    1組の選択基準に基づいて前記クライアント装置を前記複数の加速システムのうちの1つへ経路付けするよう構成されたクライアント・ステアリングシステムと
    を備え、
    前記クライアント・ステアリングシステムは
    前記クライアント装置からAPIコールに伴うステアリング要求を受信し、
    前記ステアリング要求の受信に応答して、
    前記APIコールが処理されるのを可能にするための前記複数の加速システムから1つの加速システムを到達可能性選択基準であって、前記クライアント装置が、前記加速システムに関連付けられるインターネット・サービス・プロバイダ(ISP)、または該ISPとコンテンツ配信ネットワークとのインターネット・トラフィックの交換を可能とするインターネット交換ポイントの少なくとも1つにアクセス可能であることを定める到達可能性選択基準に基づいて選択し、
    前記クライアント装置を前記1つの加速システムへ経路付けする
    ように構成された選択エンジンを備える、コンピュータ環境。
  12. 前記加速システムへ経路付けされたことに応答して、前記クライアント装置は前記加速システムとの伝送制御プロトコル(TCP)応答確認及びトランスポート層セキュリティー(TLS)応答確認を実行する、請求項11記載のコンピュータ環境。
  13. 前記TCP及びTLS応答確認に続いて、前記クライアント装置は前記APIコールを前記加速システムへ送信し、前記加速システムは前記APIコールを前記API処理システムへ転送する、請求項12記載のコンピュータ環境。
JP2019569928A 2017-06-20 2018-06-19 Apiコール処理を可能にするための加速システム Active JP6972182B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/628,509 US11048660B2 (en) 2017-06-20 2017-06-20 Acceleration system for facilitating processing of API calls
US15/628,509 2017-06-20
PCT/US2018/038176 WO2018236795A1 (en) 2017-06-20 2018-06-19 Acceleration system for facilitating processing of api calls

Publications (2)

Publication Number Publication Date
JP2020525899A JP2020525899A (ja) 2020-08-27
JP6972182B2 true JP6972182B2 (ja) 2021-11-24

Family

ID=62873600

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019569928A Active JP6972182B2 (ja) 2017-06-20 2018-06-19 Apiコール処理を可能にするための加速システム

Country Status (11)

Country Link
US (2) US11048660B2 (ja)
EP (1) EP3643045B1 (ja)
JP (1) JP6972182B2 (ja)
KR (1) KR102266759B1 (ja)
CN (1) CN110892697B (ja)
AU (2) AU2018289353B2 (ja)
BR (1) BR112019027523A2 (ja)
CA (1) CA3067056C (ja)
PL (1) PL3643045T3 (ja)
SG (1) SG11201912261RA (ja)
WO (1) WO2018236795A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11068281B2 (en) * 2018-03-02 2021-07-20 Fastly, Inc. Isolating applications at the edge
CN111386676B (zh) 2018-03-21 2022-01-21 华为技术有限公司 应用编程接口api网关集群的控制方法和api网关集群
US11212368B2 (en) * 2019-05-17 2021-12-28 Netflix, Inc. Fire-and-forget offload mechanism for network-based services
US11240156B2 (en) * 2019-09-06 2022-02-01 Netflix, Inc. Techniques for steering network traffic to regions of a cloud computing system
CN113204413B (zh) * 2020-02-03 2025-06-06 阿里巴巴集团控股有限公司 任务处理方法、装置及设备
CN118642826B (zh) * 2020-07-09 2025-07-25 华为技术有限公司 一种api调用方法以及装置
US12001894B2 (en) 2021-04-20 2024-06-04 Metafluent, Llc Component-aware rest API routing gateway
CN114510359A (zh) * 2022-01-29 2022-05-17 山东浪潮工业互联网产业股份有限公司 一种基于标识解析的api调用方法、装置、设备及介质
KR102758760B1 (ko) * 2022-06-29 2025-01-23 쿠팡 주식회사 정보를 제공하는 방법 및 장치

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5721908A (en) * 1995-06-07 1998-02-24 International Business Machines Corporation Computer network for WWW server data access over internet
US6185598B1 (en) * 1998-02-10 2001-02-06 Digital Island, Inc. Optimized network resource location
US7274658B2 (en) 2001-03-01 2007-09-25 Akamai Technologies, Inc. Optimal route selection in a content delivery network
JP4040292B2 (ja) * 2001-11-30 2008-01-30 日本電信電話株式会社 サーバ選択方法、サーバ選択装置、サーバ選択プログラム、および、記録媒体
US7085848B2 (en) * 2002-03-15 2006-08-01 Microsoft Corporation Time-window-constrained multicast using connection scheduling
WO2006074072A2 (en) * 2004-12-30 2006-07-13 Citrix Systems, Inc. Systems and methods for providing client-side acceleration techniques
US8151323B2 (en) * 2006-04-12 2012-04-03 Citrix Systems, Inc. Systems and methods for providing levels of access and action control via an SSL VPN appliance
US8161119B2 (en) * 2006-12-22 2012-04-17 Cisco Technology, Inc. Network device provided spam reporting button for instant messaging
US8458733B2 (en) * 2008-03-12 2013-06-04 Microsoft Corporation Global API deployment and routing
US8782236B1 (en) * 2009-06-16 2014-07-15 Amazon Technologies, Inc. Managing resources using resource expiration data
US8543805B2 (en) * 2010-04-21 2013-09-24 Citrix Systems, Inc. Systems and methods for split proxying of SSL via WAN appliances
JP5477259B2 (ja) * 2010-11-08 2014-04-23 ブラザー工業株式会社 通信装置システム、中継装置、中継装置の制御プログラム、および中継装置の制御方法
CN102572954B (zh) * 2012-01-31 2015-05-20 中国移动(深圳)有限公司 一种漫游清算服务调度方法、中间件及系统
CN103581130B (zh) * 2012-07-30 2017-01-25 优视科技有限公司 数据压缩处理方法、系统及装置
US10148530B2 (en) * 2012-09-07 2018-12-04 Oracle International Corporation Rule based subscription cloning
CN104598257B (zh) * 2013-10-30 2019-01-18 华为技术有限公司 远程应用程序运行的方法和装置
US9967199B2 (en) * 2013-12-09 2018-05-08 Nicira, Inc. Inspecting operations of a machine to detect elephant flows
US9720626B2 (en) * 2014-09-19 2017-08-01 Netapp Inc. Cluster configuration information replication
US9674099B2 (en) 2014-09-25 2017-06-06 Microsoft Technology Licensing, Llc Network classification for applications
KR102376431B1 (ko) 2015-07-06 2022-03-22 삼성디스플레이 주식회사 표시 장치
CN105872042A (zh) * 2016-03-29 2016-08-17 国家电网公司 基于http协议的双边加速系统
CN106657399B (zh) * 2017-02-20 2020-08-18 北京奇虎科技有限公司 基于中间件实现的后台服务器选择方法及装置
US10289525B2 (en) * 2017-08-21 2019-05-14 Amadeus S.A.S. Multi-layer design response time calculator

Also Published As

Publication number Publication date
WO2018236795A1 (en) 2018-12-27
CN110892697A (zh) 2020-03-17
CA3067056C (en) 2022-07-12
US20180365190A1 (en) 2018-12-20
AU2021206826A1 (en) 2021-08-12
AU2018289353A1 (en) 2020-01-16
JP2020525899A (ja) 2020-08-27
SG11201912261RA (en) 2020-01-30
EP3643045A1 (en) 2020-04-29
BR112019027523A2 (pt) 2020-07-07
US20210326298A1 (en) 2021-10-21
US11640368B2 (en) 2023-05-02
US11048660B2 (en) 2021-06-29
KR20200018653A (ko) 2020-02-19
PL3643045T3 (pl) 2024-05-20
CN110892697B (zh) 2022-09-27
CA3067056A1 (en) 2018-12-27
EP3643045B1 (en) 2023-12-13
KR102266759B1 (ko) 2021-06-21
AU2018289353B2 (en) 2021-04-22

Similar Documents

Publication Publication Date Title
JP6972182B2 (ja) Apiコール処理を可能にするための加速システム
EP3968610B1 (en) Method, device, and system for selecting mobile edge computing node
US11316786B2 (en) Systems and methods for directly responding to distributed network traffic
US10348639B2 (en) Use of virtual endpoints to improve data transmission rates
EP3391628B1 (en) Use of virtual endpoints to improve data transmission rates
CN105164990B (zh) 在网络节点中操作的网络节点功能的方法,客户端设备
JP3904435B2 (ja) Webサービス向け輻輳制御装置及び方法
JP6161803B2 (ja) ネットワーク・コンピューティング環境においてファイアウォール・クラスタを管理するための方法、システム、およびコンピュータ・プログラム(ネットワーク・コンピューティング環境におけるリージョンのファイアウォール・クラスタリング)
JP2014501978A5 (ja) ファイルシステムセッションにおけるマルチコネクションのための方法及びシステム
US20130254261A1 (en) System and Method of Managing Servers for Streaming Desktop Applications
US10257024B2 (en) Data transmission method, apparatus, and terminal
JP2004171572A (ja) サーバ間の負荷分散方法、負荷分散システム、負荷分散サーバおよびプログラム
CN102546245A (zh) 分布式网络坐标系统
CN109561054A (zh) 一种数据传输方法、控制器及接入设备
JP5620881B2 (ja) トランザクション処理システム、トランザクション処理方法、および、トランザクション処理プログラム
WO2006127078A2 (en) System and method for enabling wireless internet access in public areas
CN102238086A (zh) 端点的透明迁移
JP6254620B2 (ja) 端末、通信方法、及びプログラム
JP5805321B2 (ja) クライアントの物理的な位置の決定
JP4388562B2 (ja) データ通信システムおよび方法、記録媒体
KR101997986B1 (ko) 상호 작용하는 IoT 어플리케이션을 위한 클라우드-포그-클라이언트 삼각 컴퓨팅 방법 및 장치
CN112738193B (zh) 云计算的负载均衡方法及装置
CN115701075A (zh) 一种边缘节点业务处理方法、装置和计算机可读存储介质
KR20130066857A (ko) Sip 메시지의 분배 시스템 및 그 방법

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200217

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200217

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210326

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210421

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210714

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211102

R150 Certificate of patent or registration of utility model

Ref document number: 6972182

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250