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

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

Info

Publication number
JP2024504885A
JP2024504885A JP2022528295A JP2022528295A JP2024504885A JP 2024504885 A JP2024504885 A JP 2024504885A JP 2022528295 A JP2022528295 A JP 2022528295A JP 2022528295 A JP2022528295 A JP 2022528295A JP 2024504885 A JP2024504885 A JP 2024504885A
Authority
JP
Japan
Prior art keywords
streaming data
identification key
data access
tcp
request
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
JP2022528295A
Other languages
Japanese (ja)
Other versions
JP7466881B2 (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 JP2024504885A publication Critical patent/JP2024504885A/en
Application granted granted Critical
Publication of JP7466881B2 publication Critical patent/JP7466881B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • H04L65/1108Web based protocols, e.g. webRTC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer And Data Communications (AREA)

Abstract

【課題】ストリーミングデータアクセスのためのシステム、方法、及びコンピュータ可読媒体の提供。【解決手段】本発明のストリーミングデータアクセスのためのシステム、方法、及びコンピュータ可読媒体に関するものであり、本発明の方法は、ストリーミングデータに対するTCPリクエストを送信する工程と、識別キーを含むTCPレスポンスを取得する工程と、当該識別キーによりアドレス指定可能な領域に当該ストリーミングデータに対するUDPリクエストを送信する工程と、当該ストリーミングデータを取得する工程と、を含み、本発明は、混合プロトコルが実施されたときにデータアクセスの成功を確約することができる。【選択図】図3Systems, methods, and computer-readable media for streaming data access are provided. The present invention relates to a system, method, and computer-readable medium for accessing streaming data, the method comprising the steps of transmitting a TCP request for streaming data and receiving a TCP response including an identification key. sending a UDP request for the streaming data to a region addressable by the identification key; and retrieving the streaming data. can ensure successful data access. [Selection diagram] Figure 3

Description

本発明は、インターネット上でのデータアクセスに関し、特にインターネット上でのストリーミングデータアクセスに関するものである。 FIELD OF THE INVENTION The present invention relates to data access over the Internet, and more particularly to streaming data access over the Internet.

ライブストリーミングのようなインターネット上でのリアルタイムなデータアクセスでは、遅延をできる限り低く抑えることが必要となる。500ミリ秒以下のリアルタイム遅延を実現するWebRTC(Webリアルタイム通信)は、市場で最も高速なプロトコルの1つである。WebRTCは、基本的に双方向のリアルタイム通信を提供するように構築されている。TCP(伝送制御プロトコル)で構築されたHLS(HTTPライブストリーミング)とは異なり、WebRTCは主にUDP(ユーザデータグラムプロトコル)をベースとしている。 Real-time data access over the Internet, such as live streaming, requires that latency be kept as low as possible. WebRTC (Web Real-Time Communications), which achieves real-time delays of less than 500 milliseconds, is one of the fastest protocols on the market. WebRTC is essentially built to provide two-way real-time communication. Unlike HLS (HTTP Live Streaming), which is built on TCP (Transmission Control Protocol), WebRTC is primarily based on UDP (User Datagram Protocol).

本発明の一実施態様による方法は、1つまたは複数のコンピュータによって実行されるストリーミングデータアクセス方法であって、ストリーミングデータに対するTCPリクエストを送信する工程と、識別キーを含むTCPレスポンスを取得する工程と、当該識別キーによりアドレス指定可能な領域に当該ストリーミングデータに対するUDPリクエストを送信する工程と、当該ストリーミングデータを取得する工程と、を含む。 A method according to an embodiment of the present invention is a streaming data access method performed by one or more computers, comprising the steps of: sending a TCP request for streaming data; and obtaining a TCP response including an identification key. , transmitting a UDP request for the streaming data to an area addressable by the identification key, and acquiring the streaming data.

本発明の一実施形態によるシステムは、1つまたは複数のプロセッサを含むストリーミングデータアクセスのためのシステムであって、当該1つまたは複数のプロセッサが、ストリーミングデータに対するTCPリクエストを送信し、識別キーを含むTCPレスポンスを取得して、当該識別キーによりアドレス指定可能な領域に当該ストリーミングデータに対するUDPリクエストを送信し、当該ストリーミングデータを取得する動作を実行するための機械可読命令を実行する。 A system according to an embodiment of the invention is a system for streaming data access that includes one or more processors, the one or more processors sending a TCP request for streaming data and receiving an identification key. and transmitting a UDP request for the streaming data to a region addressable by the identification key, and executing machine-readable instructions for performing operations to obtain the streaming data.

本発明の一実施形態によるコンピュータ可読媒体は、ストリーミングデータアクセスのためのプログラムを含む非一過性のコンピュータ可読媒体であり、当該プログラムが、1つまたは複数のコンピュータに、ストリーミングデータに対するTCPリクエストを送信し、識別キーを含むTCPレスポンスを取得して、当該識別キーによりアドレス指定可能な領域に当該ストリーミングデータに対するUDPリクエストを送信し、当該ストリーミングデータを取得する動作を実行させる。 A computer-readable medium according to an embodiment of the present invention is a non-transitory computer-readable medium that includes a program for accessing streaming data, the program making a TCP request for streaming data to one or more computers. A UDP request for the streaming data is transmitted to an area that can be addressed by the identification key, and an operation for acquiring the streaming data is executed.

本発明の一実施形態による方法は、1つまたは複数のコンピュータによって実行されるストリーミングデータアクセス方法であって、ストリーミングデータに対するTCPリクエストを取得する工程と、識別キーを含むTCPレスポンスを返す工程と、当該識別キーによりアドレス指定可能な領域で、当該ストリーミングデータに対するUDPリクエストを取得する工程と、当該ストリーミングデータを送信する工程と、を含む。 A method according to an embodiment of the invention is a streaming data access method performed by one or more computers, comprising the steps of: obtaining a TCP request for streaming data; returning a TCP response including an identification key; The method includes obtaining a UDP request for the streaming data in an area addressable by the identification key, and transmitting the streaming data.

混合プロトコルでのデータアクセス動作を示すシーケンス図である。FIG. 3 is a sequence diagram showing a data access operation using a mixed protocol. 混合プロトコルでのデータアクセス動作を示すシーケンス図である。FIG. 3 is a sequence diagram showing a data access operation using a mixed protocol. 本発明の一部の実施態様に基づく混合プロトコルでのデータアクセス動作を示すシーケンス図である。FIG. 3 is a sequence diagram illustrating data access operations in a mixed protocol according to some embodiments of the present invention. 本発明の一部の実施態様に基づく通信システムの構成を示す概略図である。1 is a schematic diagram illustrating a configuration of a communication system according to some embodiments of the present invention. FIG.

TCPとUDPは、インターネット上でデータ、つまりパケットを送信するために使用されるトランスポート層のプロトコルである。どちらのプロトコルもIPプロトコルを使用しており、TCPまたはUDPが送信するパケットはいずれもIPアドレスに送信される。 TCP and UDP are transport layer protocols used to send data, or packets, over the Internet. Both protocols use the IP protocol, and any packet sent by TCP or UDP is sent to an IP address.

TCPはコネクション型のプロトコルで、 内蔵のエラー回復と再送信を特徴としている。しかしながら、パケットの順序を変更してパケットの完全な配信を確約するための往復通信が遅延を発生させる。 TCP is a connection-oriented protocol that features built-in error recovery and retransmissions. However, the round trip communication to reorder the packets and ensure complete delivery of the packets introduces delays.

UDPは、エラーチェックを省くことで、より高速な情報の流れを提供する。パケットの順序変更や再送信を行うことなく、直接相手にパケットが送信される。送信側は送信の成功を待たずにパケットを送信し続けるため、より低遅延で通信を行うことができる。ライブストリーミングのようなリアルタイムのデータアクセスにはUDPを利用することが望ましい。 UDP provides faster information flow by eliminating error checking. Packets are sent directly to the other party without reordering or retransmitting the packets. Since the sender continues to send packets without waiting for successful transmission, communication can be performed with lower delay. It is desirable to use UDP for real-time data access such as live streaming.

一部の実施態様において、混合プロトコルのデプロイメントを利用することができ、その場合、まずクライアントとサーバ間の接続確立にTCPが使用され、その後データ伝送にUDPが使用される。 In some implementations, a mixed protocol deployment may be utilized, where TCP is first used to establish the connection between the client and server, and then UDP is used for data transmission.

図1に混合プロトコルでのデータアクセス動作を示す例示的シーケンスを示す。ユーザ端末10(またはクライアント)はユーザの装置であり、当該ユーザは、視聴者またはストリーミングする人物とすることができる。ロードバランサ50は、ユーザ端末からのリクエストを宛先(destination)に分配する(distribute)、または導く(direct)ように構成され、当該宛先はインターネット上のサーバまたはサーバ内の領域とすることができる。ポッド60は、クラスタ内のサーバ(プルエッジサーバなど)の領域または仮想マシンであり、当該クラスタは例えばKubernetesクラスタとすることができる。オリジンサーバ70は、アクセスに供するデータを格納するように構成されたサーバである。 FIG. 1 shows an exemplary sequence illustrating data access operations in a mixed protocol. The user terminal 10 (or client) is the device of a user, which may be a viewer or a person streaming. The load balancer 50 is configured to distribute or direct requests from user terminals to a destination, and the destination can be a server on the Internet or an area within a server. A pod 60 is a region of a server (such as a pull edge server) or a virtual machine in a cluster, and the cluster may be, for example, a Kubernetes cluster. The origin server 70 is a server configured to store data to be accessed.

工程S100において、ユーザ端末10は、ロードバランサ50に対して、ストリーミングデータを要求するTCPリクエストを送信する。 In step S100, the user terminal 10 transmits a TCP request requesting streaming data to the load balancer 50.

工程S102において、ロードバランサ50は、TCPリクエストをポッド60に分配する、または導く。 In step S102, the load balancer 50 distributes or directs TCP requests to the pods 60.

工程S104において、ポッド60は、ストリーミングデータが格納されているオリジンサーバ70に対して、ストリーミングデータを要求する。 In step S104, the pod 60 requests streaming data from the origin server 70 where the streaming data is stored.

工程S106において、オリジンサーバ70は、ポッド60にストリーミングデータを提供する。 In step S106, the origin server 70 provides streaming data to the pod 60.

工程S108において、ポッド60は、TCPレスポンスをユーザ端末10に送信する。TCPレスポンスは、ストリーミングデータに関連するSDP(セッション記述プロトコル)を含んでもよい。 In step S108, the pod 60 transmits the TCP response to the user terminal 10. The TCP response may include SDP (Session Description Protocol) associated with the streaming data.

工程S110において、ユーザ端末10は、ロードバランサ50に対して、ストリーミングデータを要求するUDPリクエストを送信する。 In step S110, the user terminal 10 transmits a UDP request requesting streaming data to the load balancer 50.

工程S112において、ロードバランサ50は、UDPリクエストをポッド60に分配する、または導く。 In step S112, the load balancer 50 distributes or directs the UDP requests to the pods 60.

工程S114において、ポッド60は、オリジンサーバ70から提供されたストリーミングデータをユーザ端末10に送信する。 In step S114, the pod 60 transmits the streaming data provided from the origin server 70 to the user terminal 10.

図1のデプロイメントでは、1つのポッド(ポッド60)しかない点に留意する。したがってこの場合、工程112において、ロードバランサ50は、ストリーミングデータが提供される正しい宛先(ポッド60)にUDPリクエストを送信することができる。しかし、デプロイメントに複数のポッドがあり、混合プロトコル(TCPとUDPなど)戦略が利用される場合、ロードバランサによってUDPリクエストが誤った宛先に送信される危険性がある。 Note that in the deployment of Figure 1, there is only one pod (pod 60). Therefore, in this case, at step 112, load balancer 50 may send the UDP request to the correct destination (pod 60) where the streaming data is to be provided. However, if your deployment has multiple pods and a mixed protocol (such as TCP and UDP) strategy is utilized, there is a risk that the load balancer will send UDP requests to the wrong destination.

図2に混合プロトコルでのデータアクセス動作を示す別の例示的シーケンスを示す。図2のデプロイメントにおいては、ポッド62とポッド64の2つのポッドがある。 FIG. 2 shows another exemplary sequence illustrating data access operations in a mixed protocol. In the deployment of FIG. 2, there are two pods, pod 62 and pod 64.

工程S200において、ユーザ端末10は、ロードバランサ50に対して、ストリーミングデータを要求するTCPリクエストを送信する。 In step S200, the user terminal 10 transmits a TCP request requesting streaming data to the load balancer 50.

工程S202において、ロードバランサ50は、TCPリクエストをポッド62に分配する、または導く。分配は、ロードバランサ50がどのポッドにリクエストを分配するかを判断するための所定の基準により行われてもよい。 In step S202, the load balancer 50 distributes or directs TCP requests to the pods 62. Distribution may be performed based on predetermined criteria for determining which pod the load balancer 50 should distribute the request to.

工程S204において、ポッド62は、ストリーミングデータが格納されているオリジンサーバ70に対して、ストリーミングデータを要求する。 In step S204, the pod 62 requests streaming data from the origin server 70 where the streaming data is stored.

工程S206において、オリジンサーバ70は、ポッド62にストリーミングデータを提供する。 In step S206, origin server 70 provides streaming data to pod 62.

工程S208において、ポッド62は、TCPレスポンスをユーザ端末10に送信する。TCPレスポンスは、ストリーミングデータに関連するSDP(セッション記述プロトコル)を含んでもよい。 In step S208, the pod 62 transmits the TCP response to the user terminal 10. The TCP response may include SDP (Session Description Protocol) associated with the streaming data.

工程S210において、ユーザ端末10は、ロードバランサ50に対して、ストリーミングデータを要求するUDPリクエストを送信する。 In step S210, the user terminal 10 transmits a UDP request requesting streaming data to the load balancer 50.

工程S212において、ロードバランサ50は、要求されたストリーミングデータが提供されるポッド62にUDPリクエストを導くはずである。しかし、ロードバランサ50は、以前のTCPリクエストと現在のUDPリクエストとを正しくマッチングまたは同期させることができないため、セッションアフィニティが正常に確立されない可能性がある。したがって、図2に示すように、要求されたストリーミングデータが存在しない誤ったポッドにUDPリクエストを送信してしまう危険性がある。それにより、データアクセスを正常に完了することができなくなる。この失敗率は、デプロイメントに実装されるポッドの数が増えるにつれて増加する可能性がある。このようにUDPリクエストを誤った宛先に送信してしまう問題は、Kubernetesクラスタシステムなど、さまざまなクラスタシステムにおいて、混合プロトコルを組み込んだ場合に起こり得る。一部の実施態様において、ロードバランサ50、ポッド62、ポッド64、オリジンサーバ70がKubernetesクラスタシステムで実装される。 In step S212, the load balancer 50 would direct the UDP request to the pod 62 where the requested streaming data is provided. However, because the load balancer 50 is unable to properly match or synchronize the previous TCP request and the current UDP request, session affinity may not be successfully established. Therefore, as shown in FIG. 2, there is a risk of sending a UDP request to the wrong pod where the requested streaming data does not exist. This makes it impossible to complete data access normally. This failure rate can increase as the number of pods populated in a deployment increases. This problem of sending UDP requests to the wrong destination can occur when mixed protocols are incorporated in various cluster systems, such as a Kubernetes cluster system. In some implementations, load balancer 50, pods 62, pods 64, and origin server 70 are implemented in a Kubernetes cluster system.

従来、ユーザ端末はポッドの位置またはアドレスに関する情報を持っていないため、ユーザ端末がクラスタ内のポッドに直接アクセスする方法も存在しない。従来、安全性の問題などの懸念から、ポッドが存在するクラスタの外部のエンティティに公知または既知のポッドのアドレス情報は存在しない。 Traditionally, there is also no way for a user terminal to directly access a pod in a cluster because the user terminal has no information about the location or address of the pod. Traditionally, due to security and other concerns, there is no pod address information known or known to entities outside the cluster in which the pod resides.

図3に本発明の一部の実施態様に基づく混合プロトコルでのデータアクセス動作を示すシーケンスを示す。 FIG. 3 shows a sequence illustrating data access operations in a mixed protocol according to some embodiments of the present invention.

工程S300において、ユーザ端末10は、ロードバランサ50に対して、ストリーミングデータを要求するTCPリクエストを送信する。 In step S300, the user terminal 10 transmits a TCP request requesting streaming data to the load balancer 50.

工程S302において、ロードバランサ50は、TCPリクエストをポッド62に分配する、または導く。分配は、ロードバランサ50がどのポッドにリクエストを分配するかを判断するための所定の基準により行われてもよい。ポッド62はTCPリクエストを取得する。 In step S302, the load balancer 50 distributes or directs TCP requests to the pods 62. Distribution may be performed based on predetermined criteria for determining which pod the load balancer 50 should distribute the request to. Pod 62 obtains the TCP request.

工程S304において、ポッド62は、ストリーミングデータが格納されているオリジンサーバ70に対して、ストリーミングデータを要求する。 In step S304, the pod 62 requests streaming data from the origin server 70 where the streaming data is stored.

工程S306において、オリジンサーバ70は、ポッド62にストリーミングデータを提供する。 In step S306, origin server 70 provides streaming data to pod 62.

工程S308において、ポッド62は、TCPレスポンスをユーザ端末10に送信または返答する。ユーザ端末10は、TCPレスポンスを取得する。TCPレスポンスには、ポッド62の識別キー、またはポッド62に対して生成された識別キーが含まれる。識別キーは、ポッド62が存在するクラスタの外部のエンティティがポッド62にアクセスできるように構成される。ポッド62は、識別キーによりアドレス指定可能である。識別キーは、ポッド62のIP情報、ノード情報、ポッド情報またはポート情報を含む、またはそれらに対応するものとしてもよい。識別キーは、SDPに含まれてもよい。 In step S308, the pod 62 sends or replies a TCP response to the user terminal 10. The user terminal 10 obtains the TCP response. The TCP response includes an identification key for the pod 62 or an identification key generated for the pod 62. The identification key is configured to allow entities outside the cluster in which pod 62 resides to access pod 62 . Pod 62 is addressable by an identification key. The identification key may include or correspond to IP information, node information, pod information, or port information for pod 62. The identification key may be included in the SDP.

工程S310において、ユーザ端末10は、識別キーにより、ストリーミングデータに対するUDPリクエストを直接ポッド62に送信する。 In step S310, the user terminal 10 directly sends a UDP request for streaming data to the pod 62 using the identification key.

工程S312において、ポッド62はストリーミングデータをユーザ端末10に送信する。これにより、ユーザ端末10は、ストリーミングデータを正常に取得する。 In step S312, the pod 62 transmits the streaming data to the user terminal 10. Thereby, the user terminal 10 normally acquires streaming data.

本実施形態においては、クラスタ内のポッドに対して、識別キーが作成される。当該識別キーは、TCPレスポンスにおいてクラスタ外部のユーザ端末に送信される。その後、ユーザ端末は識別キーを利用して、ロードバランサを迂回し、正しいポッドに直接UDPリクエストを送信して、ストリーミングデータにアクセスする。図3に示す例示的実施態様は、混合プロトコルのデプロイメントにおいて、誤った宛先にUDPリクエストを送信する問題を効果的に解決することができる。一部の実施態様において、識別キーは、WebRTC ICEなどのInteractive Connectivity Establishment(ICE)情報に対応するIP情報、ノード情報、ポッド情報またはポート情報を含めることにより作成してもよい。当該ICE情報は、TCPレスポンスに含まれてもよい。 In this embodiment, identification keys are created for pods within a cluster. The identification key is sent to a user terminal outside the cluster in a TCP response. The user terminal then utilizes the identification key to bypass the load balancer and send a UDP request directly to the correct pod to access the streaming data. The example implementation shown in FIG. 3 can effectively solve the problem of sending UDP requests to the wrong destination in mixed protocol deployments. In some implementations, the identification key may be created by including IP information, node information, pod information, or port information corresponding to Interactive Connectivity Establishment (ICE) information, such as a WebRTC ICE. The ICE information may be included in the TCP response.

従来、アクセスされたデータがストリーミングデータやライブビデオデータでない場合、TCPリクエストとそれに続くUDPが異なる宛先に送信されてもエラーにならないことがある。したがって、アクセスされたデータがストリーミングデータやライブビデオデータでなければ、混合プロトコルを実装しても、領域(Kubernetesクラスタ中のポッドなど)の識別キーを作成する必要がない場合がある。 Conventionally, if the accessed data is not streaming data or live video data, a TCP request and subsequent UDP may be sent to different destinations without causing an error. Therefore, implementing a mixed protocol may not require creating an identification key for a region (such as a pod in a Kubernetes cluster) unless the data accessed is streaming data or live video data.

一部の実施態様において、ユーザ端末とロードバランサの間に、CDNサーバやキャッチサーバなどの追加サーバを実装してもよい。一部の実施態様において、ユーザ端末とポッドの間に、CDNサーバやキャッチサーバなどの追加サーバを実装してもよい。 In some implementations, additional servers, such as a CDN server or a catch server, may be implemented between the user terminal and the load balancer. In some implementations, additional servers may be implemented between the user terminal and the pod, such as a CDN server or a catch server.

一部の実施態様において、ユーザ端末は、1つまたは複数のプロセッサを含むシステムとみなすことができ、そのうち、当該1つまたは複数のプロセッサは、機械可読命令を実行して、上述したデータアクセス処理などの処理を実行する。 In some implementations, a user terminal can be considered a system that includes one or more processors, where the one or more processors execute machine-readable instructions to perform the data access processing described above. Execute processing such as

一部の実施態様において、ポッド、オリジンサーバ、および/またはロードバランサは、ストリーミングサービスを提供するシステムに属する。一部の実施態様において、ポッドは、ストリーミングサーバに実装される。一部の実施態様において、オリジンサーバは、ストリーミングサーバとして機能する。一部の実施態様において、ストリーミングサービスは、スマートフォンやタブレットなどのユーザ端末上で動作するアプリケーションによってアクセスすることができる。 In some implementations, the pod, origin server, and/or load balancer belong to a system that provides streaming services. In some implementations, pods are implemented on streaming servers. In some implementations, the origin server functions as a streaming server. In some implementations, streaming services can be accessed by an application running on a user terminal such as a smartphone or tablet.

図3に示すように、一部の実施態様において、ストリーミングデータは、工程S306においてオリジンサーバ70からポッド62に提供されなくてもよい。その代わりに、オリジンサーバ70は、最初に工程S306においてポッド62にメタデータを転送し、その後ポッド62がUDPリクエストを受信した後(例えば、工程S310の後)ポッド62にストリーミングデータを提供してもよい。 As shown in FIG. 3, in some implementations, streaming data may not be provided from origin server 70 to pod 62 in step S306. Instead, origin server 70 first transfers metadata to pod 62 in step S306 and then provides streaming data to pod 62 after pod 62 receives the UDP request (e.g., after step S310). Good too.

図4に本発明の一部の実施態様に基づく通信システムの構成を示す概略図を示す。 FIG. 4 shows a schematic diagram showing the configuration of a communication system based on some embodiments of the present invention.

通信システム1は、コンテンツを介したインタラクションを伴うライブストリーミングサービスを提供することができる。ここで言う「コンテンツ」とは、コンピュータ装置で再生可能なデジタルコンテンツを指す。つまり、通信システム1は、ユーザがオンラインで他のユーザとのリアルタイムのインタラクションに参加することを可能にする。通信システム1は、複数のユーザ端末10と、バックエンドサーバ30と、ストリーミングサーバ40とを含む。ユーザ端末10、バックエンドサーバ30、及びストリーミングサーバ40は、ネットワーク90(例えばインターネットとしてもよい)を介して接続される。バックエンドサーバ30は、ユーザ端末および/またはストリーミングサーバ40との間のインタラクションを同期させるサーバとすることができる。一部の実施態様において、バックエンドサーバ30は、アプリケーション(APP)プロバイダーのサーバとしてもよい。ストリーミングサーバ40は、ストリーミングデータまたはビデオデータを取り扱う、または提供するためのサーバである。一部の実施態様において、バックエンドサーバ30とストリーミングサーバ40は、独立したサーバとしてもよい。一部の実施態様において、バックエンドサーバ30とストリーミングサーバ40は、1つのサーバに統合してもよい。一部の実施態様において、ユーザ端末10は、ライブストリーミングのためのクライアント装置である。一部の実施態様において、ユーザ端末10は、視聴者、ストリーマー、アンカー、ポッドキャスター、オーディエンス、リスナーなどと呼ばれることがある。ユーザ端末10、バックエンドサーバ30、及びストリーミングサーバ40はそれぞれ情報処理装置の一例である。一部の実施態様において、ストリーミングは、ライブストリーミングまたはビデオ再生とすることができる。一部の実施態様において、ストリーミングは、オーディオストリーミングおよび/またはビデオストリーミングとすることができる。一部の実施態様において、ストリーミングは、オンラインショッピング、トークショー、タレントショー、娯楽イベント、スポーツイベント、音楽ビデオ、映画、コメディ、コンサートなどのコンテンツを含むことができる。 The communication system 1 can provide 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 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.

本発明で説明した処理及び手順は、明示的に説明したものに加えて、ソフトウェア、ハードウェア、またはそれらの任意の組み合わせにより実現することができる。例えば、本明細書で説明した処理および手順は、その処理および手順に対応するロジックを集積回路、揮発性メモリ、不揮発性メモリ、非一過性のコンピュータ可読媒体、磁気ディスクなどの媒体に実装することにより実現することができる。さらに、本明細書に記載された処理および手順は、その処理および手順に対応するコンピュータプログラムとして実現することができ、各種のコンピュータにより実行することができる。 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 ユーザ端末
30 バックエンドサーバ
40 ストリーミングサーバ
50 ロードバランサ
60 ポッド
62 ポッド
64 ポッド
70 オリジンサーバ
90 ネットワーク
S100、S102、S104、S106、S108、S110、S112、S114 工程
S200、S202、S204、S206、S208、S210、S212 工程
S300、S302、S304、S306、S308、S310、S312 工程
1 Communication system 10 User terminal 30 Backend server 40 Streaming server 50 Load balancer 60 Pod 62 Pod 64 Pod 70 Origin server 90 Network S100, S102, S104, S106, S108, S110, S112, S114 Process S200, S202, S204, S206 , S208, S210, S212 Process S300, S302, S304, S306, S308, S310, S312 Process

Claims (11)

ストリーミングデータアクセスのための方法であって、
ストリーミングデータに対するTCPリクエストを送信する工程と、
識別キーを含むTCPレスポンスを取得する工程と、
前記識別キーによりアドレス指定可能な領域に対して、前記ストリーミングデータに対するUDPリクエストを送信する工程と、
前記ストリーミングデータを取得する工程と、
を含むことを特徴とする、ストリーミングデータアクセスのための方法。
A method for streaming data access, the method comprising:
sending a TCP request for streaming data;
obtaining a TCP response including an identification key;
transmitting a UDP request for the streaming data to an area addressable by the identification key;
acquiring the streaming data;
A method for streaming data access, comprising:
前記TCPリクエストがロードバランサに送信されることを特徴とする、請求項1に記載のストリーミングデータアクセスのための方法。 The method for streaming data access according to claim 1, characterized in that the TCP request is sent to a load balancer. 前記ロードバランサが、前記識別キーによりアドレス指定可能な領域に前記TCPリクエストを導く工程をさらに含むことを特徴とする、請求項2に記載のストリーミングデータアクセスのための方法。 3. The method for streaming data access of claim 2, further comprising the step of the load balancer directing the TCP request to a region addressable by the identification key. 前記UDPリクエストが、前記識別キーによりアドレス指定可能な前記領域に直接送信されることを特徴とする、請求項1に記載のストリーミングデータアクセスのための方法。 Method for streaming data access according to claim 1, characterized in that the UDP request is sent directly to the area addressable by the identification key. 前記領域が、Kubernetesクラスタ内のポッドに対応することを特徴とする、請求項1に記載のストリーミングデータアクセスのための方法。 The method for streaming data access according to claim 1, characterized in that the regions correspond to pods in a Kubernetes cluster. 前記領域に対して前記識別キーを作成する工程をさらに含み、前記識別キーが、前記Kubernetesクラスタ外部のユーザ端末によって前記領域にアクセスするために利用されるように構成されることを特徴とする、請求項5に記載のストリーミングデータアクセスのための方法。 The method further comprises creating the identification key for the region, the identification key being configured to be used by a user terminal outside the Kubernetes cluster to access the region. A method for streaming data access according to claim 5. 前記識別キーが、IP情報、ノード情報、ポッド情報またはポート情報を含むことを特徴とする、請求項1に記載のストリーミングデータアクセスのための方法。 The method for streaming data access according to claim 1, characterized in that the identification key includes IP information, node information, pod information or port information. ストリーミングデータアクセスのためのシステムであって、1つまたは複数のプロセッサを備え、前記1つまたは複数のプロセッサが、機械可読命令を実行して、
ストリーミングデータに対するTCPリクエストを送信し、
識別キーを含むTCPレスポンスを取得して、
前記識別キーによりアドレス指定可能な領域に対して、前記ストリーミングデータに対するUDPリクエストを送信し、
前記ストリーミングデータを取得する動作を実行するための機械可読命令を実行する、
ことを特徴とする、ストリーミングデータアクセスのためのシステム。
A system for streaming data access comprising one or more processors, the one or more processors executing machine-readable instructions:
send a TCP request for streaming data;
Obtain the TCP response including the identification key,
transmitting a UDP request for the streaming data to an area addressable by the identification key;
executing machine-readable instructions for performing the operations of obtaining the streaming data;
A system for streaming data access, characterized by:
ストリーミングデータアクセスのためのプログラムを含む非一過性のコンピュータ可読媒体であって、そのうち、前記プログラムが、1つまたは複数のコンピュータに、
ストリーミングデータに対するTCPリクエストを送信し、
識別キーを含むTCPレスポンスを取得して、
前記識別キーによりアドレス指定可能な領域に対して、前記ストリーミングデータに対するUDPリクエストを送信し、
前記ストリーミングデータを取得する動作を実行させる、
ことを特徴とする、コンピュータ可読媒体。
A non-transitory computer-readable medium comprising a program for streaming data access, wherein the program is transmitted to one or more computers;
send a TCP request for streaming data;
Obtain the TCP response including the identification key,
transmitting a UDP request for the streaming data to an area addressable by the identification key;
causing an operation to obtain the streaming data;
A computer-readable medium characterized by:
ストリーミングデータアクセスのための方法であって、
ストリーミングデータに対するTCPリクエストを取得する工程と、
識別キーを含むTCPレスポンスを返す工程と、
前記識別キーによりアドレス指定可能な領域で、前記ストリーミングデータに対するUDPリクエストを取得する工程と、
前記ストリーミングデータを送信する工程と、を含むことを特徴とする、ストリーミングデータアクセスのための方法。
A method for streaming data access, the method comprising:
Obtaining a TCP request for streaming data;
returning a TCP response including an identification key;
obtaining a UDP request for the streaming data in a region addressable by the identification key;
A method for accessing streaming data, comprising the step of: transmitting the streaming data.
前記領域に対して前記識別キーを作成する工程をさらに含み、そのうち、前記領域がKubernetesクラスタ内のポッドに対応し、前記識別キーが、前記Kubernetesクラスタ外部のユーザ端末によって前記領域にアクセスするために利用されるように構成されることを特徴とする、請求項10に記載のストリーミングデータアクセスのための方法。 further comprising creating the identification key for the region, wherein the region corresponds to a pod within a Kubernetes cluster, and the identification key is for accessing the region by a user terminal external to the Kubernetes cluster. 11. A method for streaming data access according to claim 10, characterized in that it is adapted to be utilized.
JP2022528295A 2021-12-30 2021-12-30 SYSTEM, METHOD, AND COMPUTER-READABLE MEDIUM FOR STREAMING DATA ACCESS - Patent application Active JP7466881B2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2021/073184 WO2023129183A1 (en) 2021-12-30 2021-12-30 System, method and computer-readable medium for streaming data accessing

Publications (2)

Publication Number Publication Date
JP2024504885A true JP2024504885A (en) 2024-02-02
JP7466881B2 JP7466881B2 (en) 2024-04-15

Family

ID=87000026

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022528295A Active JP7466881B2 (en) 2021-12-30 2021-12-30 SYSTEM, METHOD, AND COMPUTER-READABLE MEDIUM FOR STREAMING DATA ACCESS - Patent application

Country Status (2)

Country Link
JP (1) JP7466881B2 (en)
WO (1) WO2023129183A1 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9628542B2 (en) 2012-08-24 2017-04-18 Akamai Technologies, Inc. Hybrid HTTP and UDP content delivery
US10841226B2 (en) * 2019-03-29 2020-11-17 Juniper Networks, Inc. Configuring service load balancers with specified backend virtual networks
US11558423B2 (en) * 2019-09-27 2023-01-17 Stealthpath, Inc. Methods for zero trust security with high quality of service

Also Published As

Publication number Publication date
WO2023129183A1 (en) 2023-07-06
JP7466881B2 (en) 2024-04-15

Similar Documents

Publication Publication Date Title
US10171534B2 (en) Placeshifting of adaptive media streams
CN111372100B (en) Distributed election-based end-to-end content distribution network system and distribution method
US9300733B2 (en) System and/or method for client-driven server load distribution
US20100268789A1 (en) Network caching for multiple contemporaneous requests
US20030174648A1 (en) Content delivery network by-pass system
RU2647654C2 (en) System and method of delivering audio-visual content to client device
WO2014154108A1 (en) Media stream transfer method and user equipment
EP3503568A1 (en) Information processing device, client device, and data processing method
EP3576371A1 (en) Method and system for transmitting streaming media resource
CN107547517B (en) Audio and video program recording method, network equipment and computer device
CN114615237B (en) Streaming media communication method, system, equipment and storage medium
JP7466881B2 (en) SYSTEM, METHOD, AND COMPUTER-READABLE MEDIUM FOR STREAMING DATA ACCESS - Patent application
TWI813120B (en) System, method and computer-readable medium for streaming data accessing
US20230231895A1 (en) System and method for accessing streaming data
US11611542B2 (en) Secure media streaming communication via user datagram protocol
US20240163321A1 (en) Systems and methods for multicasting live content
US20230247110A1 (en) Method for controlling access to content implemented by a cache server
US20160295249A1 (en) Session Setup Method and Apparatus, and Session Content Delivery Method and Apparatus
CN116980712A (en) Data transmission method, device, electronic equipment and storage medium
CN117857856A (en) Method for switching multiple source stations of live broadcast system
CN115665500A (en) Scheduling processing method, device, equipment and storage medium
US20170264932A1 (en) Method of managing the right of access to a digital content

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220517

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220517

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20220517

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231226

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240226

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240326

R150 Certificate of patent or registration of utility model

Ref document number: 7466881

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150