WO2015117677A1 - Procédé et logiciel de transmission de contenu de site web - Google Patents

Procédé et logiciel de transmission de contenu de site web Download PDF

Info

Publication number
WO2015117677A1
WO2015117677A1 PCT/EP2014/052501 EP2014052501W WO2015117677A1 WO 2015117677 A1 WO2015117677 A1 WO 2015117677A1 EP 2014052501 W EP2014052501 W EP 2014052501W WO 2015117677 A1 WO2015117677 A1 WO 2015117677A1
Authority
WO
WIPO (PCT)
Prior art keywords
client
server
sctp
tunnel
web
Prior art date
Application number
PCT/EP2014/052501
Other languages
English (en)
Inventor
Eran Gampel
Adi Molkho
Original Assignee
Huawei Technologies 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 Huawei Technologies Co., Ltd. filed Critical Huawei Technologies Co., Ltd.
Priority to PCT/EP2014/052501 priority Critical patent/WO2015117677A1/fr
Publication of WO2015117677A1 publication Critical patent/WO2015117677A1/fr

Links

Classifications

    • 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
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • 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]

Definitions

  • the present invention refers to a method of sending website content from a server to a client and to a corresponding method of receiving website content at the client. Moreover, the present invention refers to computer program products adapted to perform the method for sending or receiving website content.
  • HTTP Hypertext Transfer Protocol
  • the size of data may be reduced by using compression technologies as much as possible.
  • the page rendering may be accelerated by utilizing caching on the client side and optimizing
  • SPDY uses Transmission Control Protocol, TCP, as underlying transport layer.
  • TCP Transmission Control Protocol
  • SPDY does not require changes to the existing network infrastructure as SPDY allows for unlimited concurrent streams over a single TCP connection.
  • TCP Transmission Control Protocol
  • requests are interleaved on a single channel, the efficiency of TCP is increased, i.e. fewer network connections need to be made and fewer, but more densely packed packets are issued.
  • Limitations of SPDY are that it is not standard and it is not widely supported. Moreover, the capabilities are limited as it uses TCP for the transport layer.
  • the method and the devices in accordance with aspects of the present invention shall be compatible to existing structures of a network environment.
  • a first aspect of the invention provides a method of sending website content to a client.
  • the method is performed by a server and comprises: receiving, by a server, a request for a website content from a web browser at a client; detecting, by the server whether the client web browser supports Stream Control
  • Transmission Protocol, SCTP as the a transport layer protocol
  • the method proceeds with: delivering a SCTP tunnel software from the server to the client; establishing a SCTP tunnel between the server and the client using the SCTP tunnel software installed at the client; and/or sending, by the server, the requested website content via the SCTP tunnel; if the client web browser does not support SCTP, the method continues with downloading the website content using Transmission Control Protocol, TCP, as the transport layer protocol, i.e. using the hypertext transfer protocol, HTTP, over TCP.
  • TCP Transmission Control Protocol
  • the SCTP is a transport layer protocol serving a similar role as the common transfer protocols TCP and User Datagram Protocol, UDP, for transferring website content on the Internet.
  • SCTP provides some of the service features of TCP and UDP: It is a message-oriented protocol-like UDP and ensures reliable, in-sequence transport of messages with congestion control like TCP. SCTP is characterized as message-oriented, which means that it transport sequences of messages (each being a group of bytes) rather than transporting a broken stream of bytes like TCP.
  • Tunnel software refers to software that is able to convert transmission protocols by
  • an SCTP tunnel is used for communicating the requested website content from the server to the client via SCTP as transfer protocol rather than the TCP which is usually used.
  • the website content does not need to be converted as before and after the SCTP tunnel the data may remain in the original protocol. Therefore, the data transfer can benefit from all advantages that SCTP provides over TCP.
  • the step of sending the requested website content via the SCTP tunnel comprises using the multi-streaming and/or multi-homing capabilities of the SCTP transport protocol to send web content data in parallel.
  • one or both endpoints of the connection When using the multi-homing capability, one or both endpoints of the connection include more than one IP address, enabling transport fail-over between redundant network paths.
  • the multi- streaming capability of the SCTP allows the delivery of data within independent streams. This eliminates unnecessary head-of-line blocking in contrast to a TCP byte-stream delivery.
  • the client that supports SCTP is a client that supports Web Real-Time Communication, WebRTC
  • the step of establishing a STCP tunnel comprises establishing a WebRTC tunnel.
  • Any HTML5 browser supports WebRTC.
  • any HTML5 browser running on a client computer may benefit from the SCTP data channel in accordance with the first aspect of the invention.
  • WebRTC is an application programming interface (API) definition drafted by W3C & IETF. It enables browser-to-browser applications for voice, video and point-to-point data
  • the communication without any plug-ins includes three classes of API. Firstly, it includes a media stream API which allows direct access to devices, e.g. a microphone and the camera, but it could also include other devices. Audio and video are split in two synchronized media stream tracks. A further API provided by WebRTC is a peer connection API for connecting client's audio/video streams. Finally, it includes a data channel API for real-time point-to- point transfer of generic data.
  • the transport layer is SCTP on top of DTLS (data transport layer security).
  • the step of determining whether the client web browser supports SCTP comprising using a HTTP header from the client's request to determine the SCTP capability of the client web browser.
  • the HTTP header of the client's request for a web content delivery usually includes information on the client's browser capabilities. If e.g. the client browser is a HTML5 browser, then this will be indicated in the header of the browser's HTML request and, hence, the server can determine that it supports SCTP.
  • the SCTP tunnel software includes a JavaScript.
  • the SCTP tunnel software includes a bootstrap Java-Script WebRTC tunnel software and the step of establishing a SCTP comprises establishing a WebRTC tunnel.
  • the SCTP tunnel software or WebRTC tunnel software will be downloaded using the normal processing pipeline, i.e. TCP as the transport layer protocol.
  • the server is a server holding the website content or the server is a proxy server.
  • a second aspect of the invention provides a server including stored software instructions that, when running on the server, performs the method according to the first aspect as such or according to any of the preceding implementation forms of the first to sixth aspect of the first to implementation form.
  • the server is a web server that stores web content including said requested web content.
  • the server is a proxy server that is adapted to receive said requested web content from a web server.
  • a third aspect of the invention refers to a method for receiving website content from a server.
  • the method is performed by a client and comprises: sending, by a web browser on the client, a request for a website content to a server wherein the client web browser supports a Stream Control Transmission Protocol, SCTP, as a transport layer; receiving, by the client, a SCTP tunnel software from the server; running the SCTP tunnel software at the client and establishing a SCTP tunnel using the SCTP tunnel software; and/or receiving, by the client, the requested website content from the server via the SCTP tunnel.
  • SCTP Stream Control Transmission Protocol
  • This method which is performed by the client, corresponds to the method described in the first aspect of the invention which is performed by the server.
  • the client supports Web Real Time Communication, WebRTC, and the step of establishing a STCP tunnel comprising establishing a WebRTC tunnel.
  • the step of requesting web content comprises sending a request including a HTTP header that includes an indication of the client's web browser capability of supporting SCTP as a transport layer protocol.
  • a further aspect of the invention provides a client computer including stored software instructions that, when running on the client computer, performs a method according to the third aspect of the invention as such or according to any of implementation forms of the third aspect of the invention.
  • Fig. 1 is a flow chart of a method for sending website content to a client and receiving website content from a server, respectively, in accordance with an embodiment of the invention.
  • Fig. 2 is a block diagram of a web server and a web browser communicating with each other in accordance with an embodiment of the present invention.
  • Fig. 3 is a block diagram of a web server, a WebRTC tunnel server entity and a web browser communicating in accordance with a further embodiment of the invention.
  • An embodiment of the invention provides a method for sending and receiving website content as shown in the brief flow chart of Fig. 1.
  • the communication takes place between a web server 101 and a browser 104.
  • the latter is installed on a client computer.
  • the web server may communicate with a WebRTC or SCTP tunnel entity 102 which may be integral with the web server 101 or may be a separate entity, e.g. it may be integrated in a proxy server.
  • the browser 104 may establish a WebRTC tunnel client or SCTP tunnel client 105. It is to be understood that the WebRTC tunnel client entity 105 is implemented as a JavaScript and is running on the same client computer as web browser 104. It may be implemented as a software module within the browser.
  • the browser sends a URL request to the server to request a content of a website.
  • the web server Upon receiving the request for website content, the web server detects in step 111 if the client browser supports a WebRTC tunnel channel or, more generally, if the browser supports SCTP as a transfer protocol.
  • the web browser may examine a header of an HTML request of the request for website content 110 in order to determine whether the browser support SCTP as a data transfer protocol or, in particular, whether the browser supports WebRTC which includes the capability of using SCTP as a transport layer. For example, if the header of the HTML request indicated that the browser is compatible with HTML5, the web server will determine that the browser supports WebRTC.
  • the web server will deliver a bootstrap HTML page with the JavaScript WebRTC tunnel software or SCTP tunnel software in step 112. However, if the client browser does not support SCTP or WebRTC, the requested web content will be downloaded using the normal processing pipeline, i.e. using TCP as the transport layer protocol, and the method steps.
  • a tunnel is established between the WebRTC tunnel entity or SCTP tunnel entity 102 and the WebRTC tunnel client or SCTP tunnel client 105.
  • step 114 the client requests the website content via the established tunnel.
  • step 115 the WebRTC tunnel server entity will start downloading the requested website content from the web server 101.
  • step 116 all received web content may be packed and compressed.
  • step 117 the tunnel entity proceeds with sending it via the tunnel or it could be sent via the tunnel one by one when available.
  • step 118 the WebRTC tunnel client entity 105 will receive, if needed unpack and decompress, parse the web content and render it directly into a document object model (DOM) of the browser 104.
  • DOM document object model
  • Fig. 2 illustrates the system configured to use the processing pipeline for downloading website content according to an embodiment of the invention. Similar reference signs refer to the corresponding entities of the first embodiment discussed above in context of Fig. 1.
  • a web browser 101 is connected to an SCTP tunnel entity or a WebRTC tunnel entity 102.
  • the tunnel entity 102 may be embedded in the web server. Embedding the tunnel entity 102 in the origin website server 101 will require changes to the web server 101, but the web content will remain unmodified.
  • the tunnel entity 102 will be implemented into a proxy server that will act as a reverse HTTP proxy to the origin web server and establishes the tunnel to the requesting browser. In this embodiment, no modification is required on the web server. However, the overall performance for
  • the SCTP tunnel which may include a WebRTC data channel is established between the SCTP tunnel entity or WebRTC tunnel entity 102 and the web browser 104.
  • the SCTP tunnel is actually an SCTP transport layer tunnel between the browser and the web server or proxy server that will be established with no plug-in or modification to the browser. Data transfer via the SCTP tunnel will therefore benefit from using SCTP as a transport layer.
  • SCTP is a multi-stream and multi-homing protocol. It is message oriented and allows transferring multiple items in parallel on one connection. Thus, the performance and reliability of the data transfer is increased.
  • the website content will be received using the JavaScript WebRTC API which, in this embodiment, establishes the WebRTC tunnel client 105.
  • the DOM JavaScript API is used to render the received content dynamically from the JavaScript directly into the DOM 106 as shown in Fig. 2.
  • the remaining parts of the web browser act in a conventional manner as known by a skilled person in the related art.
  • Fig. 3 shows a system adapted to implement embodiments of the present invention. Similar entities are denoted with the same reference signs used in Figs. 1 and 2.
  • the system includes a web server 101 holding the web content which is connected to a WebRTC tunnel server entity 102.
  • the web server 101 and the WebRTC tunnel server entity 102 may be integrated into the same server as depicted in the dotted line of Fig. 3. However, according to a different embodiment, the WebRTC tunnel server entity may also be integrated into a proxy server which is connected with but separate from the web server 101.
  • the web browser 104 includes the WebRTC tunnel client 105 which is, according to an embodiment of the invention, a JavaScript running on the web browser 104. It establishes the WebRTC data channel tunnel with the WebRTC tunnel server entity 102. Moreover, it will receive the web content, unpack it and render it into the DOM 106 using a DOM JavaScript API.
  • the web browser further includes a DOM (Document Object Model) 106 and a CSSOM (Cascading Style Sheet), which operate as in a web browser known by a skilled person in the related field.
  • DOM Document Object Model
  • CSSOM CSSOM
  • a computer program may be stored/distributed on a suitable medium, such as an optical storage medium or a solid-state medium supplied together with or as part of other hardware, but may also be distributed in other forms, such as via the Internet or other wired or wireless telecommunication systems.
  • a suitable medium such as an optical storage medium or a solid-state medium supplied together with or as part of other hardware, but may also be distributed in other forms, such as via the Internet or other wired or wireless telecommunication systems.

