WO2014200386A1 - Передача данных от веб-сервера терминальным устройствам посредством беспроводной сети - Google Patents

Передача данных от веб-сервера терминальным устройствам посредством беспроводной сети Download PDF

Info

Publication number
WO2014200386A1
WO2014200386A1 PCT/RU2013/001056 RU2013001056W WO2014200386A1 WO 2014200386 A1 WO2014200386 A1 WO 2014200386A1 RU 2013001056 W RU2013001056 W RU 2013001056W WO 2014200386 A1 WO2014200386 A1 WO 2014200386A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
module
packets
integrity
transmitting
Prior art date
Application number
PCT/RU2013/001056
Other languages
English (en)
French (fr)
Inventor
Константин Геннадьевич МИХАЙЛОВ
Николай Николаевич МИХАЙЛОВ
Антон Сергеевич ПАВЛОВ
Владимир Владимирович КРЫЛОВ
Original Assignee
Общество с ограниченной ответственностью "Новые технологии презентаций"
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 Общество с ограниченной ответственностью "Новые технологии презентаций" filed Critical Общество с ограниченной ответственностью "Новые технологии презентаций"
Publication of WO2014200386A1 publication Critical patent/WO2014200386A1/ru

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/06Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services

Definitions

  • This invention relates to information and telecommunication technologies and can be used to transfer data from a web server to client terminal devices via a wireless local area network.
  • Web applications, metadata accompanying these web applications, web application management commands, as well as multimedia content (audio and / or video) can be used as data, either as fixed-length recordings or as streams in real time.
  • the invention can be used in organizing television presentations at various public events, at which speakers are expected to address the audience - conferences, seminars, forums, symposia, etc.
  • the prior art method for improving the quality of multicast data transmission (US 2012/0140648 A1) by introducing into many receiving client devices the so-called quality monitoring stations.
  • Monitoring stations in this case are specialized client devices equipped with wireless communication network modules, as well as special software.
  • the task of quality monitoring stations is to monitor the reception quality of transmitted data packets and record the facts of successful reception of packets, as well as packets received with an error in different parts of the wireless coverage area. As the results are recorded, monitoring stations organize feedback with the server performing multicast data transfer and send him confirmation of successfully received packets data, as well as packets received with an error. If at least one of the involved quality monitoring stations sends a report that some data packet was received with an error, this packet is retransmitted.
  • Such quality monitoring stations are placed at the borders of the broadcasting zone, where the signal is the weakest and the reception is the least stable, where there are high probability of errors when receiving data.
  • the described mechanism allows to increase reliability in data transmission.
  • US 2011/01765096 A1 discloses a wireless communication system that controls the transmission parameters of data objects depending on their importance and usefulness for receiving clients.
  • This system identifies the priorities of the transmitted data objects in accordance with the degree of their importance and, depending on the assigned priorities, regulates a number of transmission parameters, including the bit rate (at the physical level) with which one or another data object will be transmitted, changes the transmission sequence of those other objects depending on their priorities, and also sets the number of retransmission attempts in case of unsuccessful reception for each data object separately.
  • identification of the type of transmitted data is performed. And different transmission parameters are applied to different data objects, in particular, different bit rates are used for different objects and the required number of relayings is determined.
  • the claimed invention employs independent controlled logical channels (at the application level) for different types of data, in which transmission parameters, in particular bit rates and the required number of relayings, are regulated.
  • the invention according to the patent US 2011/01765096 A1 has a significant drawback due to the fact that data is transmitted by organizing unicast connections of receiving client devices with a data transfer server (one-to-one connections), and a feedback mechanism is used from clients to the server in order to confirm successfully received data packets, which greatly limits the scalability of this system by the number of simultaneously serviced client devices.
  • this drawback is overcome by using multicast broadcasting in a wireless local area network together with cyclic data relay, or by transmitting data by duplicating data packets and transmitting their copies with a time delay relative to the originals without using reverse communication from customers.
  • the method includes connecting a wireless content transmitter configured to transmit data packets using a wireless Wi-Fi infrastructure, sequentially supplying a set of data packets to a wireless content transmitter for wireless transmission, wherein said wireless content transmitter transmits wireless data packets from said set of data packets wirelessly using Wi-Fi infrastructure, while before transferring each mentioned data packet from the data set x, the wireless content transmitter adds a header to the specified data packet, the header includes the specified general-purpose identifier, allowing multiple user devices to access the specified data packet, thereby transmitting each data packet from the specified set with the given header.
  • the method further describes at least one system receiver configured to wirelessly receive said data packets transmitted via a wireless content transmitter, while at least one system receiver receives at least some of said data packets during transmission of data packets. , while the specified system receiver transmits information about the reception quality of the received data packets, where the specified information transfer, as expected, does not meet the Wi-Fi modality. At the same time, when transferring data, it is not required to create a separate Wi-Fi session for each client device.
  • this invention has a number of significant differences limiting the effectiveness of its use for data transfer - it has no mechanisms to ensure reliable data delivery to client devices in the absence of feedback from them. While in the present invention, such mechanisms are an important and integral part.
  • the objective of the invention is to provide a technology that allows highly reliable data transfer from a web server to a large number of heterogeneous client terminal devices via wireless local communication networks with optimization of the consumption of a communication resource (bandwidth) on the air interface of these networks.
  • the technical result consists in ensuring high scalability of the obtained solution in terms of the number of simultaneously serviced client terminal devices in the local wireless communication network (from several hundred to thousands of clients served by one access point), while ensuring high reliability of data transmission (approaching 100%) and optimizing traffic consumption on the air interface of a wireless local area network.
  • the claimed invention allow us to ultimately provide coverage for a large number of client terminal devices using a minimum amount of network infrastructure elements.
  • the implementation of this invention will lead to the fact that the number of user devices simultaneously served by one access point in a deployed wireless Wi-Fi network will increase significantly (from several tens to, potentially, several hundred), and as a result, fewer such access points will be required to provide coverage of the territory on which all user devices are located. All this will lead to an overall reduction in the cost of communication infrastructure, as well as to simplification and acceleration of its deployment procedures.
  • the problem is solved in that in a method for transmitting data from a web server to client terminal devices via a local wireless communication network, including connecting a web server and client terminal devices to a local wireless communication network with the ability to transfer data to the network, creating a multicast group in the network broadcasting, connecting client terminal devices to the created multicast broadcasting group, data transfer from the web server to the local wireless communication network in multicast broadcasting mode, receiving data by client terminal devices included in the multicast broadcasting group, and reproducing the received data on client terminal devices,
  • preliminary preparation of data for transmission is carried out, including at least identification of the type of data objects, one or more logical channels are formed in the total bandwidth of the wireless communication network, which are part the total bandwidth of the wireless communication network for each type of data object, and
  • data objects for transmission including fragmentation of data objects into multiple data packets, labeling each data packet with a header containing at least information for transmitting the data packet, and transmitting data packets with headers to the wireless network in the generated logical channels in cyclic relay of data packets or duplication of data packets and their transmission with a time delay relative to the originals, while receiving data packets client with terminal devices, they are carried out with subsequent processing steps, including identification of logical channels, within which data packet is received, redistribution of received packets on logical channels with subsequent monitoring in each logical channel of the integrity of the received data packets, in the case of violation of which they are repeated receiving, restoring original data objects from a plurality of received packets for reproduction on client terminal devices.
  • the content of web applications, and / or a set of characters containing information about web application management commands on client terminal devices, and / or meta data of transmitted web applications, and / or multimedia content in the form of audio can be used as transmitted data and / or video recordings of a fixed duration and / or stream of audio and / or video data in real time.
  • data objects are additionally combined into an archive, a hash code is calculated for the archive, followed by the hash code attached to the archive as a checksum, and when using fixed-duration multimedia content as data during preliminary data preparation for transportation, a hash code is additionally calculated, followed by a hash code attached to the data object as ve checksum.
  • a unique identifier is assigned to it, for example, “GUID - Globally Unique ⁇ ”, at least a throughput bit rate is set for each channel.
  • a cyclic relay relay of data objects is created in it to place data packets with headers before being sent to the network, while the packets are placed in the buffer in ascending order of their serial numbers.
  • the data packet header additionally contains information for monitoring the integrity of the data packets and restoring data objects from them.
  • the header may include a logical channel identifier, and / or a data object identifier of which the data packet is a part, and / or a hash code of the data packet as a checksum, and / or a packet sequence number in a plurality of data packets constituting the data object.
  • the cyclic relay mode for transmitting web applications and / or a character set containing information about web application control commands and / or meta data and / or multimedia content of fixed duration while the cyclic relay mode for transmitting data packets performed without delay between the end of the previous cycle of transmitting the data object and the beginning of the next cycle with the number of such relayings equal to N, where ⁇ G k ⁇ ], where T is the number of relayings to multicast broadcasting from the web server.
  • the mode of duplication of data packets and their transmission with a time delay relative to the originals for transmission real-time multimedia content is chosen not to exceed the value of the permissible deviation from the expected frequency of the packet.
  • the cyclic relay buffer When data packets with symbols containing information about control commands are transmitted to the network, the cyclic relay buffer is controlled, at which the buffer size is fixed, and when it is full, a new command is added by deleting the earliest one, and a new command is placed at the end of the list of commands, located in the buffer.
  • the frequency of arrival of new packets with a set of symbols containing information about the control commands and the frequency of their transmission to the network is additionally controlled, ensuring at least one transmission of the packet from the buffer to the network.
  • the channel parameters are controlled by at least the bit rate of the channel.
  • the parameters of the logical channel are controlled by determining the effective bandwidth of the wireless communication network, and the bit rate of the logical channels is changed depending on the change in this parameter.
  • the problem is also solved by the fact that in the data transmission system from the web server to the client terminal devices through a local wireless communication network, including the infrastructure of a local wireless communication network; a web server configured to create multicast broadcasting groups in the network and transmit data from the web server to the local wireless communication network in multicast mode; and at least one client terminal device configured to connect to a multicast broadcast group and receive data from a local wireless communication network and reproduce the received data on a client terminal device according to the invention, the web server includes one or more pre-training modules data for transmission to the network, formed depending on the type of data transmitted, which are associated with the module for the formation of logical channels and the organization of the relay made with the possibility of forming one or more logical channels for each type of data objects in the total bandwidth of the wireless communication network, and additionally preparing data objects for transmission, including fragmenting data objects into multiple data packets, marking each data packet with a header containing at least, information for transmitting a data packet, as well as organizing a cyclic relay mode of data packets or duplicating
  • the system comprises a module for preliminary preparation of web applications, and / or a module for preliminary preparation of control commands, and / or a module for preliminary preparation of meta data, and / or a module for preliminary preparation of multimedia content in the form of audio and / or video recordings fixed duration and / or stream of audio and / or video data in real time.
  • One or more modules of preliminary data preparation are configured to additionally mark a data object with a corresponding identifier of the type of data objects and a unique identifier of the object.
  • the corresponding data pre-processing modules are capable of combining data objects into the archive, computing a hash code for the archive, and then attaching the hash code to the archive as a checksum.
  • the web server further includes a web application storage module and / or a meta-data storage module, and / or a multimedia content storage module, and / or a real-time multimedia content source, and an associated transmit server module, wherein the transmit server module is configured with the possibility of scheduling data between the said storage modules of the respective data types and the corresponding modules for the preliminary preparation of data for transmission.
  • the transmitting server module is configured to identify the type of data objects in the process of preliminary preparing data for transmission, generating web application management commands and transmitting the generated commands to the preliminary module for preparing management commands.
  • the source of real-time multimedia content is a module configured to capture video and / or audio stream from one or several cameras, and / or from one or more microphones, respectively, encoding the captured video and / or audio stream, presenting multimedia content and providing access to the encoded stream at the request of the transmitting server module.
  • the module for preliminary preparation of multimedia content is connected with the module for storing multimedia content and / or with the source of multimedia content in real time through the transmitting server module.
  • the multimedia content preliminary preparation module is capable of additionally computing the hash code, followed by attaching the hash code to the data object as a checksum.
  • the logical channel generation and relay organization module is configured to assign a unique logical channel identifier in the process of its formation, as well as to generate a data packet header that contains additional information for monitoring the integrity of the data packet and restoring the data object.
  • the module for generating logical channels and organizing relaying for each logical channel contains a buffer for cyclic relay of data objects, which is configured to place data packets with headers that make up data objects before transmitting them to the network, in ascending order of their serial numbers.
  • the cyclic relay buffer is configured to fix the size of the buffer when transmitting data packets with symbols containing information about control commands to the network, and to control the logic of the buffer operation, in which case, when it is full, a new command is added by deleting the earliest, while the new the command is placed at the end of the list of commands in the buffer.
  • the cyclic relay buffer is also configured to control the frequency of arrival of new packets with a set of characters containing information about the control commands and control the frequency of their transmission to the network, with at least one transmission of the packet from the buffer to the network.
  • the module for generating logical channels and organizing relaying is configured to independently control the parameters of the logical channels in the process of transmitting data packets, while controlling carry out at least a bit rate of the logical channel.
  • the parameters of the logical channel are controlled by determining the effective bandwidth of the wireless communication network, and depending on the change in this parameter, the bit rate of the logical channels will be changed.
  • this module can provide a cyclic relay mode when transmitting data packets without a delay between the end of the previous transmission cycle of the data object and the beginning of the next cycle with the number of such relayings equal to N, where T is the number of relayings until the multicast broadcast from the web server ends.
  • the module for generating logical channels and organizing the relay can be configured to select the amount of delay in transmitting a copy of the data packets relative to their originals so that it does not exceed the value of the permissible deviation from the expected periodicity of the packets.
  • the web server can contain a multicast control module and a transmitting wireless communication module, while the multicast control module is connected, on the one hand, with the logical channel formation and relay organization module, on the other - with a transmitting wireless communication module.
  • the multicasting control module is configured to organize a multicast broadcast group in a wireless communication network with a given IP address for multicast broadcasting and subsequent transmission of packets to this IP address received from the logical channel generation module and the organization of data packet relaying.
  • the transmitting wireless communication module is capable of transmitting data in a wireless local communication network to provide direct interaction of the web server with all client terminal devices.
  • the client terminal device To connect to a multicast broadcasting group and receive data from a local wireless communication network, the client terminal device contains a receiving wireless communication module connected to a logical channel separator.
  • the system comprises a integrity monitoring and recovery module for web applications, and / or an integrity monitoring and recovery module for control commands, and / or a meta-data integrity and recovery monitoring module, and / or a multimedia content correctness monitoring module in the form of audio and / or video recordings of a fixed duration, and / or audio and / or video data stream in real time.
  • the integrity monitoring and recovery modules of data transmitted in the cyclic relay mode are configured to receive packets again on the next relay cycle.
  • the module for checking the correctness of multimedia content transmitted in the mode of duplication of data packets and transmitting them with a time delay relative to the originals is configured to re-receive a copy of this packet.
  • the integrity control and data recovery modules may contain storage buffers for each received data object and are configured to place correctly received data packets in the storage buffers in the sequence corresponding to their serial number in the set of data packets constituting the object.
  • the integrity and data recovery modules are capable of defragmenting the data object when the buffer is filled with the full set of correctly received data packets constituting the object, as well as checking the integrity of the collected data object using its checksum, and upon detection the fact of violation of the integrity of the data object, the removal of all data packets from the storage buffer and the repetition of the procedure for receiving data packets constituting this object.
  • the client terminal device may further comprise an internal web server configured to present web applications to a user that is associated with one or more integrity monitoring and data recovery modules.
  • integrity and recovery modules of web applications and meta data are configured to unzip the received data before sending it to the internal web server.
  • FIG. 1 - shows the internal structure of the web server and the client terminal device in the data transfer system in accordance with the claimed invention.
  • FIG. 2 a block diagram is presented explaining the main stages of data transfer by a web server in accordance with the method in the framework of the claimed invention.
  • FIG. 3 is a flowchart explaining a step of preliminary preparing data for transmission in accordance with a method within the scope of the claimed invention.
  • FIG. 4 is a flowchart illustrating a step of further preparing data for transmission in accordance with a method within the scope of the claimed invention.
  • FIG. 5 is a flowchart explaining the main steps of receiving data by a client terminal device in accordance with a method within the scope of the claimed invention.
  • the present invention provides a method for delivering data (in particular, dynamic web applications) from a web server to a large number of client terminal devices connected via a local wireless communication network. And also presents a system that implements this method.
  • a distinctive feature of the present invention is that in order to increase the scalability of a data transmission system (e.g., web applications), i.e. increasing the number of client terminal devices working simultaneously with the web application transmitted at a given point in time, the web server providing the specified web application, as well as all client terminal devices using this application, are connected to a common local wireless communication network, and web transmission applications from the web server to all client terminal devices are carried out through multicast broadcasting of web application content in a given communication network from time to time its cyclic cyclic repetition.
  • a data transmission system e.g., web applications
  • the web server is connected to the access point (router) of the local wireless communication network using a wired connection, and all client terminal devices are connected to the wireless network in the same way as in the previous embodiment.
  • a multicast broadcasting mode is introduced in a wireless local area network similar to the previous embodiment of the invention.
  • the introduction of multicast broadcasting of web application content in combination with its cyclical repetition over a long Time allows to ensure highly reliable delivery of web applications to all client terminal devices without the need for feedback from these devices in the form of delivery confirmations or other messages.
  • the absence of feedback traffic from client terminal devices ensures greater independence of this solution from the number of client terminal devices connected simultaneously to a given wireless communication network, and, therefore, sharing radio resources on the air interface of the local wireless communication network, which is the key to highly scalable solutions in accordance with this invention.
  • the web server is configured to broadcast to all connected client terminal devices by multicast broadcasting other types of data, among which are the following.
  • control commands are used for simplicity of presentation. These commands, in particular, can regulate the time order, logic and way of displaying individual elements of transmitted web applications on the side of client terminal devices.
  • relay window is highlighted, which is a certain subset of the control commands from the stream. All control commands that currently fall within the boundaries of the dedicated relay window are cyclically repeated in order to ensure their highly reliable delivery to client terminal devices without the need for feedback from these devices.
  • the frequency of receipt of new control commands in the stream, the size of the relay window (i.e., the number of control commands that are simultaneously within the specified relay window) and the frequency of repetition of the entire relay window to the local wireless communication network agree each other in such a way that each team that is newly received in the stream is repeated (retransmitted via multicasting) at least K times until it is replaced by others, olee new management teams and go beyond the boundaries of the relay box (in other words, until the moment when the control command will no longer be relayed).
  • K is one of the adjustable parameters in the framework of this method and the value of K must be at least 1.
  • the relay window is implemented in the form of a so-called fixed-size circular relay buffer.
  • the size of the relay window is the same as the size of the relay buffer.
  • Meta data associated with streaming web applications is another kind of data transmitted by cyclic relay as part of the method of this invention.
  • the meta data described may be some kind of service information that accompanies transmitted web applications, but which is not part of the content of these web applications.
  • An example of such meta-data can be information about users of terminal client devices, as well as about the rules of access for these users to the content of transmitted web applications, etc.
  • Meta data is transmitted from the web server to client terminal devices via multicast broadcasting in a local wireless communication network. And at the same time (similar to the previous cases), cyclic relay of meta data is used to ensure highly reliable delivery to all interested client terminal devices without the need for feedback from them.
  • multimedia content is another type of data transmitted from a web server to multiple client terminal devices.
  • the multimedia content in the framework of this invention is conditionally divided into two large classes: fixed multimedia content duration (hereinafter also referred to as multimedia content upon request) - is a certain array of audio and / or video data, for example, a pre-recorded video with sound, etc.
  • the second category is real-time multimedia content - audio / video, “Captured” from cameras, microphones, or streams of television and radio broadcasting.
  • multimedia content (of the two types listed) is also transmitted via multicast broadcasting in a wireless local area network.
  • a cyclic relay method is used.
  • the so-called “overlap” broadcasting method is used to increase transmission reliability.
  • the essence of this method is that each data packet in the transmitted stream of multimedia content is duplicated and its copy is transmitted to the wireless local communication network with some time delay relative to the original.
  • acceptable jitter means the value of the permissible deviation from the expected periodicity of the packets.
  • acceptable jitter is approximately 200 ms
  • HDTV high-definition television
  • acceptable jitter is approximately 200 ms
  • video encoded in H.264 format acceptable jitter” - approximately 20 ms
  • video without compression acceptable jitter
  • the web application delivery system consists of a web server (module 01) connected to a wireless local area network (module 02), one or more client terminal devices (modules 03) also connected to this network.
  • the web server through multicast broadcasting, transmits (transmits) the content of web applications, multimedia content, as well as all the necessary accompanying meta-data via a wireless local communication network to many client terminal devices.
  • the transmitting web server (module 01) consists of data storage modules, including: web application storage module (module 04), meta-data storage module (module 05), on-demand multimedia content storage module (fixed duration) (module 06), as well as one or more sources of real-time multimedia content (module 07).
  • the web server also includes: a transmitting server module (module 08), modules for preliminary preparation of various types of transferred content for transportation (transmission), among which stand out: a module for preliminary preparation of web applications (module 09), a module for preliminary preparation of control commands ( module 10), a module for preliminary preparation of metadata (module 11), and a module for preparing multimedia content (module 12).
  • the web server includes a module for generating logical channels and organizing relaying (module 13), a multicast control module (module 14), and a transmitting wireless communication module (module 15).
  • the web application storage module is a module that responds to for storing content of web applications on a web server and providing access to them.
  • the content of a web application in the general case can be a set of interconnected data objects, such as HTML web pages, Java Script client code modules, CSS style web pages, data objects presented in a single format from structured data description languages, such as XML, JSON, etc., raster images (pictures, photographs, etc.) embedded in web pages when they are displayed on client terminal devices.
  • Image data can be represented in any of the BMP, JPEG, PNG, etc. bitmap presentation formats. It can also be GIF animations.
  • Vector graphics objects, presented, for example, in SVG format can also be part of the content of web applications.
  • any of the known methods of storing data and providing access to them are used in the web application storage module, for example, all web application data objects can be stored as separate files in the web server file system standard file access tools provided by the web server operating environment.
  • DBMS database management systems
  • MySQL for example, etc. are used to store data of web applications.
  • the web application storage module (module 04) provides full web application content, i.e. all available data objects associated with a given web application transmitting to the server module upon its request for further sending (transmission) to their client terminal devices.
  • the meta-data storage module (module 05) is a module responsible for storing all meta-data associated with web applications transmitted to the wireless local communication network, as well as for providing access to this data.
  • An example of such metadata can be information about users of terminal client devices that are currently broadcasting web applications, it can also be information about the rules for all users to access the content of transmitted web applications, etc.
  • Mentioned metadata can be represented in any of the known formats for describing structured data, for example, in * XML, JSON, or even as text strings containing attribute-value pairs, separated by commas (the so-called CSV - Comma-Separated Values), etc.
  • meta-data storage module in the meta-data storage module (similar to module 04), any of the known methods of storing data and providing access to them are used, for example, all meta-data objects can be stored as separate files in the web server file system, and access they can be accessed by standard means of accessing files provided by the operating environment of the web server. Also, well-known database management systems (DBMS), such as MySQL, for example, etc. are used to store meta-data.
  • DBMS database management systems
  • the meta-data storage module provides all the meta-data associated with the transmitted web applications to the transmitting server module (module 08) upon its request for further sending to client terminal devices.
  • the multimedia content storage module (module 06) is a module responsible for storing all multimedia objects (audio and video recordings) and providing access to them upon request from the transmitting server module.
  • the multimedia objects themselves can be represented in any of the known formats for presenting multimedia content, for example, audio recordings can be presented in MP3, WAV, etc. formats, video recordings can be encoded, for example, using MPEG-4 Visual, N. codecs. 264, VP8 and others with audio accompaniment encoded in AAS, MP3, Vorbis and other formats.
  • any of the known methods of storing data and providing access to them are used, for example, all audio and video recordings can be stored as separate files in the web server file system, and access to them can be done using standard file access tools provided by the web server operating environment.
  • DBMS database management systems
  • MySQL MySQL
  • Module 07 is a source of real-time multimedia content.
  • a source can be a software (or hardware-software) module that captures video or audio from one or more cameras and / or from one or more microphones, respectively.
  • This module encodes the captured video and / or audio stream into one of the known formats for presenting multimedia content and provides access to this encoded stream at the request of the transmitting server module (module 08).
  • the real-time multimedia stream in this invention can be represented, for example, in H.264 format for video, AAC for sound, multiplexed and packed, for example, in a TS stream container. Any other options for using well-known formats for presenting multimedia content in real time are possible.
  • the transmitting server module (module 08) is a software module whose main task is to coordinate the transportation of all types of data on a web server for further translation (transmission) of them to many client terminal devices, as well as the generation of commands to control the display of web applications on the client side terminal devices.
  • the transmitting server module initiates the transfer of web applications, meta-data associated with them, as well as both types of multimedia content (i.e., pre-created multimedia content (on request) stored on the web server, as well as real-time content).
  • module 08 performs data scheduling between the sources of these data (modules 04-07) and the corresponding modules for preliminary preparation of data for transmission (modules 09-12), requesting the required data objects from the corresponding storage modules and transferring them to modules 09-12 for preliminary preparations for further transmission to all client terminal devices in a wireless local communication network.
  • the module for preliminary preparation of web applications (module 09) is a software module whose main task is to convert the content data of transmitted web applications into a format optimal for their further transmission in a wireless local area network.
  • Module 09 operates as follows - a certain set of data objects comes into the input of this module from the web application storage (module 04) through the transmitting server module (module 08), which is all the content of the current web application being transmitted web pages in HTML, client program code modules in the client scripting language Java Script, web page style templates in CSS format, raster and vector images, etc.
  • All received data objects are packed into a single archive, presented, for example, in ZIP, RAR, 7z or other formats using compression, and, optionally, redundant information can be added to this archive for its subsequent restoration in case of partial damage during transmission.
  • previously known mechanisms are used for packing, compressing and adding information for archive recovery, which are provided, for example, by existing and available software tools for working with archives.
  • the web preprocessing module After the archive containing all the data objects that make up the web application is received, the web preprocessing module generates additional service information, which is later used to control the transfer process of this archive.
  • This overhead information allows you to identify and classify the transmitted data object in the logical channel generation and relay organization module (module 13) to apply the corresponding reliable delivery mechanism to client terminal devices.
  • the archive of the web application is also subjected to a hash operation. That is, on the basis of the bitwise representation of this archive as a data object, a special so-called hash code is calculated, which is further needed as a so-called checksum on the side of the receiving client terminal modules to control the integrity of the received web application.
  • the hash operation is a known procedure and for its implementation in the framework of the present invention can be used any of the known and available software modules that perform such operations.
  • the generated web application archive together with the service information and the hash code (checksum) attached to it, is transmitted to the output of this module and from it goes to the logical channel generation and relay organization module (module 13).
  • Module for preliminary preparation of control commands (module 10) It is a software module whose main task is to convert the control commands for displaying web applications received from the transmitting server module (module 08) into a format optimal for their further transportation via a wireless local area network.
  • the input of this module from the transmitting server module receives a stream of control commands addressed to client terminal devices. These commands, in particular, can regulate the time order, logic and way of displaying individual elements of transmitted web applications.
  • control commands any of the known formats for representing structured data objects, for example, XML, JSON, CSV, and others, can be used.
  • the module for preliminary preparation of control commands generates additional overhead information, which is subsequently needed to control the process of transporting commands (in module 13), similarly to that described above for the web application archive.
  • this module submits a hash control command, as a result of which a hash code of the data object representing this command is calculated. Then, the resulting hash code as a checksum is added to the message. And, finally, the control team, together with the necessary service information and the checksum, is transmitted to the output of this module and from it enters the module for generating logical channels and organizing relaying (module 13).
  • the preliminary metadata preparation module (module 1 1) is a software module whose main task is to convert all metadata objects associated with transmitted web applications to a format optimal for transportation to all client terminal devices via a wireless local area network.
  • the considered meta-data is some kind of service information that accompanies transmitted web applications, but which is not part of the content of these web applications.
  • An example of such metadata can be information about users of terminal client devices, as well as about the rules for access of these users to the content of transmitted web applications etc.
  • this meta-data is a certain set of data objects serialized in any of the known formats for representing structured data, for example, XML, JSON, CSV, etc.
  • the module for preliminary preparation of meta-data for transportation functions as follows - a certain set of meta-data objects described above is received at the input of this module from the meta-data storage module (module 05) through the transmitting server module (module 08). All received data objects are packed into a single archive, presented, for example, in ZIP, RAR, 7z or other formats using compression, and, optionally, redundant information can be added to this archive for its subsequent restoration in case of partial damage during transmission.
  • previously known mechanisms are used for packaging, compression and adding information for archive recovery, which are provided, for example, by existing and available software tools for working with archives.
  • the described module After the metadata archive is generated, the described module generates additional overhead information, which is needed later to control the process of transportation of the metadata archive (in module 13), similarly as described above for the archive of web applications and management commands.
  • this module exposes a metadata archive with a hash operation, as a result of which a hash code of the metadata archive is calculated. Then, the resulting hash code as a checksum is added to the archive to control its integrity when received on client terminal devices.
  • the module for preliminary preparation of multimedia content is a software module that receives two types of multimedia content as an input: pre-created video and audio clips received from the multimedia content storage module (module 06) through module 08, as well as video and audio streams of real time received from sources of multimedia content of real time (module 07) through the mediation of module 08.
  • This module 12 marks each received multimedia stream with additional service information necessary in the future for its identification, classification and management of the process of its transportation. And then it transfers all multimedia streams together with the specified overhead information to module 13.
  • the logical channel formation and relay organization module (module 13) is a software module whose main task is to provide mechanisms for highly reliable delivery of web applications and other types of data to a large number of client terminal devices via a wireless local communication network.
  • the essence of the mechanisms for ensuring highly reliable delivery is to periodically relay the transmitted data objects through multicast broadcasting in a wireless local communication network for a long time, which eliminates the need for feedback from all receiving client terminal devices while ensuring high reliability of content delivery.
  • so-called controlled logical channels for transmitting data objects are formed in a common communication resource (total bandwidth) of a wireless communication network.
  • a common communication resource total bandwidth
  • several such controlled logical channels can be formed and will exist simultaneously, while sharing the common communication resource of the wireless network.
  • a separate controlled logical channel is formed, which allows highly reliable transmission of all data objects of this type independently of objects of all other types and also controls this transfer process independently of other data types, choosing the most suitable algorithms (modes ) ensure reliability, as well as independently control the operation parameters of a given channel (in particular, the bit rate of data transfer in a logical channel), thereby affecting the number of hara characteristics, in particular, for the total time that the correct terminal data object was received by client terminal devices under conditions of unstable operation of the radio channel on the air interface of the wireless communication network and a high probability of errors.
  • the values of the bit rate of data transmission in the logical channels are determined by a number of factors, in particular, the size of the available total communication resource of the wireless network, as well as the size of data objects.
  • the values of these values for example, when using wireless communication networks based on Wi-Fi technology of the IEEE 802.1 lg standard are about 1-10 Mbit / s.
  • the process of forming controlled logical channels and transferring data objects is carried out as follows: when another data object arrives at the input of the module in question, based on the service information accompanying the object, the data type of this object is identified and if a logical channel has not yet been generated for this type, then create it. In this case, a unique identifier of the managed logical channel is generated. As such an identifier in one embodiment of the invention may be, for example, well-known and ubiquitous The globally unique identifier used in the software (GUID). Along with the assignment of a unique identifier, a so-called cyclic relay buffer of data objects in a logical channel is also created. This buffer will temporarily store all objects (fragmented in the form of multiple data packets) transmitted within the specified logical channel. In one embodiment of the invention, the size of the cyclic relay buffer dynamically changes depending on the total number of data packets that need to provide cyclic relay.
  • the buffer Along with the formation of the buffer, they select the operation mode of the mechanisms for ensuring reliable transmission (either use the data transmission mode with cyclic relay, or the transmission mode "overlap", the essence of which was described above) and configure all the basic parameters of the managed logical channel (in particular, the bit rate data transmission in a logical channel) depending on the type of data objects transmitted in a logical channel, and also, depending on the current situation in a wireless local communication environment minute (for example, depending on the total load of the network from an interference level in the radio channel, etc.).
  • this object is considered simply as an array of binary data (a set of bytes that must be transmitted to the channel) and fragmented, that is, divided into a certain number of identical parts, fragments or data packets (although in the general case, these fragments can be different in size).
  • a header consisting of some set of data attributes is added to each data packet.
  • One of these attributes is the sequence number in the total set of packets constituting the data object.
  • such an attribute may be the offset value of the bit position of a given fragment (packet) relative to the beginning of the body of the data object. This attribute will later be used to defragment, that is, restore whole data objects from many fragments on the receiving side.
  • a numerical value is added to the package header, corresponding to the total number of data packets making up the data object in question.
  • Each data packet is subjected to a hash operation, as a result of which a hash code of this fragment is generated, which will be used as a checksum to verify the integrity and correctness of this fragment when it is received on client terminal devices.
  • the hash code for the package After the hash code for the package has been generated, it is added to the header of the data package. In addition, a unique logical channel identifier is also added to the header. After the header of the data packet is formed, it is attached to this packet (that is, the packet is marked with this header). The data packet is then added to the cyclic relay buffer. All remaining data packets constituting the data object are processed in a similar way, they are also all added to the cyclic relay buffer of this logical channel, and they are added in strict sequence, as their sequence numbers increase. Thus, in the end, the entire body of the data object is placed in the cyclic relay buffer in the form of some set of packets.
  • the cyclic relay buffer After the entire data object is placed in the cyclic relay buffer, it begins to be transmitted to the local wireless communication network as part of the logical channel, so that all packets containing fragments of the transmitted data object are transmitted one after the other to the output of the module in question and then to the multicasting management module (module 14). After the entire contents of the cyclic relay buffer of this logical channel is transferred to the multicasting control module, the contents of this buffer are retransmitted again, from the very first packet and then sequentially all packets contained in the buffer, one after the other.
  • such a cyclic transmission of the entire contents of the buffer is repeated many times over a long period of time until a command to stop broadcasting from the transmitting server module (module 08) is received in the module 13 under consideration.
  • the number of relay cycles should be at least one, and the upper limit can be determined by the total time until the multicast data transfer from the web server is left.
  • Time delay (interval) between transmission cycles of data objects in this invention is zero. That is, immediately after the transfer of the last data packet, from the cyclic relay buffer, the retransmission of the entire contents of this buffer immediately begins.
  • each virtual channel when forming logical channels in module 13, fixed values of bit data rates are set. Thus, it is guaranteed that each virtual channel will work only within the allotted share of the total communication resources of the wireless network.
  • the module 13 When the module 13 receives the next data objects of the same type as the first object described above, the transportation of which has already begun in the previously created logical channel, all these newly arriving objects are subjected to the fragmentation, packet formation procedure described above, and then added to a cyclic relay buffer of a given logical channel, transmitting cyclically after the data objects already existing in this buffer.
  • the cyclic relay described above is recommended in this invention for transmitting web applications, meta data associated with these applications, character sets containing information about web application management commands on client terminal devices, as well as multimedia content (audio and / or entries) of a fixed duration.
  • multimedia content audio and / or entries
  • control commands in the logical channel is carried out as a whole in accordance with the described cyclic relay mechanism, with the only difference being that in addition to its basic logic described above, the behavior of the cyclic relay buffer is also superimposed with additional logic that forms the so-called sliding relay window based on this buffer .
  • the mechanism of the sliding relay window is described in detail in the description of control commands as one of the types of data objects.
  • the size of the cyclic relay buffer (that is, the maximum number of data packets that it can accommodate) is fixed.
  • the arrival of the next packet leads to the fact that the earliest received packet (the oldest one) is removed from the buffer, all other data packets in it are shifted by one position to the beginning of the buffer, and the newly arrived packet is added to the end of the buffer, at the very last position.
  • the output of the module for generating logical channels and organizing relaying (module 13) receives data packet streams from all controlled logical channels and, as they arrive, these packets from the output of module 13 are fed to the input of module 14.
  • the multicast control module (module 14) is a software module whose main task is to organize multicast data broadcasting from a web server to all interested client terminal devices via a wireless local communication network.
  • the input of this module receives a stream of packets of transmitted data from all logical channels.
  • the module under consideration organizes a multicast broadcast group in a wireless communication network with a certain specified IP address for multicast broadcast and sends all received data packets to this IP address, that is, in fact, to the specified multicast group. That’s all data packets arriving simultaneously from several different controlled logical channels are put into a single common queue as they enter the input, and then they are transferred from this queue to the output of the module, previously being equipped with the IP address of the target multicast group and all other service information necessary for the formation of a full IP-packet.
  • the mechanism for generating IP packets is widely known in the telecommunications industry and is currently used in all communication systems based on the TCP / IP protocol stack. From the output of the multicasting management module, IP packets containing transmitted data packets are sent to module 15.
  • the transmitting wireless communication module (module 15) is a hardware-software device for exchanging data in a wireless local communication network. This device provides direct interaction of the web server with all client terminal devices.
  • the type of transmitting wireless communication module and its main characteristics depend on the type of wireless local area network used. So, for example, if a Wi-Fi standard network (IEEE 802.1 1 a / b / g / n / ac / ad) is used as a wireless network, then a standard Wi-Fi module from any manufacturer can be used as a transmitting wireless communication module .
  • IP packets from the multicasting control module come to the input of this module, and from the output of this module these packets are transmitted to the wireless local communication network, to the multicast group organized in it (module 14).
  • the wireless local area network itself is a local area network that supports wireless data transmission over TCP / IP protocols.
  • a wireless network in accordance with the Wi-Fi standard can be used in this invention.
  • Wi-Fi along with Wi-Fi in this invention can be used and other technologies for organizing wireless communication networks.
  • the client terminal device consists of the following modules: integrity control and management command recovery module
  • the receiving wireless communication module (module 16) is a hardware-software device for exchanging data in a wireless local communication network (similar to module 15). Like module 15, the type of the receiving wireless communication module and its main characteristics depend on the type of wireless local area network used. And just the same, in the case of using wireless networks based on Wi-Fi technology, an existing Wi-Fi module from any manufacturer can be used as a receiving wireless communication module.
  • the receiving wireless communication module receives IP packets with data distributed within a given multicast group. These IP packets are redirected by this module to module 17.
  • the logical channel separator (module 17) is a software module that classifies and redistributes all data packets arriving simultaneously through several different logical channels to different modules for further processing of each logical channel separately (modules 18-21).
  • a stream of IP packets arrives at the input of the separator from the receiving wireless communication module.
  • each incoming IP packet is first pre-processed in accordance with the stack TCP protocols, as a result of this processing, an transmitted data packet (belonging to one of the logical channels) is extracted from the IP packet.
  • the service data attribute which is a unique identifier of the logical channel, is analyzed for the extracted packet, it shows in which of the currently activated logical channels this packet is transmitted.
  • the packet is redirected to one of the following modules for further processing:
  • the integrity and recovery module for web applications (module 18) is a software module whose main task is to ensure the integrity and restoration in the original form of all data objects that make up the content of web applications received by this client terminal device.
  • This module works as follows: it receives a stream of packets containing fragments of data objects representing archives of web applications at its input from the logical channel separator. At the first stage accumulation of received data packets and monitoring of their integrity. After all the packages are accumulated and their integrity is confirmed, the second stage begins - defragmentation of the data object (that is, the assembly of the original data object from its constituent packets). Upon completion of the defragmentation procedure, the data object already assembled together, which is a web application archive, is subjected to the integrity check procedure and, if it is positive, the second processing stage is completed. The third stage begins, in which from the received data object, that is, the archive of the web application, the original data is restored - all the data objects that make up the content of the web application.
  • the procedure for accumulating data packets and monitoring their integrity is as follows: in the module under consideration, special accumulative buffers are organized (for each received data object its own separate buffer), into which all received fragments arrive. In one embodiment of the invention, the sizes of the accumulation buffers are dynamically changed depending on the total number of data packets representing a particular data object.
  • the received packet is subjected to a hash operation, as a result of which the hash code of this packet is calculated.
  • This hash code is then compared with the checksum - the same hash code previously generated on the transmitting side.
  • the checksum is attached to the received data packet and is part of its header. If, as a result of the comparison, the calculated hash code exactly matches the checksum, then this fragment is received correctly and retains its integrity. Otherwise, they decide that the data packet was received with an error (the so-called “broken” packet).
  • All data packets constituting the considered data object received correctly are stored in the accumulation buffer. Moreover, in one embodiment of the present invention, it is allowed to place packets in the buffer at those positions that correspond to their actual location inside the original data object. In the same positions that correspond to fragments taken with an error, nothing is written, that is, these positions remain vacant. And invalid packets themselves are discarded. After the client terminal device has received all the packets that make up this object, in the cumulative buffer there will be those of them that were received correctly and retained their integrity. The remaining missing data packets will be received during subsequent iterations of the cyclic relay process by the web server.
  • the module under consideration will receive the missing fragments of the data object (previously accepted with an error), and if these fragments are correct, they will supplement the remaining vacant positions in the accumulation buffer. The same of the data packets that from the second reception attempt turn out to be incorrect will be accepted for the third, fourth time, etc.
  • the collected data object is hashed and the resulting hash code is compared with the checksum of the entire object as a whole. If the calculated hash code completely matches the checksum, then the data object has maintained its integrity and was accepted correctly.
  • the resulting data object is an archived web application.
  • the next step is to unzip the web application in this module.
  • any known software components can be used to work with compressed data archives, depending on the type of archiving method used on the transmitting side.
  • the set of data objects that make up the content of the web application receives the output of the considered module for monitoring the integrity and recovery of web applications. All this content then goes to the internal web server (module 22).
  • Integrity monitoring and recovery command management module (module 18) is a software module whose main task is to ensure the integrity and restoration in the original form of all web application management commands received by this client terminal device from a web server.
  • control commands in this module is similar to module 17; here, correction of erroneously received data packets is also applied here by their repeated reception in subsequent iterations of cyclic relay. After the correctness of the next received packet containing the command is confirmed, this control command is transmitted to the output of the module in question, from where it then goes to the internal web server (module 22). It should be noted that in this module all control commands are processed and transmitted to the output in strict sequence with their arrival at the input in the form of data packets.
  • the integrity monitoring and meta-data recovery module (module 20) is a software module whose main task is to ensure the integrity and restoration in the original form of all data objects that make up the meta-data associated with web applications.
  • module 18 The principle of operation of this module is similar to that of module 18.
  • a stream of packets containing fragments of a data object representing a metadata archive is received from the logical channel separator.
  • the processing of these packets, as in module 18, consists of the steps of accumulating fragments and controlling their integrity, defragmenting the data object, and then restoring the original metadata from the packed archive.
  • the received meta-data is transmitted to the output of this module, and then they enter the internal web server (module 22).
  • the correctness control module for multimedia content (module 21) is a software module whose main task is to receive streams of multimedia content of both types (both audio and video recordings of a fixed duration and real-time streams).
  • the input of this module from the logical channel separator receives a stream of packets containing data objects in the form of multimedia content.
  • the output of the module in question contains the original audio and video recordings, which then enter the internal web server (module 22).
  • Each newly received multimedia data packet is checked for correctness (by comparing its hash code with a checksum, as in the previous cases), if this packet is correct, it is immediately sent to the output of this module, and from there to the internal web server . If the received packet turned out to be incorrect, then an attempt is made to retrieve it from the next duplicate stream, and in case of successful correct reception, the packet is also transferred to module 22, if the packet turned out to be “broken” in the duplicate stream, i.e. with an error, it is simply discarded and waiting for the next packet of the real-time multimedia stream to be received.
  • the internal web server (module 22) is a software module that simulates a web application server for the client web module (module 23).
  • modules 18-21 receive all the data necessary for its correct operation - web applications, metadata, multimedia content, if any, to be provided to the web client during the operation of web applications , as well as management teams coordinating web applications.
  • requests from the client web module (module 23) are generated to the input of this web server, generated by this web module in the process of interaction between the end user and web applications.
  • the task of the internal web server to ensure the operation of web applications for the client web module is similar to how classic well-known web servers work on the global Internet.
  • the client web module (module 23) is a regular web browser installed in the client terminal device. It provides end-user access to web applications that enter the internal web server. In the process of its operation, module 23 closely interacts with the internal web server, sending it user requests and receiving from it the required content, regulated by the logic of the web applications on the internal web server. The practical application of the invention.
  • An example of a practical application of the present invention is a telepresentation system in wireless local area networks.
  • This system is used when organizing various kinds of public events, at which speakers are expected to address the audience - conferences, seminars, forums, symposia, etc. And it allows you to broadcast presentations of speakers in real time directly to the personal mobile devices of the audience (tablets, smartphones, as well as laptops and netbooks) through a local wireless communication network.
  • the system of television presentations is organized as follows.
  • a wireless local communication network based on Wi-Fi technology is deployed (as a rule, IEEE 802.11 g / n / ac standards are applied, but this is not limited to this).
  • the developed prototype of the telepresentation system uses network infrastructure equipment (one Wi-Fi access point, manufacturer D-Link), which works according to the IEEE 802.1 1 g standard in the 2.4 GHz frequency range.
  • This so-called presentation server which is a component of the web server in accordance with the present invention, is connected to this wireless local area network (module 01 in Figure 1).
  • the hardware platform on which the presentation server (web server) was deployed is a classic desktop personal computer.
  • This presentation server is equipped with a hardware communication module of a wireless local Wi-Fi network (module 15 in accordance with the present invention), as well as specialized software for transmitting presentations to client terminal devices that implements the technology in accordance with the present invention.
  • This software implements software modules 04-14 (see Fig. 1).
  • Web applications broadcast in the system under consideration are dynamic presentations, such as, for example, Microsoft Power Point presentations, converted previously to the web format (into a set of data objects consisting of HTML pages, images, CSS style template modules, client script modules in JavaScript, etc.).
  • the television presentation system uses the 10 web applications described above, each with an average size of approximately 1 megabyte. These presentations are stored on the web server (in module 04).
  • the web server stores meta data associated with the transmitted web applications.
  • This meta-data in the system under consideration is information about all users registered in the system (both listeners and persons conducting presentations), access rights to the system for each user, as well as a number of other parameters used by the system in the course of presentation presentation ( web applications), including a complete list of all the data objects that make up these presentations.
  • Meta data is stored on the web server in the meta data storage module (module 05). The total amount of meta data is approximately 20 kilobytes.
  • a 15 megabyte video clip is located on the web server.
  • the video sequence is encoded using the H.264 codec, and audio is encoded in AAC.
  • the video is stored in the multimedia content storage module (module 06).
  • commands for managing web applications are generated, which are represented by data objects in the form of a set of text characters (XML format).
  • the volume of such data objects ranges from 200 bytes to 1024 bytes.
  • the maximum frequency for generating control commands is 10 commands per second.
  • the web server performs multicast broadcasts of presentations (web applications), meta data associated with them, web application management commands, and the video described above in the local wireless communication network to all client terminal devices connected to the multicast broadcast group.
  • the cyclic relay mode according to the present invention is applied.
  • the client terminal devices in this system are personal mobile devices of users — tablet computers and smartphones based on Apple iOS and Google Android platforms (in the amount of 27 pieces) with specialized client software pre-installed on them.
  • This client software implements software modules 17-23 in accordance with the block diagram of FIG. 1.
  • the transmitting server module receives all the necessary data objects from the corresponding storage modules (modules 04-06), identifies the type of these data objects and redirects them to the corresponding preliminary preparation modules (modules 09-12). Where, in full accordance with the method of the present invention, preliminary preparation of all data objects is performed.
  • a multicast broadcast group is organized in the local wireless communication network and all 27 available client terminal devices are connected to this group.
  • the procedures for organizing multicast broadcasting in networks, as well as connecting client devices to this broadcasting are well-known processes and are regulated by relevant standards, therefore, they are not considered in the framework of this invention.
  • logical channel generation and relay organization module As the preliminary preparation of the data objects mentioned above is completed, they are transferred to the logical channel generation and relay organization module, where a separate controlled logical channel is created for each data type, and all objects of this type are processed and transmitted within the given logical channel.
  • 4 logical channels are created in this prototype: 1 for transmitting web applications, 1 for transmitting meta-data, 1 for transmitting data objects containing control commands, and 1 for transmitting a video.
  • Each logical channel during creation is assigned a unique identifier, in the form of a GUID (Globally Unique Identifier), and also for each channel, the value of the bit rate of the data is set, while:
  • GUID Globally Unique Identifier
  • bit rate is set to 3 Mbit / s
  • bit rate for a logical channel oriented to transmit control commands, a bit rate of 1 Mbps is set, • for a logical channel focused on the transmission of multimedia content (fixed-length video), the bit rate is set to 5 Mbps.
  • the total communication resource (bandwidth) of a wireless Wi-Fi network used in the process of data transfer is 10 Mbps.
  • All data objects entering the logical channels are subjected to additional training in full accordance with this invention.
  • these data objects are fragmented, that is, they are divided into separate fragments - data packets.
  • the size of each data packet in this prototype is 1024 bytes. In cases where the amount of data transferred to a packet is less than this value (for example, when transmitting characters containing descriptions of control commands, the volume of which ranges from 200 bytes to 1024 bytes), the size of the packet is specified by the actual amount of data.
  • the buffer size dynamically changes depending on the total number of data packets prepared for transmission.
  • the size of the cyclic relay buffer is fixed. In this prototype, the size of this buffer is 250 instructions.
  • Data objects are transmitted in all logical channels using the cyclic relay mode. In this case, the delay between the individual relay cycles of data objects is zero.
  • Each client terminal device having received all the necessary content of the presentation, begins to display it to users through an internal web browser (client web module 23 in the terminology of the present invention).
  • the server As the leader slides through the presentation, the server generates the corresponding control commands, which are also transmitted through multicast broadcasts within the framework of the logical channel organized for them to all client devices. And as a result, everyone users on their personal devices also scroll through the slides in synchronization with the user conducting this presentation.
  • management commands allow you to “synchronize” the state of the presentation on all client devices with its state on the server in real time.
  • the coordinates of the current location of the so-called electronic pointer which is a kind of label pointing to a separate area on the current slide of the presentation, and allows the person who conducts the presentation to focus the attention of the audience.
  • An advantage of this invention is the provision of high scalability of the obtained solution by the number of simultaneously serviced client terminal devices in the local wireless communication network (from several hundred to thousands or more clients served by one access point) while ensuring high reliability of data transmission (approaching 100%) and optimizing traffic consumption on the air interface of a wireless local area network.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

 Способ включает создание в сети группы мультикастового вещания для передачи данных от веб-сервера терминальным устройствам посредством локальной беспроводной сети, прием данных клиентскими терминальными устройствами и воспроизведение полученных данных на клиентских терминальных устройствах. При этом перед передачей данных от веб-сервера в локальную беспроводную сеть осуществляют предварительную подготовку данных для передачи, включающую идентификацию типа объектов данных, в общей полосе пропускания беспроводной коммуникационной сети формируют один или несколько логических каналов, представляющие собой часть общей полосы пропускания беспроводной сети для каждого типа объектов данных, и производят дополнительную подготовку объектов данных к передаче, включающую фрагментацию объектов данных на множество пакетов данных, маркировку каждого пакета данных заголовком, содержащим, по меньшей мере, информацию для передачи пакета данных. Передачу пакетов данных с заголовками в беспроводную сеть осуществляют в сформированных логических каналах в режиме циклической ретрансляции пакетов данных или дублирования пакетов данных и передачи их копий с задержкой во времени относительно оригиналов.

