RU2011107517A - Способ и система для передачи потоковых мультимедийных данных с нулевым копированием - Google Patents
Способ и система для передачи потоковых мультимедийных данных с нулевым копированием Download PDFInfo
- Publication number
- RU2011107517A RU2011107517A RU2011107517/08A RU2011107517A RU2011107517A RU 2011107517 A RU2011107517 A RU 2011107517A RU 2011107517/08 A RU2011107517/08 A RU 2011107517/08A RU 2011107517 A RU2011107517 A RU 2011107517A RU 2011107517 A RU2011107517 A RU 2011107517A
- Authority
- RU
- Russia
- Prior art keywords
- streaming
- buffer
- real
- time transport
- multimedia data
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/232—Content retrieval operation locally within server, e.g. reading video streams from disk arrays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/612—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/70—Media network packetisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
- H04N21/2381—Adapting the multiplex stream to a specific network, e.g. an Internet Protocol [IP] network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/643—Communication protocols
- H04N21/6437—Real-time Transport Protocol [RTP]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
- Computer And Data Communications (AREA)
Abstract
1. Способ осуществления передачи потоковых мультимедийных данных с нулевым копированием, причем осуществление данного способа основано на стеке сетевых протоколов Linux, и данный способ включает следующие шаги: ! A) при приеме сервером потоковых мультимедийных данных запроса данных от оборудования пользователя, выполнение сервером потоковых мультимедийных данных системного вызова передачи данных, считывание потоковых мультимедийных данных с дискового пространства и запись потоковых мультимедийных данных в буфер данных пользователя; ! B) упаковку потоковых мультимедийных данных, сохраненных в буфере данных пользователя, в пакеты транспортного протокола реального времени; и передачу этих пакетов транспортного протокола реального времени в форме пакетов потоковых мультимедийных данных, в которых заголовок и нагрузка разделены. ! 2. Способ по п.1, в котором упомянутый шаг В также включает: ! B1) выделение структуры буфера ядра в пространстве ядра для каждого подлежащего передаче пакета транспортного протокола реального времени, при этом структура буфера ядра включает: ! временно выделенный буфер ядра, включающий заголовок упомянутого пакета транспортного протокола реального времени, подлежащего передаче; и ! временно отображенный буфер пользователя, включающий нагрузку упомянутого пакета транспортного протокола реального времени, подлежащего передаче; ! B2) использование функции сборки/распределения и функции прямого доступа к памяти сетевого адаптера, отображение временно выделенного буфера ядра и временно отображенного буфера пользователя из указанной структуры буфера ядра на буфер передачи сетев
Claims (6)
1. Способ осуществления передачи потоковых мультимедийных данных с нулевым копированием, причем осуществление данного способа основано на стеке сетевых протоколов Linux, и данный способ включает следующие шаги:
A) при приеме сервером потоковых мультимедийных данных запроса данных от оборудования пользователя, выполнение сервером потоковых мультимедийных данных системного вызова передачи данных, считывание потоковых мультимедийных данных с дискового пространства и запись потоковых мультимедийных данных в буфер данных пользователя;
B) упаковку потоковых мультимедийных данных, сохраненных в буфере данных пользователя, в пакеты транспортного протокола реального времени; и передачу этих пакетов транспортного протокола реального времени в форме пакетов потоковых мультимедийных данных, в которых заголовок и нагрузка разделены.
2. Способ по п.1, в котором упомянутый шаг В также включает:
B1) выделение структуры буфера ядра в пространстве ядра для каждого подлежащего передаче пакета транспортного протокола реального времени, при этом структура буфера ядра включает:
временно выделенный буфер ядра, включающий заголовок упомянутого пакета транспортного протокола реального времени, подлежащего передаче; и
временно отображенный буфер пользователя, включающий нагрузку упомянутого пакета транспортного протокола реального времени, подлежащего передаче;
B2) использование функции сборки/распределения и функции прямого доступа к памяти сетевого адаптера, отображение временно выделенного буфера ядра и временно отображенного буфера пользователя из указанной структуры буфера ядра на буфер передачи сетевого адаптера, и вызов функции передачи драйвера сетевого адаптера для завершения передачи потоковых мультимедийных данных с нулевым копированием.
3. Способ по п.2, в котором, когда службе потоковой передачи мультимедийных данных требуется обработать запросы от множества пользователей, служба потоковой передачи мультимедийных данных осуществляет передачу одного пакета потоковых мультимедийных данных каждому пользователю, посылающему запрос, посредством одного системного вызова.
4. Способ по п.3, в котором указанный стек сетевых протоколов обеспечивает следующие интерфейсы программирования сокетов:
"socket", который используется для создания сокета, "close", который используется для закрытия сокета, "sendmsg", который используется для осуществления передачи потоковых мультимедийных данных с нулевым копированием.
5. Система для осуществления передачи потоковых мультимедийных данных с нулевым копированием, причем указанная система включает сервер потоковых мультимедийных данных, который конфигурируют для осуществления передачи потоковых мультимедийных данных с нулевым копированием на базе стека сетевых протоколов Linux, при этом
указанный сервер потоковых мультимедийных данных конфигурирует пространство ядра между аппаратным устройством этого сервера и пользовательским процессом, а также конфигурирует стек сетевых протоколов над программой драйвера сетевого адаптера в пространстве ядра;
указанное пространство ядра выделяет для пакетов транспортного протокола реального времени, сформированных посредством упаковки потоковых мультимедийных данных, подлежащих передаче, следующие буферы:
временно выделенный буфер ядра для помещения заголовка указанных пакетов транспортного протокола реального времени, и
временно отображенный буфер пользователя. для помещения нагрузки указанных пакетов транспортного протокола реального времени;
указанный стек сетевых протоколов обеспечивает интерфейсы программирования сокетов для пользовательского процесса, причем указанные интерфейсы программирования сокетов включают: "socket", который используется для создания сокета, "close", который используется для закрытия сокета, и "sendmsg", который используется для осуществления передачи потоковых мультимедийных данных с нулевым копированием; при этом указанный стек сетевых протоколов используется для передачи пакетов транспортного протокола реального времени в форме пакетов потоковых мультимедийных данных, в которых заголовок и нагрузка разделены.
6. Система по п.5, в которой указанный сервер потоковых мультимедийных данных применяет технологию групповой передачи для отправки множества пакетов в одном системном вызове "sendmsg".
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200810142292 CN101340574B (zh) | 2008-08-04 | 2008-08-04 | 一种实现零拷贝发送流媒体数据的方法及系统 |
CN200810142292.7 | 2008-08-04 | ||
CN200810241596.9 | 2008-12-26 | ||
CN 200810241596 CN101465854B (zh) | 2008-12-26 | 2008-12-26 | 一种媒体服务器及实现准实时发送媒体数据的方法 |
PCT/CN2009/000852 WO2010015142A1 (zh) | 2008-08-04 | 2009-07-30 | 一种实现零拷贝发送流媒体数据的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2011107517A true RU2011107517A (ru) | 2012-09-10 |
RU2477930C2 RU2477930C2 (ru) | 2013-03-20 |
Family
ID=41663289
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2011107517/08A RU2477930C2 (ru) | 2008-08-04 | 2009-07-30 | Способ и система для передачи потоковых мультимедийных данных с нулевым копированием |
Country Status (5)
Country | Link |
---|---|
US (1) | US20110258337A1 (ru) |
EP (1) | EP2312807B1 (ru) |
PL (1) | PL2312807T3 (ru) |
RU (1) | RU2477930C2 (ru) |
WO (1) | WO2010015142A1 (ru) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130262693A1 (en) * | 2012-04-02 | 2013-10-03 | Chris Phillips | Methods and apparatus for segmenting, distributing, and resegmenting adaptive rate content streams |
CN103617125A (zh) * | 2013-11-27 | 2014-03-05 | 曙光信息产业(北京)有限公司 | 内存空间的管理方法和装置 |
CN103942097B (zh) * | 2014-04-10 | 2017-11-24 | 华为技术有限公司 | 一种数据处理方法、装置及具备相应装置的计算机 |
CN105791884A (zh) * | 2016-03-07 | 2016-07-20 | 读者出版传媒股份有限公司 | 一种流媒体直播方法及系统 |
US11855898B1 (en) * | 2018-03-14 | 2023-12-26 | F5, Inc. | Methods for traffic dependent direct memory access optimization and devices thereof |
CN108712308B (zh) * | 2018-06-06 | 2021-11-26 | 郑州云海信息技术有限公司 | 虚拟网络中检测网络设备的方法和装置 |
CN110012343A (zh) * | 2019-02-21 | 2019-07-12 | 生迪智慧科技有限公司 | 网络报文的生成方法及装置 |
CN114201311A (zh) * | 2019-03-15 | 2022-03-18 | 华为技术有限公司 | 数据处理方法及装置 |
CN110086571A (zh) * | 2019-04-10 | 2019-08-02 | 广州华多网络科技有限公司 | 一种数据发送及接收的方法、装置及数据处理系统 |
CN110048963B (zh) * | 2019-04-19 | 2023-06-06 | 杭州朗和科技有限公司 | 虚拟网络中的报文传输方法、介质、装置和计算设备 |
US11403247B2 (en) * | 2019-09-10 | 2022-08-02 | GigaIO Networks, Inc. | Methods and apparatus for network interface fabric send/receive operations |
CN111083072A (zh) * | 2019-11-29 | 2020-04-28 | 天津市滨海新区信息技术创新中心 | 交换机报文传输装置及方法 |
CN112995753B (zh) * | 2019-12-16 | 2024-03-22 | 中兴通讯股份有限公司 | 一种媒体流分发方法、cdn节点服务器、cdn系统和可读存储介质 |
CN111181736B (zh) * | 2019-12-31 | 2022-04-05 | 奇安信科技集团股份有限公司 | 数据传输方法、装置、系统及介质 |
CN113127139B (zh) * | 2019-12-31 | 2023-12-26 | 阿里巴巴集团控股有限公司 | 一种基于数据面开发套件dpdk的内存分配方法和装置 |
CN113163443A (zh) * | 2020-01-22 | 2021-07-23 | 普天信息技术有限公司 | 核心网数据传输方法及系统 |
CN113973091A (zh) * | 2020-07-23 | 2022-01-25 | 华为技术有限公司 | 一种报文处理方法、网络设备以及相关设备 |
CN112114748B (zh) * | 2020-09-02 | 2022-10-25 | 厦门安胜网络科技有限公司 | 一种用于冷热数据的分离方法和系统 |
CN112511848B (zh) * | 2020-11-09 | 2023-06-20 | 网宿科技股份有限公司 | 直播方法、服务端及计算机可读存储介质 |
CN116455612B (zh) * | 2023-03-23 | 2023-11-28 | 京信数据科技有限公司 | 一种隐私计算中间数据流零拷贝装置及方法 |
CN116915860B (zh) * | 2023-09-07 | 2023-11-28 | 深圳市升立德科技有限公司 | 基于udp的指令传输方法、装置、设备以及介质 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7159030B1 (en) * | 1999-07-30 | 2007-01-02 | Intel Corporation | Associating a packet with a flow |
US7403974B1 (en) * | 2001-06-25 | 2008-07-22 | Emc Corporation | True zero-copy system and method |
US7181531B2 (en) * | 2002-04-30 | 2007-02-20 | Microsoft Corporation | Method to synchronize and upload an offloaded network stack connection with a network stack |
US7512128B2 (en) * | 2002-06-12 | 2009-03-31 | Sun Microsystems, Inc. | System and method for a multi-packet data link layer data transmission |
US7142540B2 (en) * | 2002-07-18 | 2006-11-28 | Sun Microsystems, Inc. | Method and apparatus for zero-copy receive buffer management |
US20040199650A1 (en) * | 2002-11-14 | 2004-10-07 | Howe John E. | System and methods for accelerating data delivery |
JP4942375B2 (ja) * | 2006-03-27 | 2012-05-30 | 株式会社ソニー・コンピュータエンタテインメント | ネットワーク処理装置 |
KR100758272B1 (ko) * | 2006-04-26 | 2007-09-12 | 한국전자통신연구원 | 데이터 무 복사 파일 이동 방법 |
CN100464304C (zh) * | 2006-08-29 | 2009-02-25 | 飞塔信息科技(北京)有限公司 | 一种基于Linux操作系统实现零拷贝的装置和方法 |
US8929372B2 (en) * | 2007-10-30 | 2015-01-06 | Contextream Ltd. | Grid router |
CN101340574B (zh) * | 2008-08-04 | 2010-09-08 | 中兴通讯股份有限公司 | 一种实现零拷贝发送流媒体数据的方法及系统 |
CN101465854B (zh) * | 2008-12-26 | 2013-05-08 | 中兴通讯股份有限公司 | 一种媒体服务器及实现准实时发送媒体数据的方法 |
-
2009
- 2009-07-30 RU RU2011107517/08A patent/RU2477930C2/ru active
- 2009-07-30 WO PCT/CN2009/000852 patent/WO2010015142A1/zh active Application Filing
- 2009-07-30 EP EP09804442.3A patent/EP2312807B1/en active Active
- 2009-07-30 PL PL09804442T patent/PL2312807T3/pl unknown
- 2009-07-30 US US13/057,625 patent/US20110258337A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
EP2312807A1 (en) | 2011-04-20 |
WO2010015142A1 (zh) | 2010-02-11 |
EP2312807B1 (en) | 2018-11-14 |
EP2312807A4 (en) | 2016-12-14 |
RU2477930C2 (ru) | 2013-03-20 |
PL2312807T3 (pl) | 2019-04-30 |
US20110258337A1 (en) | 2011-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2011107517A (ru) | Способ и система для передачи потоковых мультимедийных данных с нулевым копированием | |
CN101340574B (zh) | 一种实现零拷贝发送流媒体数据的方法及系统 | |
US8392565B2 (en) | Network memory pools for packet destinations and virtual machines | |
US7349391B2 (en) | Tunneling between a bus and a network | |
US7505455B1 (en) | Optimizations for tunneling between a bus and a network | |
AU2011370439B2 (en) | Method and apparatus for rapid data distribution | |
WO2016041375A1 (zh) | 一种cpu与芯片之间传输消息报文的方法及装置 | |
JP2004350188A (ja) | データ転送装置及びプログラム | |
US11347567B2 (en) | Methods and apparatus for multiplexing data flows via a single data structure | |
KR20130107618A (ko) | Usb 디바이스 장치의 데이터를 클라이언트 단말을 통해 서버로 전송하는 데이터 처리 방법 및 클라이언트 단말 | |
US20210266610A1 (en) | Methods and apparatus to reduce audio streaming latency between audio and gigabit ethernet subsystems | |
CN113127139B (zh) | 一种基于数据面开发套件dpdk的内存分配方法和装置 | |
CN104717189A (zh) | 网络数据包的发送方法及装置 | |
CN203590259U (zh) | 万兆以太网与RapidIO网络转换控制器 | |
WO2010000628A1 (en) | Method and device to perform direct memory access | |
Ott et al. | An open architecture for transport-level protocol coordination in distributed multimedia applications | |
US7590065B2 (en) | Equal-opportunity bandwidth regulation | |
US9768973B2 (en) | Apparatus and method for supporting USB multicasting | |
WO2023162130A1 (ja) | データを収集するシステム、方法及びプログラム | |
CN100428670C (zh) | 流媒体服务器用户层通信方法 | |
US7330484B2 (en) | Method and system for transmitting packet chains | |
KR101328627B1 (ko) | 패킷 처리 장치 및 그것의 패킷 처리 방법 | |
TWI465077B (zh) | 家庭閘道器及其共用調諧器的方法 | |
Aumage et al. | Efficient inter-device data-forwarding in the Madeleine communication library | |
US8233478B2 (en) | Method and an apparatus for data storage and communications |