Landscapes

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

Abstract

La présente invention se rapporte à un procédé d'envoi d'un contenu de site Web à partir d'un serveur à un client. Le procédé consiste en la réception, par un serveur, d'une demande pour un contenu de site Web à partir d'un navigateur Web au niveau d'un client ; en la détection, par le serveur, si le navigateur Web client prend en charge le protocole de transmission de commande de flux, SCTP, en tant que protocole de couche de transport ; si le navigateur web prend en charge le SCTP, le procédé se poursuit avec les étapes consistant : en la fourniture d'un logiciel tunnel SCTP provenant du serveur au client ; en l'établissement d'un tunnel SCTP entre le serveur et le client au moyen du logiciel tunnel SCTP installé au niveau du client ; et en l'envoi, par le serveur, du contenu de site Web demandé par l'intermédiaire du tunnel SCTP ; si le navigateur Web client ne prend pas en charge SCTP, le procédé se poursuit par le téléchargement du site web à l'aide du protocole de commande de transmission, TCP en tant que protocole de couche de transport. De plus, l'invention porte sur le procédé correspondant de réception du contenu de site Web au niveau du client. D'autres aspects de l'invention concernent un ordinateur client ou un ordinateur serveur comprenant un logiciel pour mettre en œuvre ces procédés.
PCT/EP2014/052501 2014-02-10 2014-02-10 Procédé et logiciel de transmission de contenu de site web WO2015117677A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/EP2014/052501 WO2015117677A1 (fr) 2014-02-10 2014-02-10 Procédé et logiciel de transmission de contenu de site web

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2014/052501 WO2015117677A1 (fr) 2014-02-10 2014-02-10 Procédé et logiciel de transmission de contenu de site web