Description

ПЕРЕДАЧА ДАННЫХ ОТ ВЕБ-СЕРВЕРА ТЕРМИНАЛЬНЫМ УСТРОЙСТВАМ
ПОСРЕДСТВОМ БЕСПРОВОДНОЙ СЕТИ 1. Область техники
Данное изобретение относится к информационным и телекоммуникационным технологиям и может быть использовано для передачи данных от веб-сервера на клиентские терминальные устройства посредством беспроводной локальной коммуникационной сети. В качестве данных могут быть использованы веб-приложения, мета- данные, сопровождающие эти веб- приложения, команды управления веб-приложениями, а также мультимедийный контент (аудио и/или видео) как в виде записей фиксированной длины, так и в виде потоков в режиме реального времени. Изобретение может быть использовано при организации телепрезентаций на различного рода публичных мероприятиях, на которых предусмотрено выступление докладчиков перед аудиторией - конференциях, семинарах, форумах, симпозиумах и т.д.
2. Предшествующий уровень техники
В настоящее время проблема повышения эффективности передачи данных на большое количество клиентских устройств в беспроводных коммуникационных сетях становится весьма актуальной. В данной области постоянно ведутся работы по улучшению качества и эффективности передачи данных посредством мультикастинга, либо с применением технологий широковещательной передачи данных (бродкастинга).
Из уровня техники известен способ повышения качества мультикастовой передачи данных (US 2012/0140648 А1) путем введения во множество принимающих клиентских устройств так называемых станций мониторинга качества. Станции мониторинга при этом представляют собой специализированные клиентские устройства, оборудованные модулями беспроводной коммуникационной сети, а также специальным программным обеспечением. Задачей станций мониторинга качества является отслеживание качества приема передаваемых пакетов данных и фиксация фактов успешного приема пакетов, а также пакетов, принятых с ошибкой на различных участках зоны покрытия беспроводной сети. По мере фиксации результатов, станции мониторинга организуют обратную связь с сервером, осуществляющим мультикастовую передачу данных и отправляют ему подтверждения об успешно принятых пакетах данных, а также о пакетах, принятых с ошибкой. Если хотя бы одна из задействованных станций мониторинга качества отправляет отчет о том, что какой- то пакет данных был принят с ошибкой, этот пакет ретранслируется повторно.
Такие станции мониторинга качества размешают на границах зоны вещания, где сигнал наиболее слабый и прием наименее устойчивый, где существуют высокие вероятности ошибок при приеме данных. Таким образом, описанный механизм позволяет повысить надежность при передаче данных.
В патенте US 2011/01765096 А1 представлена беспроводная коммуникационная система, управляющая параметрами передачи объектов данных в зависимости от их важности и полезности для принимающих клиентов. Данная система идентифицирует приоритеты передаваемых объектов данных в соответствии со степенью их важности и в зависимости от назначенных приоритетов регулирует ряд параметров передачи, в том числе битовую скорость (на физическом уровне), с которой будет передаваться тот или иной объект данных, меняет последовательность передачи тех или иных объектов в зависимости от их приоритетов, а также задает количество попыток ретрансмиссии при неудачном приеме для каждого объекта данных в отдельности.
В данной системе, также как и в заявляемом изобретении, производится идентификация типа передаваемых данных. И к разным объектам данных применяются разные независимые друг от друга параметры их передачи, в частности - для разных объектов используются разные битовые скорости передачи и определяется требуемое количество ретрансляций. В отличие от данного изобретения, в заявляемом изобретении для разных типов данных применяют независимые управляемые логические каналы (на прикладном уровне), в которых регулируют параметры передачи, в частности битовые скорости и требуемое количество ретрансляций.
Кроме того, в изобретении по патенту US 2011/01765096 А1 имеется существенный недостаток, связанный с тем, что передача данных осуществляется путем организации юникастовых соединений принимающих клиентских устройств с сервером передачи данных (соединения вида один-к-одному), и применяется механизм обратной связи от клиентов к серверу с целью подтверждения успешно принятых пакетов данных, что очень сильно ограничивает масштабируемость данной системы по количеству одновременно обслуживаемых клиентских устройств. В настоящем изобретении, в отличие от рассмотренного патента США, этот недостаток преодолевается путем применения мультикастового вещания в беспроводной локальной коммуникационной сети совместно с циклической ретрансляцией данных, либо с передачей данных путем дублирования пакетов данных и передачи их копий с задержкой во времени относительно оригиналов без использования обратной связи от клиентов.
Наиболее близким к заявляемому является способ беспроводной передачи контента одновременно на большое количество клиентских устройств с использованием инфраструктуры Wi-Fi сетей, представленный в международной заявке WO 201 1/158164 А2. Способ включает подключение беспроводного передатчика контента, выполненного с возможностью передачи пакетов данных с использованием беспроводной Wi-Fi инфраструктуры, последовательную поставку набора пакетов данных беспроводному передатчику контента для беспроводной передачи, где упомянутый беспроводной передатчик контента осуществляет последовательную беспроводную передачу пакетов данных из упомянутого набора пакетов данных с помощью Wi-Fi инфраструктуры, при этом перед передачей каждого упомянутого пакета данных из набора данных, беспроводной передатчик контента добавляет заголовок к указанному пакету данных, при этом заголовок включает заданный идентификатор общего назначения, позволяющий множеству пользовательских устройств получить доступ к указанному пакету данных, тем самым осуществляя передачу каждого пакета данных из указанного набора с данным заголовком. Способ дополнительно описывает, по меньшей мере, один системный приемник, выполненный с возможностью беспроводного приема указанных пакетов данных, передаваемых посредством беспроводного передатчика контента, при этом во время передачи пакетов данных, по крайней мере, один системный приемник принимает хотя бы некоторые из указанных пакетов данных, при этом указанный системный приемник передает информацию о качестве приема принятых пакетов данных, где указанная передача информации, как предполагается, не отвечает модальности Wi-Fi. При этом при передаче данных не требуется для каждого клиентского устройства создавать отдельную сессию на уровне Wi-Fi.
Однако данное изобретение имеет ряд существенных отличий, ограничивающих эффективность его использования для передачи данных - в нем нет механизмов обеспечения надежной доставки данных на клиентские устройства в условиях отсутствия обратной связи от них. В то время как в настоящем изобретении такие механизмы являются важной и неотъемлемой частью.
3. Раскрытие изобретения
Задачей изобретения является создание технологии, позволяющей осуществлять высоконадежную передачу данных от веб-сервера одновременно на большое количество разнородных клиентских терминальных устройств посредством беспроводных локальных коммуникационных сетей с оптимизацией потребления коммуникационного ресурса (полосы пропускания) на воздушном интерфейсе этих сетей.
Технический результат заключается в обеспечении высокой маштабируемости полученного решения по количеству одновременно обслуживаемых клиентских терминальных устройств в локальной беспроводной коммуникационной сети (от нескольких сотен, до тысячи клиентов, обслуживаемых одной точкой доступа), при одновременном обеспечении высокой надежности передачи данных (приближающейся к 100%) и оптимизации потребления трафика на воздушном интерфейсе беспроводной локальной коммуникационной сети.
Эти технические свойства заявляемого изобретения позволяют в итоге обеспечить покрытие большого количества клиентских терминальных устройств при использовании минимального объема элементов сетевой инфраструктуры. Например, внедрение данного изобретения приведет к тому, что количество пользовательских устройств, одновременно обслуживаемых одной точкой доступа в развернутой беспроводной Wi-Fi сети, существенно увеличится (с нескольких десятков до, потенциально, нескольких сотен), и в результате потребуется меньшее количество таких точек доступа для обеспечения покрытия территории, на которой размещаются все пользовательские устройства. Все это приведет к суммарному удешевлению коммуникационной инфраструктуры, а также к упрощению и ускорению процедур ее развертывания.
Поставленная задача решается тем, что в способе передачи данных от веб- сервера клиентским терминальным устройствам посредством локальной беспроводной коммуникационной сети, включающем подключение веб-сервера и клиентских терминальных устройств в локальную беспроводную коммуникационную сеть с возможностью передачи данных в данной сети, создание в сети группы мультикастового вещания, подключение клиентских терминальных устройств к созданной группе мультикастового вещания, передачу данных от веб- сервера в локальную беспроводную коммуникационную сеть в режиме мультикастового вещания, прием данных клиентскими терминальными устройствами, входящими в группу мультикастового вещания, и воспроизведение полученных данных на клиентских терминальных устройствах,
согласно изобретению, перед передачей данных от веб-сервера в локальную беспроводную коммуникационную сеть осуществляют предварительную подготовку данных для передачи, включающую, по меньшей мере, идентификацию типа объектов данных, в общей полосе пропускания беспроводной коммуникационной сети формируют один или несколько логических каналов, представляющие собой часть общей полосы пропускания беспроводной коммуникационной сети для каждого типа объектов данных, и
производят дополнительную подготовку объектов данных к передаче, включающую фрагментацию объектов данных на множество пакетов данных, маркировку каждого пакета данных заголовком, содержащим, по меньшей мере, информацию для передачи пакета данных, а передачу пакетов данных с заголовками в беспроводную сеть осуществляют в сформированных логических каналах в режиме циклической ретрансляции пакетов данных или дублирования пакетов данных и передачи их с задержкой во времени относительно оригиналов, при этом прием пакетов данных клиентскими терминальными устройствами, осуществляют с последующими этапами обработки, включающими идентификацию логических каналов, в рамках которых реализован прием пакета данных, перераспределение принятых пакетов по логическим каналам с последующим контролем в каждом логическом канале целостности принятых пакетов данных, в случае нарушения целостности которых, осуществляют их повторный прием, восстановление исходных объектов данных из множества полученных пакетов для воспроизведения на клиентских терминальных устройствах.
В качестве передаваемых данных могут быть использованы контент веб- приложений, и/или набор символов, содержащих информацию о командах управления веб-приложениями на клиентских терминальных устройствах, и/или мета-данные передаваемых веб-приложений, и/или мультимедийный контент в виде аудио и/или видео записей фиксированной продолжительности и/или потока аудио и/или видео данных в режиме реального времени.
В процессе предварительной подготовки данных для передачи дополнительно маркируют объект данных соответствующим идентификатором типа объектов данных и уникальным идентификатором объекта.
При использовании в качестве данных контента веб-приложений и/или мета- данных при предварительной подготовке данных к транспортировке объекты данных дополнительно объединяют в архив, для архива вычисляют хэш-код, с последующим присоединением хэш-кода к архиву в качестве контрольной суммы, а при использовании в качестве данных мультимедийного контента фиксированной продолжительности при предварительной подготовке данных к транспортировке дополнительно вычисляют хэш-код с последующим присоединением хэш-кода к объекту данных в качестве контрольной суммы.
В процессе формирования логического канала ему присваивают уникальный идентификатор, например, «GUID - Globally Unique Ш», для каждого из каналов задают, по меньшей мере, пропускную битовую скорость. Кроме того, при формировании каждого логического канала в нем создают буфер циклической ретрансляции объектов данных для размещения пакетов данных с заголовками перед передачей в сеть, при этом пакеты в буфере размещают в порядке возрастания их порядковых номеров.
Заголовок пакета данных дополнительно содержит информацию для контроля целостности пакетов данных и восстановления из них объектов данных. Заголовок может включать идентификатор логического канала, и/или идентификатор объекта данных, частью которого является пакет данных, и/или хэш-код пакета данных в качестве контрольной суммы, и/или порядковый номер пакета во множестве пакетов данных, составляющих объект данных.
Согласно изобретению режим циклической ретрансляции целесообразно применять для передачи веб-приложений и/или набора символов, содержащих информацию о командах управления веб-приложениями, и/или мета данных, и/или мультимедийного контента фиксированной продолжительности, при этом режим циклической ретрансляции при передаче пакетов данных выполняют без задержки между окончанием предыдущего цикла передачи объекта данных и началом последующего цикла с количеством таких ретрансляций равным N, где ^ G k ^], где Т - количество ретрансляций до окончания мультикастового вещания от веб- сервера.
Режим дублирования пакетов данных и передачи их с задержкой во времени относительно оригиналов целесообразно использовать для передачи мультимедийного контента реального времени. При этом значение величины задержки передачи копии пакетов относительно их оригиналов выбирают не превышающим значение допустимого отклонения от предполагаемой периодичности следования пакета.
При передаче в сеть пакетов данных с символами, содержащими информацию о командах управления, осуществляют управление буфером циклических ретрансляций, при котором фиксируют размер буфера, и при его переполнении добавление новой команды осуществляют через удаление наиболее ранней, при этом новую команду размещают в конце списка команд, находящихся в буфере. При управлении буфером циклических ретрансляций дополнительно контролируют частоту поступления новых пакетов с набором символов, содержащих информацию о командах управления, и частоту их передачи в сеть, с обеспечением, по меньшей мере, однократной передачи пакета из буфера в сеть.
В процессе передачи пакетов данных в сформированных логических каналах осуществляют управление параметрами канала, по меньшей мере, битовой скоростью данного канала. Управление параметрами логического канала осуществляют посредством определения эффективной полосы пропускания беспроводной коммуникационной сети, и в зависимости от изменения данного параметра изменяют битовую скорость логических каналов.
В случае нарушения целостности принятых пакетов в режиме циклической ретрансляции их повторный прием осуществляют на следующем цикле ретрансляции. В случае нарушения целостности принятых пакетов в режиме дублирования пакетов данных и передачи их с задержкой во времени относительно оригиналов, восстановление данного пакета осуществляют посредством повторного приема его копии.
При восстановлении исходных объектов данных для каждого пакета, целостность которого подтверждена, анализируют идентификатор объекта данных, частью которого является принятый пакет, для каждого вновь обнаруженного объекта данных создают накопительный буфер, в который помещают все корректно принятые пакеты, ассоциированные с данным объектом, и при заполнении буфера набором пакетов данных, составляющих объект, осуществляют дефрагментацию объекта. При использовании в качестве данных контента веб-приложений и/или мета-данных и/или мультимедийного контента фиксированной продолжительности после дефрагментации объекта у собранного объекта с помощью контрольной суммы данного объекта проверяют его целостность и в случае обнаружения факта нарушения целостности объекта данных, накопительный буфер полностью очищают и повторяют процедуру приема пакетов данных, составляющих этот объект. Размещение в буфере корректно принятых пакетов осуществляют в последовательности, соответствующей их порядковому номеру во множестве пакетов данных, составляющих объект. Перед воспроизведением полученных данных, представляющих собой мета данные или веб-приложение, осуществляют их разархивирование.
Поставленная задача решается также тем, что в системе передачи данных от веб-сервера клиентским терминальным устройствам посредством локальной беспроводной коммуникационной сети, включающей инфраструктуру локальной беспроводной коммуникационной сети; веб сервер, выполненный с возможностью создания в сети группы мультикастового вещания и передачи данных от веб- сервера в локальную беспроводную коммуникационную сеть в режиме мультикастового вещания; и, по меньшей мере, одно клиентское терминальное устройство, выполненное с возможностью подключения к группе мультикастового вещания и приема данных из локальной беспроводной коммуникационной сети и воспроизведения полученных данных на клиентском терминальном устройстве, согласно изобретению, веб-сервер включает, один или несколько модулей предварительной подготовки данных для передачи в сеть, сформированных в зависимости от типа передаваемых данных, которые связаны с модулем формирования логических каналов и организации ретрансляции, выполненным с возможностью формирования одного или нескольких логических каналов для каждого типа объектов данных в общей полосе пропускания беспроводной коммуникационной сети, и дополнительной подготовки объектов данных к передаче, включающей фрагментацию объектов данных на множество пакетов данных, маркировку каждого пакета данных заголовком, содержащим, по меньшей мере, информацию для передачи пакета данных, а также организации режима циклической ретрансляции пакетов данных или дублирования пакетов данных и передачи их копий с задержкой во времени относительно оригиналов, а клиентское терминальное устройство включает сепаратор логических каналов, выполненный с возможностью идентификации логических каналов, в рамках которых реализован прием пакетов данных, и перераспределения принятых пакетов по логическим каналам, связанный с одним или несколькими модулями контроля целостности и восстановления данных, сформированных в зависимости от типа передаваемых данных, вьшолненными с возможностью контроля целостности принятых пакетов данных и повторного приема пакетов для восстановления целостности в случае ее нарушения, а также восстановления исходных объектов данных из множества полученных пакетов для воспроизведения на клиентском терминальном устройстве.
В качестве модулей предварительной подготовки данных система содержит модуль предварительной подготовки веб-приложений, и/или модуль предварительной подготовки команд управления, и/или модуль предварительной подготовки мета-данных, и/или модуль предварительной подготовки мультимедийного контента в виде аудио и/или видео записей фиксированной продолжительности, и/или потока аудио и/или видео данных в режиме реального времени.
Один или несколько модулей предварительной подготовки данных выполнены с возможностью дополнительной маркировки объекта данных соответствующим идентификатором типа объектов данных и уникальным идентификатором объекта.
При использовании в качестве данных контента веб-приложений и/или мета- данных соответствующие модули предварительной подготовки данных выполнены с возможностью объединения в архив объектов данных, вычисления хэш-кода для архива, с последующим присоединением хэш-кода к архиву в качестве контрольной суммы.
Веб-сервер дополнительно включает модуль хранения веб-приложений и/или модуль хранения мета-данных, и/или модуль хранения мультимедийного контента, и/или источник мультимедийного контента реального времени, и связанный с ними передающий серверный модуль, при этом передающий серверный модуль выполнен с возможностью диспетчеризации данных между упомянутыми модулями хранения соответствующих типов данных и соответствующими модулями предварительной подготовки данных для передачи. Передающий серверный модуль выполнен с возможностью идентификации типа объектов данных в процессе предварительной подготовки данных к передаче, формирования команд управления веб-приложениями и передачи сформированных команд в модуль предварительной подготовки команд управления. Источник мультимедийного контента реального времени представляет собой модуль, выполненный с возможностью захвата видео и/или аудио потока с одной или нескольких видеокамер, и/или с одного или нескольких микрофонов, соответственно, кодирования захваченного видео и/или аудио потока, представления мультимедийного контента и обеспечения доступа к кодированному потоку по запросу передающего серверного модуля. При этом модуль предварительной подготовки мультимедийного контента связан с модулем хранения мультимедийного контента и/или с источником мультимедийного контента реального времени через передающий серверный модуль. При использовании в качестве данных мультимедийного контента фиксированной продолжительности, модуль предварительной подготовки мультимедийного контента выполнен с возможностью дополнительного вычисления хэш-кода, с последующим присоединением хэш-кода к объекту данных в качестве контрольной суммы.
Модуль формирования логических каналов и организации ретрансляции выполнен с возможностью присвоения уникального идентификатора логического канала в процессе его формирования, а также с возможностью формирования заголовка пакета данных, содержащего дополнительно информацию для контроля целостности пакета данных и восстановления объекта данных.
Модуль формирования логических каналов и организации ретрансляции для каждого логического канала содержит буфер циклической ретрансляции объектов данных, который выполнен с возможностью размещения пакетов данных с заголовками, составляющих объекты данных, перед передачей в сеть, в порядке возрастания их порядковых номеров. Кроме того, буфер циклических ретрансляций выполнен с возможностью фиксации размера буфера при передаче в сеть пакетов данных с символами, содержащими информацию о командах управления, и управления логикой работы буфера, при которой в случае его переполнения новую команду добавляют через удаление наиболее ранней, при этом новую команду размещают в конце списка команд, находящихся в буфере. Буфер циклических ретрансляций выполнен также с возможностью контроля частоты поступления новых пакетов с набором символов, содержащих информацию о командах управления и контроля частоты их передачи в сеть с обеспечением, по меньшей мере, однократной передачи пакета из буфера в сеть.
Модуль формирования логических каналов и организации ретрансляции выполнен с возможностью независимого управления параметрами работы логических каналов в процессе передачи пакетов данных, при этом управление осуществляют, по меньшей мере, битовой скоростью логического канала. Управление параметрами логического канала осуществляют посредством определения эффективной полосы пропускания беспроводной коммуникационной сети, и в зависимости от изменения данного параметра изменят битовую скорость логических каналов. При этом данный модуль может обеспечивать режим циклической ретрансляции при передаче пакетов данных без задержки между окончанием предыдущего цикла передачи объекта данных и началом последующего цикла с количеством таких ретрансляций равным N, где где Т - количество ретрансляций до окончания мультикастового вещания от веб- сервера. Кроме того, модуль формирования логических каналов и организации ретрансляции может быть выполнен с возможностью выбора величины задержки передачи копии пакетов данных относительно их оригиналов таким образом, чтобы она не превышала значение допустимого отклонения от предполагаемой периодичности следования пакетов.
Для создания в сети группы мультикастового вещания и передачи пакетов данных в беспроводную сеть веб-сервер может содержать модуль управления мультикастингом и передающий беспроводной коммуникационный модуль, при этом модуль управления мультикастингом связан, с одной стороны, с модулем формирования логических каналов и организации ретрансляции, с другой - с передающим беспроводным коммуникационным модулем. Модуль управления мультикастингом выполнен с возможностью организации группы мультикастового вещания в беспроводной коммуникационной сети с заданным IP-адресом для мультикастового вещания и последующей передачей пакетов на данный IP-адрес, полученных от модуля формирования логических каналов и организации ретрансляции пакетов данных. Передающий беспроводной коммуникационный модуль выполнен с возможностью передачи данных в беспроводной локальной коммуникационной сети для обеспечения непосредственного взаимодействия веб- сервера со всеми клиентскими терминальными устройствами.
Для подключения к группе мультикастового вещания и приема данных из локальной беспроводной коммуникационной сети клиентское терминальное устройство содержит принимающий беспроводной коммуникационный модуль, связанный с сепаратором логических каналов.
В качестве модулей контроля целостности и восстановления данных система содержит модуль контроля целостности и восстановления веб-приложений, и/или модуль контроля целостности и восстановления команд управления, и/или модуль контроля целостности и восстановления мета-данных, и/или модуль контроля корректности мультимедийного контента в виде аудио и/или видео записей фиксированной продолжительности, и/или потока аудио и/или видео данных в режиме реального времени. Модули контроля целостности и восстановления данных, переданных в режиме циклической ретрансляции, выполнены с возможностью повторного приема пакетов на следующем цикле ретрансляции. Модуль контроля корректности мультимедийного контента, переданного в режиме дублирования пакетов данных и передачи их с задержкой во времени относительно оригиналов, выполнен с возможностью повторного приема копии данного пакета. Кроме того, модули контроля целостности и восстановления данных могут содержать накопительные буферы для каждого принимаемого объекта данных и выполнены с возможностью размещения корректно принятых пакетов данных в накопительных буферах в последовательности, соответствующей их порядковому номеру во множестве пакетов данных, составляющих объект.
Для восстановления исходных объектов данных из множества полученных пакетов модули контроля целостности и восстановления данных выполнены с возможностью дефрагментации объекта данных при заполнении буфера полным набором корректно принятых пакетов данных, составляющих объект, а также проверки целостности собранного объекта данных с помощью его контрольной суммы, и при обнаружении факта нарушения целостности объекта данных, удаление всех пакетов данных из накопительного буфера и повтора процедуры приема пакетов данных, составляющих этот объект.
Клиентское терминальное устройство может дополнительно содержать внутренний веб-сервер, выполненный с возможностью представления веб- приложений пользователю, который связан с одним или несколькими модулями контроля целостности и восстановления данных.
Кроме того, модули контроля целостности и восстановления веб- приложений и мета-данных выполнены с возможностью разархивирования полученных данных перед их отправкой на внутренний веб-сервер.
4. Краткое описание чертежей
Изобретение иллюстрируется чертежами, где на фиг. 1 - представлена внутренняя структура веб-сервера и клиентского терминального устройства в системе передачи данных в соответствии с заявляемым изобретением. На фиг. 2 представлена блок-диаграмма, поясняющая основные этапы передачи данных веб- сервером в соответствии со способом в рамках заявляемого изобретения. На фиг. 3 представлена блок-диаграмма, поясняющая этап предварительной подготовки данных к передаче в соответствии со способом в рамках заявляемого изобретения. На фиг. 4 представлена блок-диаграмма, поясняющая этап дополнительной подготовки данных к передаче в соответствии со способом в рамках заявляемого изобретения. На фиг. 5 представлена блок-диаграмма, поясняющая основные этапы приема данных клиентским терминальным устройством в соответствии со способом в рамках заявляемого изобретения.
5. Лучший вариант осуществления изобретения
В настоящем изобретении представлен способ доставки данных (в частности, динамических веб-приложений) от веб-сервера на большое количество клиентских терминальных устройств, объединенных посредством локальной беспроводной коммуникационной сети. А также представлена система, реализующая данный способ.
Отличительной особенностью настоящего изобретения является то, что с целью повышения масштабируемости системы передачи данных (например, веб- приложений), т.е. увеличения количества клиентских терминальных устройств, работающих одновременно с передаваемым в заданный момент времени веб- приложением, веб-сервер, предоставляющий заданное веб-приложение, а также все клиентские терминальные устройства, использующие данное приложение, подключают в общую локальную беспроводную коммуникационную сеть, а передачу веб-приложений от веб-сервера ко всем клиентским терминальных устройствам осуществляют посредством мультикастового вещания контента веб- приложений в данной коммуникационной сети с периодическим циклическим его повторением.
В другом варианте изобретения, веб-сервер подключают к точке доступа (маршрутизатору) локальной беспроводной коммуникационной сети с помощью проводного соединения, а все клиентские терминальные устройства подключают в беспроводную сеть аналогично предыдущему варианту. При этом в беспроводной локальной коммуникационной сети вводят режим мультикастового вещания аналогично предыдущему варианту изобретения.
Таким образом, введение режима мультикастового вещания контента веб- приложений в сочетании с циклическим его повторением в течение длительного времени позволяет обеспечить высоконадежную доставку веб-приложений на все клиентские терминальные устройства без необходимости получения обратной связи от этих устройств в виде подтверждений о доставке или иных сообщений. Отсутствие трафика обратной связи от клиентских терминальных устройств, в свою очередь, обеспечивает большую независимость данного решения от количества клиентских терминальных устройств, подключаемых одновременно к заданной беспроводной коммуникационной сети, а, следовательно, разделяющих между собой радиоресурс на воздушном интерфейсе локальной беспроводной коммуникационной сети, что и является ключом к высокой масштабируемости решения в соответствии с данным изобретением.
В соответствии с данным изобретением, наряду с циклической мультикастовой передачей всего контента веб-приложений, веб-сервер выполнен с возможностью трансляции на все подключенные клиентские терминальные устройства посредством мультикастового вещания других видов данных, среди которых можно выделить следующие.
• Наборы символов, содержащих информацию о командах управления отображением веб-приложений (здесь и далее для простоты изложения используется термин «команды управления»). Эти команды, в частности, могут регламентировать на стороне клиентских терминальных устройств временной порядок, логику и способ отображения отдельных элементов передаваемых веб- приложений. В потоке передаваемых команд управления при этом выделяется так называемое окно ретрансляции, представляющее собой некое подмножество команд управления из потока. Все команды управления, попадающие в данный момент в границы выделенного окна ретрансляции, циклически повторяются с целью обеспечения их высоконадежной доставки клиентским терминальным устройствам без необходимости получения обратной связи от этих устройств. При поступлении в поток новой команды управления, она сразу же попадает в границы окна ретрансляции и вместе с остальными командами циклически ретранслируется посредством мультикастинга в локальной беспроводной коммуникационной сети, при этом самая «старая» по времени поступления команда, находящаяся в этот момент в границах окна ретрансляции, удаляется из него и более никогда не транслируется. В результате получается эффект «скольжения» окна ретрансляции вдоль потока команд управления по мере поступления в этот поток все новых и новых команд. При этом, в одном из вариантов данного изобретения, частота поступления новых команд управления в поток, размер окна ретрансляции (т.е. количество команд управления, находящихся одновременно в границах заданного окна ретрансляции) и периодичность повторения всего окна ретрансляции в локальную беспроводную коммуникационную сеть согласуют между собой таким образом, чтобы каждая вновь поступившая в поток команда была повторена (ретранслирована посредством мультикастинга в эфир) не менее К раз до момента, когда она будет замещена другими, более новыми командами управления и выйдет за границы окна ретрансляции (иначе говоря, до момента, когда данная команда управления более не будет ретранслироваться). Здесь К является одним из регулируемых параметров в рамках данного способа и значение К должно быть обязательно не менее 1. Как будет описано ниже, в системе, согласно данному изобретению, окно ретрансляции реализуется в виде так называемого буфера циклической ретрансляции фиксированного размера. При этом размер окна ретрансляции совпадает с размером буфера ретрансляции.
• Мета-данные, ассоциированные с передаваемыми веб-приложениями, представляют собой еще один вид данных, передаваемых посредством циклической ретрансляции в рамках способа в соответствии с данным изобретением. Описываемые мета-данные могут представлять собой некую служебную информацию, сопровождающую передаваемые веб-приложения, но не являющуюся при этом частью контента этих веб-приложений. Примером таких мета-данных может быть информация о пользователях терминальных клиентских устройств, а также о правилах доступа этих пользователей к контенту передаваемых веб- приложений и т.д.
Мета-данные передают от веб-сервера клиентским терминальным устройствам посредством мультикастового вещания в локальной беспроводной коммуникационной сети. И при этом (аналогично предыдущим случаям) применяют циклическую ретрансляцию мета-данных с целью обеспечения высоконадежной доставки на все заинтересованные клиентские терминальные устройства без необходимости получения обратной связи от них.
• Еще одним видом данных, передаваемых от веб-сервера ко множественным клиентским терминальным устройствам, является мультимедийный контент. Мультимедийный контент в рамках данного изобретения условно делится на два больших класса: мультимедийный контент фиксированной продолжительности (здесь и далее также назьшается мультимедийный контент по запросу) - представляет собой некий массив аудио и/или видео данных, например, заранее записанный видеоролик со звуковым сопровождением и т.д., второй категорией является мультимедийный контент реального времени - аудио/видео, «захваченное» с видеокамер, микрофонов, либо потоки вещания телевидения и радио. В соответствии со способом в рамках данного изобретения, мультимедийный контент (перечисленных двух видов) передают также посредством мультикастового вещания в беспроводной локальной коммуникационной сети. Для обеспечения высоконадежной доставки мультимедийного контента по запросу в одном из вариантов изобретения применяют метод циклической ретрансляции.
При передаче мультимедийного контента реального времени в одном из вариантов изобретения для повышения надежности передачи применяют так называемый метод трансляции «в нахлест». Суть данного метода заключается в том, что каждый пакет данных в передаваемом потоке мультимедийного контента дублируют и его копию передают в беспроводную локальную коммуникационную сеть с некоторой задержкой во времени относительно оригинала. Таким образом, получается, что вслед за основным потоком данных в беспроводную локальную коммуникационную сеть передается еще один поток - его копия, идущая с задержкой во времени относительно оригинального потока. В случае, когда на каком-либо из клиентских терминальных устройств будет обнаружен некорректный прием очередного пакета данных из основного потока вещания мультимедийного контента (ошибки приема могут возникнуть, например, вследствие помех в радиоканале на воздушном интерфейсе беспроводной локальной коммуникационной сети, либо по каким-то иным причинам), этот некорректный пакет восстанавливают за счет его повторного приема из дублирующего потока вещания, идущего следом с небольшим отставанием от основного потока. При этом для корректной работы системы приема и отображения мультимедийного контента реального времени накладывают определенные ограничения на величину задержки дублирующего потока относительно основного. В частности, данная величина задержки не должна превышать значения приемлемого джиттера (tolerated jitter), являющегося одним из важных параметров требуемого качества обслуживания в беспроводной локальной коммуникационной сети (QoS) для данного типа мультимедийного контента. Термином «приемлемый джиттер» обозначается величина допустимого отклонения от предполагаемой периодичности следования пакетов. Приблизительные значения данного параметра для различных видов мультимедийного контента имеют следующий вид: для потоковой передачи видео в сети Интернет «приемлемый джиттер» - приблизительно 200 мс, для контента телевидения высокой четкости (HDTV) «приемлемый джиттер» составляет приблизительно 200 мс, для видео, кодированного в формат Н.264 «приемлемый джиттер» - приблизительно 20 мс, для видео без сжатия «приемлемый джиттер»— приблизительно Ю ме.
Структурная схема системы, реализующей способ в соответствии с данным изобретением, представлена на Фиг.1.
Как видно из Фиг. 1, система доставки веб-приложений состоит из веб- сервера (модуль 01), подключенного к беспроводной локальной коммуникационной сети (модуль 02), одного или нескольких клиентских терминальных устройств (модули 03), также подключенных к данной сети. При этом веб-сервер посредством мультикастового вещания транслирует (передает) контент веб-приложений, мультимедийный контент, а также все необходимые сопутствующие мета-данные через беспроводную локальную коммуникационную сеть на множество клиентских терминальных устройств.
Передающий веб-сервер (модуль 01) состоит из модулей хранения данных, в числе которых: модуль хранения веб-приложений (модуль 04), модуль хранения мета-данных (модуль 05), модуль хранения мультимедийного контента по запросу (фиксированной продолжительности) (модуль 06), а также один или несколько источников мультимедийного контента реального времени (модуль 07). Также в состав веб-сервера входят: передающий серверный модуль (модуль 08), модули предварительной подготовки разных видов передаваемого контента к транспортировке (передаче), среди которых выделяются: модуль предварительной подготовки веб-приложений (модуль 09), модуль предварительной подготовки команд управления (модуль 10), модуль предварительной подготовки мета- данных (модуль 11) и модуль подготовки мультимедийного контента (модуль 12). Наряду с этим в состав веб-сервера входят модуль формирования логических каналов и организации ретрансляции (модуль 13), модуль управления мультикастингом (модуль 14), а также передающий беспроводной коммуникационный модуль (модуль 15).
Модуль хранения веб-приложений представляет собой модуль, отвечающий за хранение контента веб-приложений на веб-сервере и обеспечение доступа к ним. Контент веб-приложения в общем случае может представлять собой набор взаимосвязанных объектов данных, таких как веб-страницы в формате HTML, модули клиентского программного кода на языке Java Script, стилевые шаблоны для веб-страниц в формате CSS, объекты данных, представленные в формате одного из языков описания структурированных данных, таких как XML, JSON и др., растровые изображения (рисунки, фотографии и др.), встраиваемые в веб- страницы в процессе их отображения на клиентских терминальных устройствах. Данные изображения могут быть представлены в любом из форматов представления растровой графики BMP, JPEG, PNG и т.д. Также это могут быть GIF-анимации. Объекты векторной графики, представленные, например, в формате SVG, также могут входить в состав контента веб-приложений.
В рамках данного изобретения в модуле хранения веб-приложений применяют любой из известных методов хранения данных и обеспечения доступа к ним, например, все объекты данных веб-приложений могут храниться в виде отдельных файлов в файловой системе веб-сервера, а доступ к ним может осуществляться стандартными средствами доступа к файлам, предусмотренными операционной средой веб-сервера. Также для хранения данных веб-приложений используют известные системы управления базами данных (СУБД), такие как MySQL, например и др.
Модуль хранения веб-приложений (модуль 04) предоставляет полный контент веб-приложений, т.е. все имеющиеся объекты данных, ассоциированные с заданным веб-приложением, передающему серверному модулю по его запросу, для дальнейшей отправки (передачи) их клиентским терминальным устройствам.
Модуль хранения мета-данных (модуль 05) представляет собой модуль, отвечающий за хранение всех мета-данных, ассоциированных с передаваемыми в беспроводную локальную коммуникационную сеть веб-приложениями, а также за обеспечение доступа к этим данным. Примером таких мета- данных может быть информация о пользователях терминальных клиентских устройств, на которые проводится в данный момент трансляция веб-приложений, также это может быть информация о правилах доступа всех пользователей к контенту передаваемых веб- приложений и т.д.
Упомянутые мета- данные могут быть представлены в любом из известных форматов описания структурированных данных, например в *XML, JSON, либо даже в виде текстовых строк, содержащих пары атрибут-значение, разделенных запятыми (т.н. CSV - Comma-Separated Values) и т.д.
В рамках данного изобретения в модуле хранения мета-данных (аналогично модулю 04) применяют любой из известных методов хранения данных и обеспечения доступа к ним, например, все объекты мета-данных могут храниться в виде отдельных файлов в файловой системе веб-сервера, а доступ к ним может осуществляться стандартными средствами доступа к файлам, предусмотренными операционной средой веб-сервера. Также для хранения мета-данных используют известные системы управления базами данных (СУБД), такие как MySQL, например и др.
Модуль хранения мета-данных предоставляет все мета-данные, ассоциированные с передаваемыми веб-приложениями передающему серверному модулю (модуль 08) по его запросу для дальнейшей отправки их клиентским терминальным устройствам.
Модуль хранения мультимедийного контента (модуль 06) представляет собой модуль, отвечающий за хранение всех мультимедийных объектов (аудио и видео записей) и обеспечение доступа к ним по запросу от передающего серверного модуля. При этом сами мультимедийные объекты могут быть представлены в любом из известных форматов представления мультимедийного контента, например аудиозаписи могут быть представлены в форматах МРЗ, WAV и т.д., видеозаписи могут быть кодированы, например, с помощью кодеков MPEG-4 Visual, Н.264, VP8 и др. при аудио сопровождении кодированном в ААС, МРЗ, Vorbis и других форматах.
В рамках данного изобретения в модуле хранения мультимедийного контента (аналогично предыдущим модулям) применяют любой из известных методов хранения данных и обеспечения доступа к ним, например, все аудио и видеозаписи могут храниться в виде отдельных файлов в файловой системе веб- сервера, а доступ к ним может осуществляться стандартными средствами доступа к файлам, предусмотренными операционной средой веб-сервера. Также для хранения используют известные системы управления базами данных (СУБД), такие как MySQL, например и др.
Модуль 07 представляет собой источник мультимедийного контента реального времени. В качестве такого источника может выступать программный (либо аппаратно-программный) модуль, осуществляющий захват видео или аудио с одной или нескольких видеокамер и/или с одного или нескольких микрофонов соответственно. Данный модуль осуществляет кодирование захваченного видео и/или аудиопотока в один из известных форматов представления мультимедийного контента и обеспечивает доступ к этому кодированному потоку по запросу передающего серверного модуля (модуль 08). Мультимедийный поток реального времени в данном изобретении может быть представлен например в формате Н.264 для видеоряда, ААС для звукового сопровождения, мультиплексированных и упакованных, например, в потоковом контейнере TS. Возможны и любые другие варианты использования известных форматов представления мультимедийного контента реального времени.
Передающий серверный модуль (модуль 08) представляет собой программный модуль, основной задачей которого является координация транспортировки всех видов данных на веб-сервере для дальнейшей трансляции (передачи) их на множество клиентских терминальных устройств, а также генерация команд управления отображением веб-приложений на стороне клиентских терминальных устройств.
Передающий серверный модуль инициирует передачу веб-приложений, мета-данных, ассоциированных с ними, а также обоих видов мультимедийного контента (т.е. заранее созданного мультимедийного контента (по запросу), хранящегося на веб-сервере, а также контента реального времени). При этом модуль 08 осуществляет диспетчеризацию данных между источниками этих данных (модули 04-07) и соответствующими модулями предварительной подготовки данных к передаче (модули 09-12), запрашивая требуемые объекты данных у соответствующих модулей хранения и передавая их в модули 09-12 для предварительной подготовки к дальнейшей передачи на все клиентские терминальные устройства в беспроводной локальной коммуникационной сети.
Модуль предварительной подготовки веб-приложений (модуль 09), представляет собой программный модуль, основной задачей которого является преобразование данных контента передаваемых веб-приложений в формат, оптимальный для дальнейшей их трансляции в беспроводной локальной коммуникационной сети.
Модуль 09 функционирует следующим образом - на вход данного модуля из хранилища веб-приложений (модуль 04) при посредничестве передающего серверного модуля (модуль 08) поступает некий набор объектов данных, представляющий собой весь контент текущего передаваемого веб-приложения веб- страницы в HTML, модули клиентского программного кода на клиентском скриптовом языке Java Script, шаблоны стилевого оформления веб-страниц в формате CSS, растровые и векторные изображения и прочее.
Все полученные объекты данных упаковывают в единый архив, представленный, например, в ZIP, RAR, 7z или иных форматах с применением сжатия, а также, опционально, в этот архив может быть добавлена избыточная информация для его последующего восстановления в случае частичного повреждения при передаче. При этом для упаковки, сжатия и добавления информации для восстановления архива применяются известные ранее механизмы, предоставляемые например существующими и доступными программными инструментами для работы с архивами.
После того, как будет получен архив, содержащий все объекты данных, составляющих веб-приложение, модулем предварительной подготовки веб- генерируется дополнительная служебная информация, используемая в дальнейшем для управления процессом передачи данного архива. Эта служебная информация, например, позволяет идентифицировать и классифицировать передаваемый объект данных в модуле формирования логических каналов и организации ретрансляции (модуль 13) для применения к нему соответствующего механизма надежной доставки на клиентские терминальные устройства.
Наряду с генерацией необходимой служебной информации, архив веб- приложения, подвергается операции хэширования. То есть, на основе побитового представления этого архива как объекта данных вычисляется специальный так называемый хэш-код, который необходим в дальнейшем в качестве так называемой контрольной суммы на стороне принимающих клиентских терминальных модулей для контроля целостности полученного веб-приложения. Операция хэширования является известной процедурой и для ее осуществления в рамках данного изобретения может быть использован любой из известных и доступных программных модулей, осуществляющих такие операции.
Далее сформированный архив веб-приложения вместе с присоединенной к нему служебной информацией и хэш-кодом (контрольной суммой) передается на выход данного модуля и от него поступает в модуль формирования логических каналов и организации ретрансляции (модуль 13).
Модуль предварительной подготовки команд управления (модуль 10) представляет собой программный модуль, основной задачей которого является преобразование команд управления отображением веб-приложений, получаемых от передающего серверного модуля (модуль 08) в формат, оптимальный для дальнейшей их транспортировки посредством беспроводной локальной коммуникационной сети.
На вход данного модуля от передающего серверного модуля поступает поток управляющих команд, адресованных клиентским терминальным устройствам. Эти команды, в частности, могут регламентировать временной порядок, логику и способ отображения отдельных элементов передаваемых веб- приложений. В качестве формата представления команд управления может быть использован любой из известных форматов представления объектов структурированных данных, например XML, JSON, CSV и другие.
Модуль предварительной подготовки команд управления при этом генерирует дополнительную служебную информацию, необходимую в дальнейшем для управления процессом транспортировки команд (в модуле 13), аналогично тому, как было описано выше для архива веб-приложений.
Наряду с генерацией служебной информации, данный модуль подвергает команду управления операции хэширования, в результате которой вычисляется хэш-код объекта данных, представляющего собой эту команду. Затем полученный хэш-код в качестве контрольной суммы добавляется к сообщению. И, наконец, команда управления уже вместе с необходимой служебной информацией и контрольной суммой передается на выход данного модуля и с него поступает в модуль формирования логических каналов и организации ретрансляции (модуль 13).
Модуль предварительной подготовки мета- данных (модуль 1 1) представляет собой программный модуль, основной задачей которого является преобразование всех объектов мета- данных, ассоциированных с передаваемыми веб-приложениями в формат, оптимальный для транспортировки всем клиентским терминальным устройствам посредством беспроводной локальной коммуникационной сети.
Рассматриваемые мета-данные, представляют собой некую служебную информацию, сопровождающую передаваемые веб-приложения, но не являющуюся при этом частью контента этих веб-приложений. Примером таких мета- данных может быть информация о пользователях терминальных клиентских устройств, а также о правилах доступа этих пользователей к контенту передаваемых веб- приложений и т.д. Физически эти мета-данные представляют собой некое множество объектов данных, сериализованных в любой из известных форматов представления структурированных данных, например, XML, JSON, CSV и др.
Модуль предварительной подготовки мета-данных к транспортировке функционирует следующим образом - на вход данного модуля из модуля хранения мета-данных (модуль 05) при посредничестве передающего серверного модуля (модуль 08) поступает некий набор объектов мета-данных, описанных выше. Все полученные объекты данных упаковывают в единый архив, представленный, например, в ZIP, RAR, 7z или иных форматах с применением сжатия, а также, опционально, в этот архив может быть добавлена избыточная информация для его последующего восстановления в случае частичного повреждения при передаче. При этом для упаковки, сжатия и добавления информации для восстановления архива применяют известные ранее механизмы, предоставляемые, например, существующими и доступными программными инструментами для работы с архивами.
После того как архив мета- данных будет сформирован, описываемый модуль генерирует дополнительную служебную информацию, необходимую в дальнейшем для управления процессом транспортировки архива мета- данных (в модуле 13), аналогично тому, как было описано выше для архива веб-приложений и команд управления.
Наряду с генерацией служебной информации, данный модуль подвергает архив мета- данных операции хэширования, в результате которой вычисляется хэш- код архива мета- данных. Затем полученный хэш-код в качестве контрольной суммы добавляют к архиву для контроля его целостности при приеме на клиентских терминальных устройствах.
И, наконец, полученный архив мета-данных, вместе с необходимой служебной информацией и контрольной суммой передают на выход данного модуля, откуда передается в модуль 13.
Модуль предварительной подготовки мультимедийного контента (модуль 12) представляет собой программный модуль, принимающий на вход поток мультимедийного контента двух видов: созданные заранее видео и аудио ролики, получаемые из модуля хранения мультимедийного контента (модуль 06) при посредничестве модуля 08, а также видео и аудио потоки реального времени, получаемые от источников мультимедийного контента реального времени (модуль 07) при посредничестве модуля 08.
Данный модуль 12 маркирует каждый получаемый мультимедийный поток дополнительной служебной информацией, необходимой в дальнейшем для его идентификации, классификации и управления процессом его транспортировки. И затем передает все мультимедийные потоки вместе с указанной служебной информацией в модуль 13.
Модуль формирования логических каналов и организации ретрансляции (модуль 13) представляет собой программный модуль, основной задачей которого является обеспечение механизмов высоконадежной доставки веб-приложений и других типов данных на большое количество клиентских терминальных устройств посредством беспроводной локальной коммуникационной сети.
Как уже упоминалось выше, суть механизмов обеспечения высоконадежной доставки, в соответствии с настоящим изобретением, заключается в периодической ретрансляции передаваемых объектов данных посредством мультикастового вещания в беспроводной локальной коммуникационной сети в течение длительного времени, что позволяет исключить необходимость получения обратной связи от всех принимающих клиентских терминальных устройств, обеспечивая при этом высокую надежность доставки контента. При этом в общем коммуникационном ресурсе (суммарной полосе пропускания) беспроводной коммуникационной сети формируются так называемые управляемые логические каналы передачи объектов данных. В общем случае, несколько таких управляемых логических каналов может быть сформировано и будет существовать одновременно, разделяя при этом общий коммуникационный ресурс беспроводной сети. Сущность понятия управляемых логических каналов и принципы их формирования будут рассмотрены ниже.
Принцип работы данного модуля заключается в следующем: на вход данного модуля от модулей предварительной подготовки данных (модули 09-12) поступает (в общем случае, одновременно) несколько видов данных (типов объектов данных), среди которых можно выделить:
• веб-приложения, упакованные в архивы,
· управляющие команды, для координации порядка и способа отображения веб-приложений на клиентских терминальных устройствах,
• мета-данные, ассоциированные с передаваемыми веб-приложениями, также упакованные в архив, • мультимедийный контент по запросу, представляющий собой записанные аудио и видеоролики,
• мультимедийный контент реального времени,
• возможны также какие-либо иные виды объектов данных. Все объекты данных, поступающие на вход рассматриваемого модуля маркированы специальной служебной информацией (на этапе их предварительной подготовки к передаче в модулях 09-12), позволяющей идентифицировать к какому конкретно из приведенных выше типов данных относится тот или иной объект.
Для каждого типа объектов данных в модуле 13 формируется свой отдельный управляемый логический канал, позволяющий осуществлять высоконадежную передачу всех объектов данных этого типа независимо от объектов всех других типов и управлять этим процессом передачи также независимо от других типов данных, выбирая при этом наиболее подходящие алгоритмы (режимы) обеспечения надежности, а также независимо управлять параметрами работы данного канала (в частности, битовой скоростью передачи данных в логическом канале), влияя тем самым на ряд характеристик, в частности, на итоговое время получения корректного целостного объекта данных клиентскими терминальными устройствами в условиях нестабильной работы радиоканала на воздушном интерфейсе беспроводной коммуникационной сети и высокой вероятности ошибок.
Значения битовой скорости передачи данных в логических каналах определяются рядом факторов, в частности величиной доступного суммарного коммуникационного ресурса беспроводной сети, а также размерами объектов данных. Величины этих значений, например, при использовании беспроводных коммуникационных сетей на основе технологии Wi-Fi стандарта IEEE 802.1 lg составляют порядка 1-10 Мбит/с.
Процесс формирования управляемых логических каналов и передачи объектов данных осуществляют следующим образом: при поступлении очередного объекта данных на вход рассматриваемого модуля, на основе служебной информации, сопровождающей объект, идентифицируют тип данных этого объекта и если для этого типа логический канал ранее не был еще сформирован, то его создают. При этом генерируют уникальный идентификатор управляемого логического канала. В качестве такого идентификатора в одном из вариантов изобретения может выступать, например, общеизвестный и повсеместно используемый в программном обеспечении глобальный уникальный идентификатор (GUID - Globally Unique ID). Наряду с присвоением уникального идентификатора, также создают так называемый буфер циклической ретрансляции объектов данных в логическом канале. В этом буфере будут временно храниться все объекты (фрагментированные в виде множества пакетов данных), передаваемые в рамках заданного логического канала. В одном из вариантов изобретения размер буфера циклической ретрансляции динамически изменяется в зависимости от суммарного количества пакетов данных, которым требуется обеспечить циклическую ретрансляцию.
Наряду с формированием буфера, выбирают режим работы механизмовобеспечения надежной передачи (либо используют режим передачи данных с циклической ретрансляцией, либо режим передачи «в нахлест», суть которых была описана выше) и конфигурируют все основные параметры управляемого логического канала (в частности, значение битовой скорости передачи данных в логическом канале) в зависимости от типа объектов данных, передаваемых в логическом канале, а также, в зависимости от текущей ситуации в среде беспроводной локальной коммуникационной сети (например, в зависимости от общей загруженности сети, от уровня помех в радиоканале и т.д.).
После того как будет завершено формирование инфраструктуры создаваемого управляемого логического канала, поступивший объект данных подвергают дополнительной подготовке к передаче в рамках этого канала. Для этого данный объект рассматривают просто как массив бинарных данных (набор байтов, которые требуется передать в канал) и фрагментируют, то есть, разбивают на некоторое множество одинаковых частей, фрагментов или пакетов данных (хотя в общем случае, эти фрагменты могут быть и разными по размеру).
При этом, к каждому пакету данных добавляют заголовок, состоящий из некоторого множества атрибутов данных. Одним из таких атрибутов является порядковый номер в общем множестве пакетов, составляющих объект данных. В одном из вариантов настоящего изобретения в качестве такого атрибута может выступать значение смещения битовой позиции данного фрагмента (пакета) относительно начала тела объекта данных. Этот атрибут в дальнейшем будет использоваться для дефрагментации, то есть, восстановления цельных объектов данных из множества фрагментов на приемной стороне.
Также в состав заголовка пакета добавляют численное значение, соответствующее общему количеству пакетов данных составляющих рассматриваемый объект данных.
Каждый пакет данных подвергают операции хэширования, в результате которой генерируют хэш-код данного фрагмента, который будет использоваться в качестве контрольной суммы для проверки целостности и корректности этого фрагмента при его приеме на клиентских терминальных устройствах.
После того как хэш-код для пакета будет сгенерирован, его добавляют в заголовок пакета данных. Кроме того, в заголовок еще добавляют уникальный идентификатор логического канала. После того как заголовок пакета данных будет сформирован, его присоединяют к этому пакету (то есть, пакет маркируют этим заголовком). Затем пакет данных добавляют в буфер циклической ретрансляции. Аналогичным образом обрабатывают все оставшиеся пакеты данных, составляющих объект данных, их все также добавляют в буфер циклической ретрансляции данного логического канала, причем добавляют в строго последовательности, по мере возрастания их порядковых номеров. Таким образом, в итоге, все тело объекта данных оказывается размещено в буфере циклической ретрансляции в виде некоторого множества пакетов.
После того, как весь объект данных будет размещен в буфере циклической ретрансляции, начинают его передачу в локальную беспроводную коммуникационную сеть в рамках логического канала, таким образом, что все пакеты, содержащие фрагменты передаваемого объекта данных последовательно один за другим передают на выход рассматриваемого модуля и затем в модуль управления мультикастингом (модуль 14). После того как все содержимое буфера циклической ретрансляции данного логического канала будет передано в модуль управления мультикастингом, начинают повторную передачу содержимого этого буфера, вновь, с самого первого пакета и далее последовательно все пакеты, содержащиеся в буфере, один за другим. В одном из вариантов изобретения такую циклическую передачу всего содержимого буфера повторяют многократно в течение длительного времени, до тех пор, пока в рассматриваемый модуль 13 не поступит команда остановки трансляции от передающего серверного модуля (модуль 08). В общем случае количество циклов ретрансляции должно быть не менее одного, а ограничение сверху может определяться общим временем до момента оставки мультикастовой передачи данных веб-сервером.
Задержка во времени (интервал) между циклами передачи объектов данных в данном изобретении равна нулю. То есть непосредственно сразу же после окончания передачи последнего пакета данных, из буфера циклической ретрансляции, тут же начинают повторную передачу всего содержимого этого буфера.
В одном из вариантов изобретения при формировании логических каналов в модуле 13 задают фиксированные значения битовых скоростей передачи данных. Тем самым гарантированно обеспечивается тот факт, что каждый виртуальный канал будет работать только лишь в рамках отведенной ему доли общих коммуникационных ресурсов беспроводной сети. В другом варианте данного изобретения возможно использование механизмов динамического адаптивного управления значениями битовых скоростей во всех логических каналах на основе текущего контекста ситуации передачи данных. Этот текущий контекст может определяться множеством различных факторов, в том числе - приоритетами передачи разных типов объектов данных, общим значением величины коммуникационных ресурсов (эффективной полосы пропускания) в беспроводной локальной коммуникационной сети в данный момент времени, а также условиями, возникающими в радиоканале на воздушном интерфейсе беспроводной сети и другими факторами.
Следует отметить, что вариант с динамическим адаптивным управлением логическими каналами позволяет осуществлять более гибкую и оптимальную трансляцию данных в постоянно меняющихся условиях.
При последующем поступлении на вход модуля 13 объектов данных того же типа, что и первый, описанный выше объект, транспортировка которого уже началась в ранее созданном логическом канале, все эти вновь поступающие объекты подвергают аналогичной описанной выше процедуре фрагментации, формирования пакетов, а затем добавляют в буфер циклической ретрансляции данного логического канала, передавая циклически вслед за уже существующими в этом буфере объектами данных.
Следует отметить, что описанную выше циклическую ретрансляцию рекомендуется применять в данном изобретении для передачи веб-приложений, мета-данных, ассоциированных с этими приложениями, наборов символов, содержащих информацию о командах управления веб-приложениями на клиентских терминальных устройствах, а также мультимедийного контента (аудио и/или записей) фиксированной продолжительности. Для потоков мультимедийного контента реального времени рекомендуется использовать режим (механизм) трансляции «в нахлест», обеспечивающий повышение надежности доставки этого типа объектов данных, суть которого подробно представлена вьппе при описании мультимедийного контента реального времени как типа данных.
Передачу команд управления в логическом канале осуществляют в целом в соответствии с описанным механизмом циклической ретрансляции с той лишь разницей, что на поведение буфера циклической ретрансляции помимо его базовой логики, описанной выше, накладывают также дополнительную логику, формирующую на основе этого буфера так называемое скользящее окно ретрансляции. Механизм скользящего окна ретрансляции подробно описан вьппе при описании команд управления как одного из типов объектов данных. При этом, как было сказано выше, размер буфера циклической ретрансляции (то есть, максимальное количество пакетов данных, которые он может вместить) фиксируют. И при полном заполнении буфера поступающими пакетами данных, поступление очередного пакета (содержащего команду управления) приводит к тому что самый ранний поступивший пакет (самый «старый») удаляют из буфера, все остальные пакеты данных в нем смещают на одну позицию к началу буфера, а вновь поступивший пакет добавляют в конец буфера, на самую последнюю позицию.
Таким образом, на выход модуля формирования логических каналов и организации ретрансляции (модуля 13) поступают потоки пакетов данных со всех управляемых логических каналов и, по мере поступления, эти пакеты с выхода модуля 13 подают на вход модуля 14.
Модуль управления мультикастингом (модуль 14), представляет собой программный модуль, основной задачей которого является организация мультикастового вещания данных от веб-сервера ко всем заинтересованным клиентским терминальных устройствам посредством беспроводной локальной коммуникационной сети.
Как уже было сказано выше, на вход данного модуля поступает поток пакетов передаваемых данных со всех логических каналов. При этом рассматриваемый модуль организует группу мультикастового вещания в беспроводной коммуникационной сети с неким заданным IP-адресом для мультикастового вещания и отправляет все полученные пакеты данных на этот IP- адрес, то есть, фактически в заданную мультикастовую группу. При этом все пакеты данных, поступающие одновременно от нескольких различных управляемых логических каналов, ставятся в единую общую очередь по мере их поступления на вход, а затем, из этой очереди передаются на выход модуля, предварительно, будучи снабжены IP-адресом целевой мультикастовой группы и всей остальной служебной информацией, необходимой для формирования полноценного IP-пакета. Механизм формирования IP-пакетов широко известен в телекоммуникационной отрасли и применяется в настоящее время во всех коммуникационных системах, основанных на стеке протоколов TCP/IP. С выхода модуля управления мультикастингом IP-пакеты, содержащие в своем составе передаваемые пакеты данных, направляются в модуль 15.
Передающий беспроводной коммуникационный модуль (модуль 15) представляет собой аппаратно-программное устройство для обмена данными в беспроводной локальной коммуникационной сети. Это устройство обеспечивает непосредственное взаимодействие веб-сервера со всеми клиентскими терминальными устройствами. Тип передающего беспроводного коммуникационного модуля и его основные характеристики зависят от типа используемой беспроводной локальной коммуникационной сети. Так, например, если в качестве беспроводной сети используется сеть стандарта Wi-Fi (IEEE 802.1 1 a/b/g/n/ac/ad), то в качестве передающего беспроводного коммуникационного модуля может быть использован стандартный Wi-Fi модуль от любого производителя.
На вход данного модуля поступают IP-пакеты от модуля управления мультикастингом, а с выхода данного модуля эти пакеты передаются в беспроводную локальную коммуникационную сеть, в организованную в ней (модулем 14) мультикастовую группу.
Сама беспроводная локальная коммуникационная сеть (модуль 2) представляет собой локальную сеть, поддерживающую беспроводную передачу данных по протоколам TCP/IP. В качестве примера, как уже упоминалось выше, в данном изобретении может быть использована беспроводная сеть в соответствии со стандартом Wi-Fi. Однако наряду с Wi-Fi в данном изобретении могут быть использованы и иные технологии организации беспроводных коммуникационных сетей.
Как видно из рисунка Фиг. 1, клиентское терминальное устройство состоит из следующих модулей: модуль контроля целостности и восстановления команд управления
(модуль 19),
• модуль контроля целостности и восстановления мета- данных (модуль
20),
• мо ль контроля корректности мультимедийного контента (модуль
Figure imgf000033_0001
Принимающий беспроводной коммуникационный модуль (модуль 16) представляет собой аппаратно-программное устройство для обмена данными в беспроводной локальной коммуникационной сети (аналогично модулю 15). Также как и модуль 15, тип принимающего беспроводного коммуникационного модуля и его основные характеристики зависят от типа используемой беспроводной локальной коммуникационной сети. И точно также, в случае использования беспроводных сетей на основе технологии Wi-Fi, в качестве принимающего беспроводного коммуникационного модуля может быть использован существующий Wi-Fi модуль от любого производителя.
На вход принимающего беспроводного коммуникационного модуля поступают IP-пакеты с данными, распространяемые в рамках заданной мультикастовой группы. Эти IP-пакеты данным модулем перенаправляются в модуль 17.
Сепаратор логических каналов (модуль 17) представляет собой программный модуль, осуществляющий классификацию и перераспределение всех пакетов данных, поступающих одновременно по нескольким разным логическим каналам на различные модули для дальнейшей обработки каждого логического канала в отдельности (модули 18-21).
На вход сепаратора от принимающего беспроводного коммуникационного модуля поступает, поток IP-пакетов. При этом каждый поступивший IP-пакет сначала проходит предварительную обработку в соответствии со стеком протоколов TCP IP, в результате этой обработки из IP-пакета извлекают пакет передаваемых данных (принадлежащий одному из логических каналов). Затем у извлеченного пакета анализируют атрибут служебных данных, представляющий собой уникальный идентификатор логического канала, он показывает, в рамках какого из задействованных в данный момент логических каналов передается этот пакет. И в соответствии со значением идентификатора пакет перенаправляют в один из следующих модулей для дальнейшей обработки:
• в модуль контроля целостности и восстановления веб-приложений (модуль 18) направляются все пакеты, передаваемые в рамках логического канала, организованного для трансляции объектов данных, содержащих веб-приложения,
• в модуль контроля целостности и восстановления команд управления (модуль 19) направляются все пакеты, передаваемые в рамках логического канала, организованного для трансляции объектов данных, содержащих команды управления отображением веб- приложений,
• в модуль контроля целостности и восстановления мета- данных (модуль 20) направляются все пакеты, передаваемые в рамках логического канала, организованного для трансляции объектов данных, содержащих мета-данные, ассоциированные с передаваемыми веб-приложениями,
• в модуль контроля корректности мультимедийного контента (модуль 21) направляются все пакеты, содержащие передаваемые потоки мультимедийных данных.
На этом функция сепаратора логических каналов завершается, и в дело вступают вышеупомянутые модули 18-21.
Модуль контроля целостности и восстановления веб-приложений (модуль 18) представляет собой программный модуль, основной задачей которого является обеспечение целостности и восстановление в исходной форме всех объектов данных, составляющих контент веб-приложений, принимаемых данным клиентским терминальным устройством.
Работает данный модуль следующим образом: на его вход от сепаратора логических каналов поступает поток пакетов, содержащих фрагменты объектов данных, представляющих собой архивы веб-приложений. На первом этапе производится накопление принятых пакетов данных и контроль их целостности. После того как все пакеты будут накоплены, и целостность их будет подтверждена, начинается второй этап - дефрагментация объекта данных (то есть, сборка исходного объекта данных из составляющих его пакетов). По завершению процедуры дефрагментации, уже собранный воедино объект данных, представляющий собой архив веб-приложения, подвергают процедуре проверки целостности и при ее положительном исходе второй этап обработки завершается. Начинается третий этап, на котором из полученного объекта данных, то есть, архива веб-приложения, восстанавливают исходные данные - все объекты данных, составляющих контент веб-приложения.
Более подробно, процедура накопления пакетов данных и контроля их целостности выглядит следующим образом: в рассматриваемом модуле организуют специальные накопительные буферы (для каждого принимаемого объекта данных свой отдельный буфер), в которые поступают все принимаемые фрагменты. В одном из вариантов изобретения размеры накопительных буферов динамически изменяются в зависимости от суммарного количества пакетов данных, представляющих конкретный объект данных.
При поступлении очередного пакета данных производят проверку его целостности. Происходит это следующим образом, принятый пакет подвергают операции хэширования, в результате которой вычисляют хэш-код данного пакета. Этот хэш-код затем сравнивают с контрольной суммой - таким же хэш-кодом, сгенерированным ранее на передающей стороне. Контрольная сумма при этом прилагается к принимаемому пакету данных и входит в состав его заголовка. Если в результате сравнения вычисленный хэш-код точно совпадает с контрольной суммой, значит, данный фрагмент принят корректно и сохраняет свою целостность. В противном случае принимают решение о том, что пакет данных принят с ошибкой (т.н. «битый» пакет).
Все пакеты данных, составляющие рассматриваемый объект данных, принятые корректно сохраняют в накопительный буфер. При этом в одном из вариантов настоящего изобретения допускается размещение пакетов в буфере в тех позициях, которые соответствуют их реальному расположению внутри исходного объекта данных. В те же позиции, которые соответствуют фрагментам, принятым с ошибкой ничего не записывают, то есть эти позиции остаются вакантными. А сами некорректные пакеты отбрасывают. После того как клиентским терминальным устройством будут приняты все пакеты, составляющие данный объект, в накопительном буфере окажутся те их них, которые приняты корректно и сохранили свою целостность. Оставшиеся недостающие пакеты данных будут приниматься в ходе последующих итераций процесса циклической ретрансляции веб-сервером. При этом рассматриваемый модуль получит недостающие фрагменты объекта данных (принятые ранее с ошибкой), и если эти фрагменты окажутся корректными, то они дополнят собой остающиеся вакантными позиции в накопительном буфере. Те же из пакетов данных, которые и со второй попытки приема окажутся некорректными будут приняты в третий, четвертый раз и т.д.
В итоге, в результате одной или нескольких ретрансляций, все пакеты данных, составляющие объект данных окажутся корректными, и будут находиться в накопительном буфере. На этом процедура накопления фрагментов и контроля их целостности завершается.
После дефрагментации, собранный воедино объект данных подвергают хэшированию и полученный хэш-код сравнивают с контрольной суммой всего объекта как целого. Если вычисленный хэш-код полностью совпадает с контрольной суммой, значит, объект данных сохранил свою целостность и был принят корректно.
Если же в результате проверки целостности объекта данных обнаруживается, что она нарушена, то производят удаление из накопительного буфера всех накопленных ранее (для данного объекта) пакетов данных, а затем осуществляют повторный прием и накопление всех пакетов данных, принимая их уже на соответствующих последующих циклах ретрансляции.
Полученный в итоге объект данных представляет собой архивированное веб- приложение. И следующим шагом, в данном модуле производят разархивирование (распаковку) веб-приложения. Для этой операции могут быть использованы любые известные программные компоненты для работы со сжатыми архивами данных, в зависимости от типа метода архивации, применяемого на передающей стороне.
В итоге на выход рассматриваемого модуля контроля целостности и восстановления веб-приложений поступает набор объектов данных, составляющих контент веб-приложения. Весь этот контент далее поступает во внутренний веб- сервер (модуль 22).
Модуль контроля целостности и восстановления команд управления (модуль 18) представляет собой программный модуль, основной задачей которого является обеспечение целостности и восстановление в исходной форме всех команд управления веб-приложениями, принимаемых данным клиентским терминальным устройством от веб-сервера.
Механизм контроля целостности команд управления в данном модуле аналогичен модулю 17, здесь также применяется исправление ошибочно принятых пакетов данных путем их повторного приема в последующих итерациях циклической ретрансляции. После того, как корректность очередного принятого пакета, содержащего команду, будет подтверждена, эту команду управления передают на выход рассматриваемого модуля, откуда затем она поступает во внутренний веб-сервер (модуль 22). Следует отметить, что в данном модуле все команды управления обрабатывают и передают на выход в строгой последовательности с их поступлением на вход в виде пакетов данных.
Модуль контроля целостности и восстановления мета-данных (модуль 20) представляет собой программный модуль, основной задачей которого является обеспечение целостности и восстановление в исходной форме всех объектов данных, составляющих мета-данные, ассоциированные с веб-приложениями.
Принцип работы данного модуля аналогичен работе модуля 18. На вход рассматриваемого модуля от сепаратора логических каналов поступает поток пакетов, содержащих фрагменты объекта данных, представляющего собой архив мета- данных. Обработка этих пакетов также как и в модуле 18 состоит из этапов накопления фрагментов и контроля их целостности, дефрагментации объекта данных, с последующим восстановлением исходных мета- данных из упакованного архива.
В итоге, полученные мета-данные передают на выход данного модуля, а затем они поступают во внутренний веб-сервер (модуль 22).
Модуль контроля корректности мультимедийного контента (модуль 21) представляет собой программный модуль, основной задачей которого является прием потоков мультимедийного контента обоих видов (как аудио и видеозаписей фиксированной продолжительности, так и потоков реального времени).
На вход данного модуля от сепаратора логических каналов поступает поток пакетов, содержащих объекты данных в виде мультимедийного контента.
Для аудио и видеозаписей применяется процесс накопления пакетов данных, контроля их целостности с последующей дефрагментацией, аналогичный описанному в модуле 18. В итоге, на выходе рассматриваемого модуля оказываются исходные аудио и видеозаписи, которые поступают затем во внутренний веб-сервер (модуль 22).
Для мультимедийных потоков реального времени, транслируемых методом «в нахлест» используют более простую схему контроля целостности. Каждый очередной принятый пакет мультимедийных данных проверяют на корректность (методом сравнения его хэш-кода с контрольной суммой, как и в предьщущих случаях), если этот пакет оказывает корректным, его сразу же передают на выход данного модуля, а оттуда - на внутренний веб-сервер. Если же принятый пакет оказался некорректным, то предпринимают попытку повторного его получения из идущего следом дублирующего потока, и в случае успешного корректного приема, пакет также передают в модуль 22, если же и в дублирующем потоке пакет оказался «битым», т.е. с ошибкой, то его просто отбрасывают и ожидают прием следующего пакета мультимедийного потока реального времени.
Внутренний веб-сервер (модуль 22) представляет собой программный модуль, имитирующий для клиентского веб-модуля (модуль 23) сервер веб- приложений. На вход внутреннего веб-сервера, с одной стороны, от модулей 18-21 поступают все данные, необходимые для его корректной работы - веб-приложения, мета- данные, мультимедийный контент, если таковой требуется предоставлять веб- клиенту в ходе работы веб-приложений, а также команды управления, координирующие работу веб-приложений. С другой стороны, на вход этого веб- сервера поступают запросы от клиентского веб-модуля (модуль 23), формируемые этим веб-модулем в процессе взаимодействия конечного пользователя с веб- приложениями.
Задача внутреннего веб-сервера обеспечивать работу веб-приложений для клиентского веб-модуля подобно тому, как работают классические общеизвестные веб-сервера в глобальной сети Интернет.
Клиентский веб-модуль (модуль 23) представляет собой обычный веб- браузер, инсталлированный в клиентском терминальном устройстве. Он обеспечивает доступ конечных пользователей к веб-приложениям, поступающим на внутренний веб-сервер. В процессе своей работы модуль 23 тесно взаимодействует с внутренним веб-сервером, отправляя ему пользовательские запросы и получая от него в ответ требуемый контент, регламентируемый логикой работы веб- приложений на внутреннем веб-сервере. Практическое применение изобретения.
Примером практического применения настоящего изобретения является система телепрезентаций в беспроводных локальных коммуникационных сетях. Данная система применяется при организации различного рода публичных мероприятий, на которых предусмотрено выступление докладчиков перед аудиторией - конференции, семинары, форумы, симпозиумы и т.д. И позволяет осуществлять трансляцию презентаций докладчиков в реальном времени напрямую в персональные мобильные устройства зрителей (планшеты, смартфоны, а также ноутбуки и нетбуки) посредством локальной беспроводной коммуникационной сети.
Система телепрезентаций, реализованная на основе данного изобретения, организована следующим образом. В помещении, где проводятся соответствующие публичные мероприятия развертывается беспроводная локальная коммуникационная сеть на основе технологии Wi-Fi (как правило, применяются стандарты IEEE 802.11 g/n/ac, но этим применение не ограничено). В разработанном прототипе системы телепрезентаций используется оборудование сетевой инфраструктуры (одна точка доступа Wi-Fi, производитель D-Link), работающее по стандарту IEEE 802.1 1 g в частотном диапазоне 2,4 ГГц. В эту беспроводную локальную коммуникационную сеть подключается так называемый сервер презентаций, представляющий собой компонент веб-сервер в соответствии с настоящим изобретением (модуль 01 на рисунке Фиг. 1). Аппаратная платформа, на которой был развернут сервер презентаций (веб-сервер), представляет собой классический настольный персональный компьютер. Данный сервер презентаций оборудован аппаратным коммуникационным модулем беспроводной локальной сети Wi-Fi (модуль 15 в соответствии с настоящим изобретением), а также специализированным программным обеспечением для осуществления трансляций презентаций на клиентские терминальные устройства, в котором реализована технология в соответствии с настоящим изобретением. Это программное обеспечение реализует программные модули 04-14 (см. Фиг. 1).
Веб-приложениями, транслируемыми в рассматриваемой системе являются динамические презентации, такие как, например, презентации Microsoft Power Point, преобразованные предварительно в веб-формат (в комплекс объектов данных, состоящих из HTML-страниц, рисунков, модулей стилевых шаблонов CSS, модулей клиентских скриптов на языке JavaScript и т.д.). В разработанном прототипе системы телепрезентаций используется 10 описанных выше веб-приложений, средний размер каждого из которых приблизительно 1 мегабайт. Эти презентации хранятся на веб-сервере (в модуле 04).
Также на веб-сервере хранятся, мета-данные, ассоциированные с передаваемыми веб-приложениями. Эти мета-данные в рассматриваемой системе представляют собой информацию обо всех зарегистрированных в системе пользователях (как слушателях, так и лицах, проводящих презентации), о правах доступа в систему для каждого пользователя, а также ряд других параметров, используемых системой в ходе отображения презентаций (веб-приложений), включая полный список всех объектов данных из которых состоят эти презентации. Мета- данные хранятся на веб-сервере в модуле хранения мета- данных (модуль 05). Общий объем мета-данных составляет приблизительно 20 килобайт.
Помимо этого на веб-сервере находится видеоролик объемом 15 мегабайт. В данном видеоролике видеоряд кодирован с использованием кодека Н.264, аудиосопровождение кодировано в ААС. Видеоролик хранится в модуле хранения мультимедийного контента (модуль 06).
Также в ходе работы системы телепрезентаций на веб-сервере формируются команды управления веб-приложениями, которые представлены объектами данных в виде набора текстовых символов (формата XML). Объем таких объектов данных колеблется от 200 байт до 1024 байт. Максимальная частота генерации команд управления составляет 10 команд в секунду.
Веб-сервер осуществляет мультикастовое вещание презентаций (веб- приложений), ассоциированных с ними мета-данных, команд управления веб- приложениями, а также описанного выше видеоролика в локальной беспроводной коммуникационной сети на все клиентские терминальные устройства, подключенные в группу мультикастового вещания. При передаче всех объектов данных на веб-сервере применяется режим циклической ретрансляции в соответствии с настоящим изобретением.
В качестве клиентских терминальных устройств в данной системе выступают персональные мобильные устройства пользователей - планшетные компьютеры и смартфоны на платформах Apple iOS и Google Android (в количестве 27 штук) с предварительно установленным на них специализированным клиентским программным обеспечением. Это клиентское ПО реализует программные модули 17-23 в соответствии с со структурной схемой на Фиг.1. Функционирует прототип, реализующий данное изобретение, следующим образом. При запуске передачи презентации (веб-приложения) на веб-сервере, сервер сразу же подготавливает весь контент веб-приложения, все необходимые мета-данные, а также видеоролик (ассоциированный с этим веб-приложением) к передаче. В процессе подготовки к передаче, передающий серверный модуль (модуль 08) получает все необходимые объекты данных из соответствующих модулей хранения (модули 04-06), идентифицирует тип этих объектов данных и перенаправляет их в соответствующие модули предварительной подготовки (модули 09-12). Где в полном соответствии со способом настоящего изобретения производится предварительная подготовка всех объектов данных.
Одновременно с этим в локальной беспроводной коммуникационной сети организуется группа мультикастового вещания и все 27 имеющихся клиентских терминальных устройств подключаются в эту группу. Процедуры организации мультикастового вещания в сетях, а также подключения клиентских устройств к этому вещанию являются хорошо известными процессами и регламентированы соответствующими стандартами, поэтому в рамках данного изобретения не рассматриваются .
По мере того как завершается предварительная подготовка упомянутых выше объектов данных, они передаются в модуль формирования логических каналов и организации ретрансляции, где для каждого типа данных создается отдельный управляемый логический канал, и все объекты этого типа обрабатываются и передаются в рамках данного логического канала. Всего в данном прототипе создается 4 логических канала: 1 для передачи веб-приложений, 1 передачи мета-данных, 1 для передачи объектов данных, содержащих команды управления и 1 для передачи видеоролика. Каждому логическому каналу при создании присваивается уникальный идентификатор, в форме GUID (Globally Unique Identifier), а также для каждого канала задается значение битовой скорости передачи данных, при этом:
• для логического канала, ориентированного на передачу веб- приложений задается значение битовой скорости в 3 Мбит/с,
• для логического канала, ориентированного на передачу мета-данных задается значение битовой скорости в 1 Мбит/с,
• для логического канала, ориентированного на передачу команд управления задается значение битовой скорости в 1 Мбит/с, • для логического канала, ориентированного на передачу мультимедийного контента (видеоролика фиксированной длины) задается значение битовой скорости в 5 Мбит/с.
Суммарный коммуникационный ресурс (полоса пропускания) беспроводной Wi-Fi сети, используемый в процессе передачи данных составляет 10 Мбит/с.
Все объекты данных, поступающие в логические каналы, подвергаются дополнительной подготовке в полном соответствии с данным изобретением. При этом в ходе дополнительной подготовки эти объекты данных фрагментируются, то есть, разбиваются на отдельные фрагменты - пакеты данных. Размер каждого пакета данных в рассматриваемом прототипе составляет 1024 байта. В случаях, когда объем данных, отводимых в какой-либо пакет меньше этого значения (например, при передаче символов, содержащих описания команд управления, объем которых колеблется от 200 байт до 1024 байт) размер пакета задается по фактическому объему данных.
В каждом логическом канале создаются буферы циклической ретрансляции.
Для всех логических каналов за исключением того, в котором передаются команды управления, размер буфера динамически меняется в зависимости от суммарного количества пакетов данных, подготовленных к передаче. Для логического канала, в котором производится передача команд управления (символов, содержащих описания команд управления), размер буфера циклической ретрансляции задается фиксированным. В данном прототипе размер этого буфера составляет 250 команд.
Передача объектов данных во всех логических каналах осуществляется с применением режима циклической ретрансляции. При этом задержка между отдельными циклами ретрансляции объектов данных равна нулю.
Прием пакетов данных и их последующая обработка во всех клиентских терминальных устройствах в данном прототипе осуществляется в полном соответствии с настоящим изобретением.
Каждое клиентское терминальное устройство, получив весь необходимый контент презентации, начинает ее отображать пользователям через внутренний веб- браузер (клиентский веб-модуль 23 в терминологии данного изобретения).
По мере перелистывания ведущим слайдов презентации, сервером генерируются соответствующие управляющие команды, которые также посредством мультикастового вещания в рамках организованного для них логического канала передаются на все клиентские устройства. И в результате у всех пользователей на их персональных устройствах также происходит перелистывание слайдов синхронно с пользователем, ведущим данную презентацию.
Аналогичным образом, если ведущий запускает какую-либо анимацию на очередном слайде во время презентации, также генерируются соответствующая команда управления, передается на все клиентские устройства и на всех этих устройствах запускается данная анимация на том же самом слайде. Таким образом, команды управления позволяют «засинхронизировать» состояние презентации на всех клиентских устройствах с ее состоянием на сервере в реальном времени.
Также с помощью механизма команд управления реализуется передача координат текущего местоположения т.н. электронной указки, которая представляет собой некую метку, указывающую на отдельную область на текущем слайде презентации, и позволяет тому, кто ведет презентацию, акцентировать внимание слушателей.
Преимуществом данного изобретения является обеспечение высокой маштабируемости полученного решения по количеству одновременно обслуживаемых клиентских терминальных устройств в локальной беспроводной коммуникационной сети (от нескольких сотен, до тысячи и более клиентов, обслуживаемых одной точкой доступа) при одновременном обеспечении высокой надежности передачи данных (приближающейся к 100%) и оптимизации потребления трафика на воздушном интерфейсе беспроводной локальной коммуникационной сети.
Эти технические свойства заявляемого изобретения позволяют в итоге обеспечить покрытие большого количества клиентских терминальных устройств при использовании минимального объема элементов сетевой инфраструктуры. Например, внедрение данного изобретения приведет к тому, что количество пользовательских устройств, одновременно обслуживаемых одной точкой доступа в развернутой беспроводной Wi-Fi сети, существенно увеличится (с нескольких десятков до, потенциально, нескольких сотен), в результате потребуется меньшее количество таких точек доступа для обеспечения покрытия территории, на которой размещаются все пользовательские устройства. Все это приведет к суммарному удешевлению коммуникационной инфраструктуры, а также к упрощению и ускорению процедур ее развертывания. В итоге полученный в данном изобретении технический результат даст хороший экономический эффект.

Claims

ФОРМУЛА ИЗОБРЕТЕНИЯ
1. Способ передачи данных от веб-сервера клиентским терминальным устройствам посредством локальной беспроводной коммуникационной сети, включающий подключение веб-сервера и клиентских терминальных устройств в локальную беспроводную коммуникационную сеть с возможностью передачи данных в данной сети, создание в сети группы мультикастового вещания, подключение клиентских терминальных устройств к созданной группе мультикастового вещания, передачу данных от веб-сервера в локальную беспроводную коммуникационную сеть в режиме мультикастового вещания, прием данных клиентскими терминальными устройствами, входящими в группу мультикастового вещания, и воспроизведение полученных данных на клиентских терминальных устройствах, отличающийся тем, что перед передачей данных от веб-сервера в локальную беспроводную коммуникационную сеть осуществляют предварительную подготовку данных для передачи, включающую, по меньшей мере, идентификацию типа объектов данных, в общей полосе пропускания беспроводной коммуникационной сети формируют один или несколько логических каналов, представляющие собой часть общей полосы пропускания беспроводной коммуникационной сети для каждого типа объектов данных, и производят дополнительную подготовку объектов данных к передаче, включающую фрагментацию объектов данных на множество пакетов данных, маркировку каждого пакета данных заголовком, содержащим, по меньшей мере, информацию для передачи пакета данных, а передачу пакетов данных с заголовками в беспроводную сеть осуществляют в сформированных логических каналах в режиме циклической ретрансляции пакетов данных или дублирования пакетов данных и передачи их копий с задержкой во времени относительно оригиналов, при этом прием пакетов данных клиентскими терминальными устройствами, осуществляют с последующими этапами обработки, включающими идентификацию логических каналов, в рамках которых реализован прием пакета данных, перераспределение принятых пакетов по логическим каналам, с последующим контролем в каждом логическом канале целостности принятых пакетов данных, в случае нарушения целостности которых осуществляют их повторный прием, восстановление исходных объектов данных из множества полученных пакетов для воспроизведения на клиентских терминальных устройствах.
2. Способ по п.1, характеризующийся тем, что в качестве передаваемых данных используют контент веб-приложений, и/или набор символов, содержащих информацию о командах управления веб-приложениями на клиентских терминальных устройствах, и/или мета-данные передаваемых веб-приложений, и/или мультимедийный контент.
3. Способ по п.2, характеризующийся тем, что в качестве мультимедийного контента передают объекты данных в виде аудио и/или видео записей фиксированной продолжительности, и/или потока аудио и/или видео данных в режиме реального времени.
4. Способ по п.1 , характеризующийся тем, что в процессе предварительной подготовки данных для передачи дополнительно маркируют объект данных соответствующим идентификатором типа объектов данных и уникальным идентификатором объекта.
5. Способ по п.2, характеризующийся тем, что при использовании в качестве данных контента веб-приложений и/или мета- данных при предварительной подготовке данных к транспортировке объекты данных дополнительно объединяют в архив, для архива вьшисляют хэш-код, с последующим присоединением хэш-кода к архиву в качестве контрольной суммы.
6. Способ по п. 3, характеризующийся тем, что при использовании в качестве данных мультимедийного контента фиксированной продолжительности, при предварительной подготовке данных к транспортировке дополнительно вычисляют хэш-код, с последующим присоединением хэш-кода к объекту данных в качестве контрольной суммы.
7. Способ по п.1, характеризующийся тем, что в процессе формирования логического канала ему присваивают уникальный идентификатор.
8. Способ по п.7, характеризующийся тем, что в качестве уникального идентификатора логического канала используют «GUID - Globally Unique ID».
9. Способ по п.1, характеризующийся тем, что в процессе формирования логических каналов для каждого из них задают, по меньшей мере, пропускную битовую скорость.
10. Способ по п.1, характеризующийся тем, что при формировании каждого логического канала в нем создают буфер циклической ретрансляции объектов данных для размещения пакетов данных с заголовками перед передачей в сеть, при этом пакеты в буфере размещают в порядке возрастания их порядковых номеров.
1 1. Способ по п.1, характеризующийся тем, что заголовок пакета данных дополнительно содержит информацию для контроля целостности пакетов данных и восстановления из них объектов данных.
12. Способ по п.Н, характеризующийся тем, что заголовок включает идентификатор логического канала и/или идентификатор объекта данных, частью которого является пакет данных, и/или хэш-код пакета данных в качестве контрольной суммы, и/или порядковый номер пакета во множестве пакетов данных, составляющих объект данных, и/или численное значение, характеризующее общее количество пакетов данных, составляющих объект данных.
13. Способ по п.2 или 3, характеризующийся тем, что режим циклической ретрансляции применяют для передачи веб-приложений и/или набора символов, содержащих информацию о командах управления веб-приложениями, и/или мета данных, и/или мультимедийного контента фиксированной продолжительности.
14. Способ по п.1, характеризующийся тем, что режим циклической ретрансляции при передаче пакетов данных выполняют без задержки между окончанием предыдущего цикла передачи объекта данных и началом последующего цикла, с количеством таких ретрансляций равным N, где N е. [ΐ, ], где Т - количество ретрансляций до окончания мультикастового вещания от веб- сервера.
15. Способ по п.З, характеризующийся тем, что режим дублирования пакетов данных и передачи их с задержкой во времени относительно оригиналов используют для передачи мультимедийного контента реального времени.
16. Способ по п.1, характеризующийся тем, что при реализации режима передачи пакетов данных с дублированием пакетов данных выбирают значение величины задержки передачи копии пакетов относительно их оригиналов, не превышающее значение допустимого отклонения от предполагаемой периодичности следования пакетов.
17. Способ по п.10, характеризующийся тем, что при передаче в сеть пакетов данных с символами, содержащими информацию о командах управления, осуществляют управление буфером циклических ретрансляций, при котором фиксируют размер буфера, и при его переполнении добавление новой команды осуществляют через удаление наиболее ранней, при этом новую команду размещают в конце списка команд, находящихся в буфере.
18. Способ по п.17, характеризующийся тем, что при управлении буфером циклических ретрансляций дополнительно контролируют частоту поступления новых пакетов с набором символов, содержащих информацию о командах управления, и частоту их передачи в сеть, с обеспечением, по меньшей мере, однократной передачи пакета из буфера в сеть.
19. Способ по п.1, характеризующийся тем, что в процессе передачи пакетов данных в сформированных логических каналах осуществляют управление параметрами канала, по меньшей мере, битовой скоростью данного канала.
20. Способ по п.19, характеризующийся тем, что управление параметрами логического канала осуществляют посредством определения эффективной полосы пропускания беспроводной коммуникационной сети, и в зависимости от изменения данного параметра изменяют битовую скорость логических каналов.
21. Способ по п.1, характеризующийся тем, что в случае нарушения целостности принятых пакетов в режиме циклической ретрансляции их повторный прием осуществляют на следующем цикле ретрансляции.
22. Способ по п.1, характеризующийся тем, что в случае нарушения целостности принятых пакетов в режиме дублирования пакетов данных и передачи их с задержкой во времени относительно оригиналов, восстановление данного пакета осуществляют посредством повторного приема его копии.
23. Способ по п.1, характеризующийся тем, что при восстановлении исходных объектов данных для каждого пакета, целостность которого подтверждена, анализируют идентификатор объекта данных, частью которого является принятый пакет, для каждого вновь обнаруженного объекта данных создают накопительный буфер, в который помещают все корректно принятые пакеты, ассоциированные с данным объектом, и при заполнении буфера набором пакетов данных, составляющих объект, осуществляют дефрагментацию объекта.
24. Способ по п.5 или 6 , что при восстановлении исходных объектов данных для каждого пакета, целостность которого подтверждена, анализируют идентификатор объекта данных, частью которого является принятый пакет, для каждого вновь обнаруженного объекта данных создают накопительный буфер, в который помещают все корректно принятые пакеты, ассоциированные с данным объектом, и при заполнении буфера набором пакетов данных, составляющих объект, осуществляют дефрагментацию объекта, после чего у собранного объекта с помощью контрольной суммы данного объекта проверяют его целостность, и в случае обнаружения факта нарушения целостности объекта данных накопительный буфер полностью очищают и повторяют процедуру приема пакетов данных, составляющих этот объект.
25. Способ по п.23, характеризующийся тем, что размещение в буфере корректно принятых пакетов осуществляют в последовательности, соответствующей их порядковому номеру во множестве пакетов данных, составляющих объект.
26. Способ по п.5, характеризующийся тем, что перед воспроизведением полученных данных, представляющих собой мета данные или веб-приложение, осуществляют их разархивирование.
27. Система передачи данных от веб-сервера клиентским терминальным устройствам, посредством локальной беспроводной коммуникационной сети, включающая инфраструктуру локальной беспроводной коммуникационной сети; веб сервер, выполненный с возможностью создания в сети группы мультикастового вещания и передачи данных от веб-сервера в локальную беспроводную коммуникационную сеть в режиме мультикастового вещания; и, по меньшей мере, одно клиентское терминальное устройство, выполненное с возможностью подключения к группе мультикастового вещания и приема данных из локальной беспроводной коммуникационной сети и воспроизведения полученных данных на клиентском терминальном устройстве, отличающаяся тем, что веб-сервер включает один или несколько модулей предварительной подготовки данных для передачи в сеть, сформированных в зависимости от типа передаваемых данных, которые связаны с модулем формирования логических каналов и организации ретрансляции, выполненным с возможностью формирования одного или нескольких логических каналов для каждого типа объектов данных в общей полосе пропускания беспроводной коммуникационной сети, и дополнительной подготовки объектов данных к передаче, включающей фрагментацию объектов данных на множество пакетов данных, маркировку каждого пакета данных заголовком, содержащим, по меньшей мере, информацию для передачи пакета данных, а также организации режима циклической ретрансляции пакетов данных или дублирования пакетов данных и передачи их копий с задержкой во времени относительно оригиналов, а клиентское терминальное устройство включает сепаратор логических каналов, выполненный с возможностью идентификации логических каналов, в рамках которых реализован прием пакетов данных, и перераспределения принятых пакетов по логическим каналам, связанный с одним или несколькими модулями контроля целостности и восстановления данных, сформированных в зависимости от типа передаваемых данных, выполненными с возможностью контроля целостности принятых пакетов данных и повторного приема пакетов для восстановления целостности в случае ее нарушения, а также восстановления исходных объектов данных из множества полученных пакетов для воспроизведения на клиентском терминальном устройстве.
28. Система по п.27, отличающаяся тем, что в качестве модулей предварительной подготовки данных система содержит модуль предварительной подготовки веб-приложений, и/или модуль предварительной подготовки команд управления, и/или модуль предварительной подготовки мета-данных, и/или модуль предварительной подготовки мультимедийного контента в виде аудио и/или видео записей фиксированной продолжительности и/или потока аудио и/или видео данных в режиме реального времени.
29. Система по п.27, отличающаяся тем, что один или несколько модулей предварительной подготовки данных выполнены с возможностью дополнительной маркировки объекта данных соответствующим идентификатором типа объектов данных и уникальным идентификатором объекта.
30. Система по п.27, отличающаяся тем, что при использовании в качестве данных контента веб-приложений и/или мета-данных соответствующие модули предварительной подготовки данных выполнены с возможностью объединения в архив объектов данных, вычисления хэш-кода для архива, с последующим присоединением хэш-кода к архиву в качестве контрольной суммы.
31. Система по п.27, отличающаяся тем, что веб-сервер дополнительно включает модуль хранения веб-приложений и/или модуль хранения мета-данных, и/или модуль хранения мультимедийного контента и/или источник мультимедийного контента реального времени, и связанный с ними передающий серверный модуль, при этом передающий серверный модуль выполнен с возможностью диспетчеризации данных между упомянутыми модулями хранения соответствующих типов данных, и соответствующими модулями предварительной подготовки данных для передачи.
32. Система по п.31, отличающаяся тем, что передающий серверный модуль, выполнен с возможностью идентификации типа объектов данных в процессе предварительной подготовки данных к передаче.
33. Система по п.31, отличающаяся тем, что передающий серверный модуль, выполнен с возможностью формирования команд управления веб-приложениями и передачи сформированных команд в модуль предварительной подготовки команд управления.
34. Система по п.31, отличающаяся тем, что источник мультимедийного контента реального времени представляет собой модуль, выполненный с возможностью захвата видео и/или аудио потока с одной или нескольких видеокамер и/или с одного или нескольких микрофонов, соответственно, кодирования захваченного видео и/или аудио потока, представления мультимедийного контента и обеспечения доступа к кодированному потоку по запросу передающего серверного модуля.
35. Система по п.31, отличающаяся тем, что модуль предварительной подготовки мультимедийного контента связан с модулем хранения мультимедийного контента и/или с источником мультимедийного контента реального времени через передающий серверный модуль.
36. Система по п.35 отличающаяся тем, что при использовании в качестве данных мультимедийного контента фиксированной продолжительности, модуль предварительной подготовки мультимедийного контента выполнен с возможностью дополнительного вычисления хэш-кода, с последующим присоединением хэш-кода к объекту данных в качестве контрольной суммы.
37. Система по п.27, отличающаяся тем, что модуль формирования логических каналов и организации ретрансляции выполнен с возможностью присвоения уникального идентификатора логического канала в процессе его формирования.
38. Система по п.27, отличающаяся тем, что модуль формирования логических каналов и организации ретрансляции выполнен с возможностью формирования заголовка пакета данных, содержащего дополнительно информацию для контроля целостности пакета данных и восстановления объекта данных.
39. Система по п.38, отличающаяся тем, что заголовок пакета данных, включает идентификатор виртуального канала и/или идентификатор объекта данных, частью которого является пакет и/или хэш-код пакета данных в качестве контрольной суммы и/или порядковый номер пакета во множестве пакетов данных, составляющих объект данных, и/или численное значение, характеризующее общее количество пакетов данных, составляющих объект данных.
40. Система по п.27, отличающаяся тем, что модуль формирования логичесьсих каналов и организации ретрансляции для каждого логического канала содержит буфер циклической ретрансляции объектов данных
41. Система по п.40, отличающаяся тем, что буфер циклической ретрансляции объектов данных выполнен с возможностью размещения пакетов данных с заголовками, составляющих объекты данных, перед передачей в сеть.
42. Система по п.41, отличающаяся тем, что буфер циклической ретрансляции объектов данных выполнен с возможностью размещения пакетов данных с заголовками в порядке возрастания их порядковых номеров.
43. Система по п.40, отличающаяся тем, что буфер циклических ретрансляций, выполнен с возможностью фиксации размера буфера при передаче в сеть пакетов данных с символами, содержащими информацию о командах управления, и управления логикой работы буфера, при которой в случае его переполнения новую команду добавляют через удаление наиболее ранней, при этом новую команду размещают в конце списка команд, находящихся в буфере.
44. Система по п.43, отличающаяся тем, что буфер циклических ретрансляций, выполнен с возможностью контроля частоты поступления новых пакетов с набором символов, содержащих информацию о командах управления, и контроля частоты их передачи в сеть, с обеспечением, по меньшей мере, однократной передачи пакета из буфера в сеть.
45. Система по п.27, отличающаяся тем, что модуль формирования логических каналов и организации ретрансляции выполнен с возможностью независимого управления параметрами работы логических каналов в процессе передачи пакетов данных, при этом управление осуществляют, по меньшей мере, битовой скоростью логического канала.
46. Система по п.45, отличающаяся тем, что управление параметрами логического канала осуществляют посредством определения эффективной полосы пропускания беспроводной коммуникационной сети, и в зависимости от изменения данного параметра изменят битовую скорость логических каналов.
47. Система по п.27, отличающаяся тем, что модуль формирования логических каналов и организации ретрансляции выполнен с возможностью обеспечения режима циклической ретрансляции при передаче пакетов данных без задержки между окончанием предыдущего цикла передачи объекта данных и началом последующего цикла, с количеством таких ретрансляций равным N, где N e [l, ], где T - количество ретрансляций до окончания мультикастового вещания от веб-сервера.
48. Система по п.27, отличающаяся тем, что модуль формирования логических каналов и организации ретрансляции выполнен с возможностью выбора величины задержки передачи копии пакетов данных относительно их оригиналов таким образом, чтобы она не превышала значение допустимого отклонения от предполагаемой периодичности следования пакетов.
49. Система по п.27, отличающаяся тем, что для создания в сети группы мультикастового вещания и передачи пакетов данных в беспроводную сеть веб- сервер содержит модуль управления мультикастингом и передающий беспроводной коммуникационный модуль, при этом модуль управления мультикастингом связан с одной стороны с модулем формирования логических каналов и организации ретрансляции, с другой - с передающим беспроводным коммуникационным модулем.
50. Система по п.49, отличающаяся тем, что модуль управления мультикастингом выполнен с возможностью организации группы мультикастового вещания в беспроводной коммуникационной сети с заданным IP-адресом для мультикастового вещания и последующей передачей пакетов на данный IP-адрес, полученных от модуля формирования логических каналов и организации ретрансляции пакетов данных.
51. Система по п.49, отличающаяся тем, что передающий беспроводной коммуникационный модуль выполнен с возможностью передачи данных в беспроводной локальной коммуникационной сети для обеспечения непосредственного взаимодействия веб-сервера со всеми клиентскими терминальными устройствами.
52. Система по п.27, отличающаяся тем, что для подключения к группе мультикастового вещания и приема данных из локальной беспроводной коммуникационной сети клиентское терминальное устройство содержит принимающий беспроводной коммуникационный модуль, связанный с сепаратором логических каналов.
53. Система по п.27, отличающаяся тем, что в качестве модулей контроля целостности и восстановления данных система содержит модуль контроля целостности и восстановления веб-приложений, и/или модуль контроля целостности и восстановления команд управления, и/или модуль контроля целостности и восстановления мета-данных, и/или модуль контроля корректности мультимедийного контента в виде аудио и/или видео записей фиксированной продолжительности и/или потока аудио и/или видео данных в режиме реального времени
54 Система по п.27, отличающаяся тем, что модули контроля целостности и восстановления данных, переданных в режиме циклической ретрансляции, выполнены с возможностью повторного приема пакетов на следующем цикле ретрансляции.
55. Система по п.27, отличающаяся тем, что модуль контроля корректности мультимедийного контента, переданного в режиме дублирования пакетов данных и передачи их с задержкой во времени относительно оригиналов, выполнен с возможностью повторного приема копии данного пакета.
56. Система по п.27, отличающаяся тем, что модули контроля целостности и восстановления данных содержат накопительные буферы для каждого принимаемого объекта данных.
57. Система по п.56, отличающаяся тем, что модули контроля целостности и восстановления данных выполнены с возможностью размещения корректно принятых пакетов данных в накопительных буферах в последовательности, соответствующей их порядковому номеру во множестве пакетов данных, составляющих объект.
58. Система по п.56, отличающаяся тем, что для восстановления исходных объектов данных из множества полученных пакетов модули контроля целостности и восстановления данных выполнены с возможностью дефрагментации объекта данных при заполнении буфера полным набором корректно принятых пакетов данных, составляющих объект, а также проверки целостности собранного объекта данных с помощью его контрольной суммы, и при обнаружении факта нарушения целостности объекта данных, удаление всех пакетов данных из накопительного буфера и повтора процедуры приема пакетов данных, составляющих этот объект.
59. Система по п.27, отличающаяся тем, что клиентское терминальное устройство дополнительно содержит внутренний веб-сервер, выполненный с возможностью представления веб-приложений пользователю, который связан с одним или несколькими модулями контроля целостности и восстановления данных.
60. Система по п.59, отличающаяся тем, что модули контроля целостности и восстановления веб-приложений и мета-данных выполнены с возможностью разархивирования полученных данных перед их отправкой на внутренний веб- сервер.
PCT/RU2013/001056 2013-06-14 2013-11-25 Передача данных от веб-сервера терминальным устройствам посредством беспроводной сети WO2014200386A1 (ru)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
RU2013126981/08A RU2527210C1 (ru) 2013-06-14 2013-06-14 Способ и система для передачи данных от веб-сервера клиентским терминальным устройствам посредством локальной беспроводной коммуникационной сети
RU2013126981 2013-06-14

Publications (1)

Publication Number Publication Date
WO2014200386A1 true WO2014200386A1 (ru) 2014-12-18

Family

ID=51456407

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/RU2013/001056 WO2014200386A1 (ru) 2013-06-14 2013-11-25 Передача данных от веб-сервера терминальным устройствам посредством беспроводной сети

Country Status (3)

Country Link
US (1) US20140369249A1 (ru)
RU (1) RU2527210C1 (ru)
WO (1) WO2014200386A1 (ru)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9450824B2 (en) * 2014-02-04 2016-09-20 Wipro Limited Systems and methods for smart request processing
EP3130099B1 (de) * 2014-04-09 2022-12-21 Hirschmann Automation and Control GmbH Verfahren für ein redundantes übertragungssystem mit prp und energieeinsparung
KR20160128184A (ko) * 2015-04-28 2016-11-07 삼성전자주식회사 무선 통신 시스템에서 그룹 통신 방법 및 장치
US11696216B2 (en) * 2016-02-18 2023-07-04 Comcast Cable Communications, Llc SSID broadcast management to support priority of broadcast
CN112601072B (zh) * 2016-06-16 2024-05-28 华为技术有限公司 视频业务质量评估的方法及装置
WO2019140558A1 (zh) * 2018-01-16 2019-07-25 Oppo广东移动通信有限公司 数据复制的数据量的上报方法、用户设备及网络设备
US11089341B2 (en) 2018-05-11 2021-08-10 Prowire Sport Llc System and method for capturing and distributing a live audio stream of a live event in real-time
CN108664223B (zh) * 2018-05-18 2021-07-02 百度在线网络技术(北京)有限公司 一种分布式存储方法、装置、计算机设备及存储介质
US11606407B2 (en) 2018-07-05 2023-03-14 Prowire Sport Limited System and method for capturing and distributing live audio streams of a live event
CN110245119B (zh) * 2018-11-02 2023-01-31 浙江大华技术股份有限公司 一种文件整理方法及存储***
CN117915146B (zh) * 2024-03-18 2024-06-04 上海朗力半导体有限公司 一种视频流传输方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005277948A (ja) * 2004-03-25 2005-10-06 Nec Access Technica Ltd マルチキャストパケット配信システム
WO2006008593A1 (en) * 2004-07-14 2006-01-26 Nokia Corporation Grouping of session objects
RU2417542C2 (ru) * 2006-01-04 2011-04-27 Квэлкомм Инкорпорейтед Быстрое переключение каналов в мультимедийной системе широковещания

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE524679C2 (sv) * 2002-02-15 2004-09-14 Ericsson Telefon Ab L M System för broadcast/multicast-utsändning av datainformation emot en lokal del av ett trådlöst nät
US7386590B2 (en) * 2003-01-03 2008-06-10 Microsoft Corporation System and method for improved synchronization between a server and a client
EP2013987B1 (en) * 2006-04-29 2012-12-26 Thomson Licensing Seamless handover of multicast sessions in internet protocol based wireless networks using staggercasting
US8516153B2 (en) * 2006-06-16 2013-08-20 Harris Corporation Method and system for network-independent QoS
US8488508B2 (en) * 2006-11-13 2013-07-16 Qualcomm Incorporated Method and apparatus for providing reliable multicast in a wireless communication system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005277948A (ja) * 2004-03-25 2005-10-06 Nec Access Technica Ltd マルチキャストパケット配信システム
WO2006008593A1 (en) * 2004-07-14 2006-01-26 Nokia Corporation Grouping of session objects
RU2417542C2 (ru) * 2006-01-04 2011-04-27 Квэлкомм Инкорпорейтед Быстрое переключение каналов в мультимедийной системе широковещания

Also Published As

Publication number Publication date
US20140369249A1 (en) 2014-12-18
RU2527210C1 (ru) 2014-08-27

Similar Documents

Publication Publication Date Title
RU2527210C1 (ru) Способ и система для передачи данных от веб-сервера клиентским терминальным устройствам посредством локальной беспроводной коммуникационной сети
US7231404B2 (en) Datacast file transmission with meta-data retention
US10659502B2 (en) Multicast streaming
WO2013170835A2 (zh) 直播内容分发***及方法
CN105450785B (zh) 一种文件传输方法和装置
US20230071243A1 (en) Conserving network resources during transmission of packets of interactive services
TW200423635A (en) Packet transmission system and packet reception system
CN110381030B (zh) 一种同步请求的处理方法及装置
KR20200049900A (ko) 미디어 데이터 전달 제어를 위한 방법 및 장치
CN109634988B (zh) 一种监控轮询方法和装置
CN110809026B (zh) 一种文件处理方法、装置、电子设备及存储介质
CN111629283B (zh) 一种多流媒体网关服务***及方法
CN112953850B (zh) 数据传输方法、装置、计算机可读介质及电子设备
CN105049873A (zh) 一种流媒体传输方法、装置和***
CN111125426A (zh) 一种数据存储和查询的方法及装置
CN1264967A (zh) 数据发送方法、数据发送***、数据接收方法和接收终端
CN110557370B (zh) 一种pamir同步终端信息的方法、***、电子设备及存储介质
CN104469538A (zh) 面向画面画质较小损失的rtp视频流数据包重组方法
CN112738188A (zh) 一种数据跨网传输方法及装置
CN101212332A (zh) 流记录方法、装置和***
US20170055006A1 (en) Receiver, transmitter, data communication method, and data processing method
Conrad et al. Multimedia document retrieval system using partially ordered/partially reliable transport service
CN110996181A (zh) 一种多源内容数据统一封装方法
Patel et al. Performance Analysis of Video On-demand and Live Video Streaming using Cloud based Services
CN115277649A (zh) 多媒体会议场景下的文档协同编辑的方法及装置

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

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

Country of ref document: EP

Kind code of ref document: A1