RU2011107517A - Способ и система для передачи потоковых мультимедийных данных с нулевым копированием - Google Patents

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

Info

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
Application number
RU2011107517/08A
Other languages
English (en)
Other versions
RU2477930C2 (ru
Inventor
Вэйцянг ВАНГ (CN)
Вэйцянг ВАНГ
Хонцзюнь ЧЖУ (CN)
Хонцзюнь ЧЖУ
Цзянь ЧЕНГ (CN)
Цзянь ЧЕНГ
Original Assignee
ЗетТиИ Корпорейшн (CN)
ЗетТиИ Корпорейшн
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
Priority claimed from CN 200810142292 external-priority patent/CN101340574B/zh
Priority claimed from CN 200810241596 external-priority patent/CN101465854B/zh
Application filed by ЗетТиИ Корпорейшн (CN), ЗетТиИ Корпорейшн filed Critical ЗетТиИ Корпорейшн (CN)
Publication of RU2011107517A publication Critical patent/RU2011107517A/ru
Application granted granted Critical
Publication of RU2477930C2 publication Critical patent/RU2477930C2/ru

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/232Content retrieval operation locally within server, e.g. reading video streams from disk arrays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing 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/2381Adapting the multiplex stream to a specific network, e.g. an Internet Protocol [IP] network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network 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/63Control 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/643Communication protocols
    • H04N21/6437Real-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".
RU2011107517/08A 2008-08-04 2009-07-30 Способ и система для передачи потоковых мультимедийных данных с нулевым копированием RU2477930C2 (ru)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 中兴通讯股份有限公司 一种媒体服务器及实现准实时发送媒体数据的方法

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