Publications (1)

Publication Number Publication Date
WO2015117677A1 true WO2015117677A1 (fr) 2015-08-13

Family

ID=50073178

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2014/052501 WO2015117677A1 (fr) 2014-02-10 2014-02-10 Procédé et logiciel de transmission de contenu de site web

Country Status (1)

Country Link
WO (1) WO2015117677A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113645193A (zh) * 2021-07-16 2021-11-12 牙木科技股份有限公司 网络安全防护方法、业务管理系统及计算机可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040049737A1 (en) * 2000-04-26 2004-03-11 Novarra, Inc. System and method for displaying information content with selective horizontal scrolling
US20050091307A1 (en) * 2003-10-23 2005-04-28 International Business Machines Corp. Method, system and article for dynamic real-time stream aggregation in a network
US20140040786A1 (en) * 2012-08-01 2014-02-06 KeyMetric, Inc. Automatic tracking of user engagement with computing interfaces

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040049737A1 (en) * 2000-04-26 2004-03-11 Novarra, Inc. System and method for displaying information content with selective horizontal scrolling
US20050091307A1 (en) * 2003-10-23 2005-04-28 International Business Machines Corp. Method, system and article for dynamic real-time stream aggregation in a network
US20140040786A1 (en) * 2012-08-01 2014-02-06 KeyMetric, Inc. Automatic tracking of user engagement with computing interfaces

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
UBERTI GOOGLE C JENNINGS CISCO SYSTEMS J ET AL: "Javascript Session Establishment Protocol; draft-ietf-rtcweb-jsep-01.txt", JAVASCRIPT SESSION ESTABLISHMENT PROTOCOL; DRAFT-IETF-RTCWEB-JSEP-01.TXT, INTERNET ENGINEERING TASK FORCE, IETF; STANDARDWORKINGDRAFT, INTERNET SOCIETY (ISOC) 4, RUE DES FALAISES CH- 1205 GENEVA, SWITZERLAND, 5 June 2012 (2012-06-05), pages 1 - 31, XP015083173 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113645193A (zh) * 2021-07-16 2021-11-12 牙木科技股份有限公司 网络安全防护方法、业务管理系统及计算机可读存储介质
CN113645193B (zh) * 2021-07-16 2023-06-23 牙木科技股份有限公司 网络安全防护方法、业务管理系统及计算机可读存储介质

Similar Documents

Publication Publication Date Title
US9253065B2 (en) Latency measurement in resource requests
US10171528B2 (en) Streaming of segmented content
EP2383941B1 (fr) Terminal client, ainsi que procédé et système de téléchargement de flux multimédia
US8990357B2 (en) Method and apparatus for reducing loading time of web pages
Grigorik Making the web faster with HTTP 2.0
US8984164B2 (en) Methods for reducing latency in network connections and systems thereof
WO2017096830A1 (fr) Procédé de distribution de contenu et serveur mandataire de planification pour plate-forme cdn
US9639629B1 (en) Accelerating the downloading of content to an application
WO2017080459A1 (fr) Procédé, dispositif et système de mise en cache et de fourniture de contenu de service et support de stockage
WO2011088725A1 (fr) Procédé et appareil permettant une synchronisation basée sur le protocole de transfert hypertexte (http)
US20130007863A1 (en) Streaming video to cellular phones
US10069866B2 (en) Dynamic secure packet block sizing
EP3186959B1 (fr) Enrichissement de contenu de protocole de couche supérieure dans une session tcp
WO2019243890A2 (fr) Transmission de données multiport par l'intermédiaire du protocole udp
EP3206376B1 (fr) Système de communication de réseau avec protocole push web
US10110646B2 (en) Non-intrusive proxy system and method for applications without proxy support
JP6081847B2 (ja) Webコンテンツの配信装置
WO2015117677A1 (fr) Procédé et logiciel de transmission de contenu de site web
US20130007369A1 (en) Transparent Cache for Mobile Users
JP6081845B2 (ja) Webコンテンツの配信装置
JP6054799B2 (ja) Webコンテンツの配信装置
Cui The cross-browser multi-platform real time online monitoring system based on WebSocket
JP2011232802A (ja) Web情報取得方法および装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14703828

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14703828

Country of ref document: EP

Kind code of ref document: A1