WO2013178142A1 - Dlna设备共享方法及装置 - Google Patents

Dlna设备共享方法及装置 Download PDF

Info

Publication number
WO2013178142A1
WO2013178142A1 PCT/CN2013/079309 CN2013079309W WO2013178142A1 WO 2013178142 A1 WO2013178142 A1 WO 2013178142A1 CN 2013079309 W CN2013079309 W CN 2013079309W WO 2013178142 A1 WO2013178142 A1 WO 2013178142A1
Authority
WO
WIPO (PCT)
Prior art keywords
dlna
gateway
network
virtual
data channel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/CN2013/079309
Other languages
English (en)
French (fr)
Inventor
梁洁辉
赵发杰
刘长雷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to US14/398,279 priority Critical patent/US9948686B2/en
Priority to EP13796843.4A priority patent/EP2833596B1/en
Publication of WO2013178142A1 publication Critical patent/WO2013178142A1/zh
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2816Controlling appliance services of a home automation network by calling their functionalities
    • H04L12/2818Controlling appliance services of a home automation network by calling their functionalities from a device located outside both the home and the home network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/283Processing of data at an internetworking point of a home automation network
    • H04L12/2832Interconnection of the control functionalities between home networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • 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/10Architectures or entities
    • H04L65/102Gateways
    • H04L65/1023Media gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/04Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/08Protocols specially adapted for terminal emulation, e.g. Telnet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/2876Pairs of inter-processing entities at each side of the network, e.g. split proxies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/59Providing operational support to end devices by off-loading in the network or by emulation, e.g. when they are unavailable

Definitions

  • the present invention relates to the field of communications, and in particular to a Digital Living Network Alliance (DLNA) device sharing method and apparatus.
  • DLNA Digital Living Network Alliance
  • the Digital Living Network Alliance is a non-profit organization sponsored by Sony, Intel and Microsoft to address the sharing of digital media content between consumer electronics devices.
  • DLNA uses the Universal Plug and Play (UPnP) protocol for device discovery, description, and control. Based on this, various DLNA device roles are defined: Digital Media Server (Digital Media Server, Referred to as DMS), Digital Media Player (DMP), Digital Media Controller (DMC) and Digital Media Renderer (DMR).
  • DMS Digital Media Server
  • DMP Digital Media Player
  • DMC Digital Media Controller
  • DMR Digital Media Renderer
  • the DMS and the DMR can broadcast their own online information and description information to the network through the Simple Service Discovery Protocol (SSDP), so that the DMC can carry the DMS shared media content on the DMR.
  • Play or DMP can play media content shared on the DMS.
  • the communication protocol between them can be HyperText Transfer Protocol (HTTP), and can use User Datagram Protocol (UDP) or Transmission Control Protocol (TCP).
  • HTTP HyperText Transfer Protocol
  • UDP User Datagram Protocol
  • TCP Transmission Control Protocol
  • the protocol is used for bearer.
  • SSDP uses HTTP over UDP, and obtains device description information and service description information, and subsequent device control uses HTTP over TCP.
  • the DLNA network is usually a LAN environment in a home environment or a working network or a public network of the same subnet.
  • the DLNA media resource sharing method cannot be utilized at present. Therefore, DLNA sharing is limited to a local scope, does not extend to the sharing on the Internet, and cannot be used for a wider range of applications.
  • DLNA sharing in the related art is limited to a localized problem, an effective solution has not yet been proposed. Summary of the invention
  • the embodiment of the invention provides a DLNA device sharing method and device, which are used to solve the problem that the DLNA sharing in the related art is limited to a local scope.
  • a DLNA device sharing method including: establishing a data channel between a first DLNA gateway in a first DLNA network and a second DLNA gateway in a second DLNA network, where The DLNA gateway is a DLNA device having a DMC function and capable of accessing the Internet; adding a virtual DLNA device corresponding to the DLNA device in the first DLNA network in the second DLNA gateway; DLNA in the second DLNA network The device remotely controls and/or remotely plays the DLNA device in the first DLNA network through the virtual DLNA device.
  • the step of remotely controlling and/or remotely playing the DLNA device in the first DLNA network by the DLNA device in the second DLNA network by using the virtual DLNA device includes: in the second DLNA network Where the DLNA device in the control controls the virtual DLNA device, the second DLNA gateway controls the virtual DLNA device through the data channel; and/or DLNA in the second DLNA network
  • the second DLNA gateway acquires and plays the media resource of the DLNA device in the first DLNA network corresponding to the virtual DLNA device by using the data channel.
  • the step of establishing a data channel between the first DLNA gateway in the first DLNA network and the second DLNA gateway in the second DLNA network comprises: establishing the first DLNA gateway and the second by using an XMPP server The data channel between the DLNA gateways.
  • the first DLNA gateway and the second DLNA gateway use the same account to log in to the XMPP server.
  • the first DLNA gateway establishes the data channel with the second DLNA gateway.
  • the method further includes: the first DLNA gateway and/or the second DLNA gateway deregistering the login of the account; the second DLNA gateway is in the second DLNA network by using an SSDP packet Broadcasting the virtual DLNA device away from the second DLNA network.
  • the step of adding a virtual DLNA device corresponding to the DLNA device in the first DLNA network in the second DLNA gateway includes: the first DLNA gateway broadcasting the DLNA device in the first DLNA network
  • the SSDP 4 is sent to the second DLNA gateway through the data channel;
  • the second DLNA gateway adds a virtual DLNA device corresponding to the DLNA device, and modifies the SSDP broadcast by the DLNA device in the first DLNA network.
  • the SSDP message broadcast by the DLNA device in the first DLNA network includes a first URL of the DLNA device in the first DLNA network in the first DLNA network
  • the second DLNA gateway Broadcasting the modified SSDP message in the second DLNA network means: the second DLNA gateway modifies the first URL in the SSDP message to the second DLNA gateway in the second DLNA network
  • the second URL is used as the URL of the virtual DLNA device, and the modified SSDP message is broadcast in the second DLNA network.
  • the data channel is a UDP-based data channel.
  • the step of remotely controlling and/or remotely playing the DLNA device in the first DLNA network by the DLNA device in the second DLNA network by using the virtual DLNA device includes: the second DLNA gateway
  • the DLNA device in the second DLNA network performs remote control and/or remote playback of the message sent by the virtual DLNA device by using an HTTP format to a UDP format, and sends the converted message through the data channel.
  • Giving the first DLNA gateway; the second DLNA gateway converting the response message corresponding to the message returned by the first DLNA gateway from the UDP format to the HTTP format, and forwarding the converted response message to the DLNA device for remote control and/or remote playback.
  • a DLNA device sharing apparatus where the second DLNA gateway in the second DLNA network includes: an establishing module, configured to establish a first with the first DLNA network a data channel between the DLNA gateways, wherein the DLNA gateway is a DLNA device having a DMC function and capable of accessing the Internet; and a processing module configured to add a virtual DLNA device corresponding to the DLNA device in the first DLNA network; remote operation And a module configured to remotely control and/or remotely play the DLNA device in the first DLNA network by the DLNA device in the second DLNA network by the virtual DLNA device.
  • the remote operation module includes: a remote control unit, configured to: when the DLNA device in the second DLNA network controls the virtual DLNA device, access the virtual DLNA through the data channel The device performs control; and/or, the remote play unit is configured to acquire the virtual DLNA device through the data channel if the DLNA device in the second DLNA network plays the media resource in the virtual DLNA device Corresponding media resources of the DLNA device in the first DLNA network are played and played.
  • a remote control unit configured to: when the DLNA device in the second DLNA network controls the virtual DLNA device, access the virtual DLNA through the data channel The device performs control; and/or, the remote play unit is configured to acquire the virtual DLNA device through the data channel if the DLNA device in the second DLNA network plays the media resource in the virtual DLNA device Corresponding media resources of the DLNA device in the first DLNA network are played and played.
  • the establishing module includes: a login unit, configured to log in to the XMPP server with the same account as the first DLNA gateway; and an establishing unit configured to establish the data channel with the first DLNA gateway.
  • the device further includes: a logout module, configured to log off the login of the account; a broadcast module, configured to broadcast the virtual DLNA device in the second DLNA network by using an SSDP message to leave the second DLNA network.
  • a logout module configured to log off the login of the account
  • a broadcast module configured to broadcast the virtual DLNA device in the second DLNA network by using an SSDP message to leave the second DLNA network.
  • the processing module includes: a receiving module, configured to receive an SSDP message broadcast by the DLNA device in the first DLNA network sent by the first DLNA gateway through the data channel; adding a module, setting Adding a virtual DLNA device corresponding to the DLNA device; the first conversion module is configured to include, in the SSDP message, a first URL of the DLNA device in the first DLNA network in the first DLNA network
  • the first URL in the SSDP message is modified to the second URL of the second DLNA gateway in the second DLNA network as the URL of the virtual DLNA device, and the modified SSDP is reported.
  • the text is broadcast in the second DLNA network.
  • the remote operation module includes: a second conversion module, configured to connect the DLNA device in the second DLNA network to the virtual DLNA device
  • the sent message for remote control and/or remote play is converted into a UDP format by the HTTP format, and the converted message is sent to the first DLNA gateway through the data channel;
  • the second conversion module is further configured
  • the response message corresponding to the message returned by the first DLNA gateway is converted from the UDP format to the HTTP format, and the converted response message is forwarded to the DLNA device for remote control and/or remote play.
  • a data channel is established between the first DLNA gateway in the first DLNA network and the second DLNA gateway in the second DLNA network, where the DLNA gateway is a DLNA with DMC function and capable of accessing the Internet.
  • a device adding a virtual DLNA device corresponding to the DLNA device in the first DLNA network in the second DLNA gateway; the DLNA device in the second DLNA network remotely controls the DLNA device in the first DLNA network through the virtual DLNA device and/or
  • the remote play mode solves the problem that the DLNA sharing in the related art is limited to a local scope, realizes remote control and remote play across the network, expands the sharing range of the DLNA network, and improves the user experience.
  • FIG. 1 is a flowchart of a DLNA device sharing method according to an embodiment of the present invention
  • FIG. 2 is a structural block diagram of a DLNA device sharing apparatus according to an embodiment of the present invention.
  • FIG. 3 is a block diagram showing a preferred structure of a building module according to an embodiment of the present invention.
  • FIG. 4 is a block diagram showing a preferred structure of a DLNA device sharing apparatus according to an embodiment of the present invention
  • FIG. 5 is a block diagram showing a preferred structure of a processing module according to an embodiment of the present invention
  • FIG. 6 is a block diagram showing a preferred structure of an acquisition module according to an embodiment of the present invention.
  • FIG. 7 is a schematic diagram of a DLNA network interconnection structure according to Embodiment 1 of the present invention.
  • FIG. 8 is a flow chart of network interaction of a DLNA network interconnection according to a second embodiment of the present invention
  • FIG. 9 is a block diagram showing a preferred structure of a remote operation module according to an embodiment of the present invention.
  • FIG. 1 is a flowchart of a DLNA device sharing method according to an embodiment of the present invention.
  • the method includes the following steps: Step S102, a first DLNA DLNA gateway in the network (referred to as the first DLNA in this paper)
  • the gateway establishes a data channel between it and a DLNA gateway (referred to herein as a second DLNA gateway) in the second DLNA network, wherein the DLNA gateway is a DLNA device having DMC function and capable of accessing the Internet, for example, a mobile phone, TV and client equipment (Customer Premises Equipment, referred to as CPE);
  • CPE Customer Premises Equipment
  • the DLNA gateway in the first DLNA network may establish a data channel between the DLNA gateway and the DLNA gateway in the second DLNA network when the server receives the notification that the second DLNA gateway is online.
  • Step S104 The second DLNA gateway adds a virtual DLNA device corresponding to the DLNA device in the first DLNA network.
  • Step S106 The DLNA device in the second DLNA network remotely controls and/or remotely plays the DLNA device in the first DLNA network through the virtual DLNA device.
  • the DLNA device in the first DLNA network is displayed in the second DLNA gateway by using the virtual device, and the second The DLNA device in the DLNA network remotely controls and/or remotely plays the DLNA device in the first DLNA network through the virtual DLNA device, thereby implementing the DLNA device in the second DLNA network to the DLNA device in the first DLNA network.
  • Remote operation makes the sharing of DLNA devices no longer limited to a single DLNA network. It solves the problem that DLNA sharing in related technologies is limited to local scope, realizes remote control and remote playback across networks, and expands the sharing range of DLNA networks. , improved user experience.
  • the terms “first” and “second” are used herein for convenience of description only and are not intended as a limitation of a particular order or a particular meaning.
  • the DLNA device access scheme in this embodiment is not limited to the two DLNA networks, and the access of the DLNA device between the multiple DLNA networks can also be implemented by the DLNA device access scheme in this embodiment.
  • the DLNA device in the second DLNA network remotely and/or remotely plays the DLNA device in the first DLNA network through the virtual DLNA device
  • the DLNA device in the second DLNA network remotely and/or remotely plays the DLNA device in the first DLNA network through the virtual DLNA device
  • the second DLNA gateway controls the virtual DLNA device through the data channel; in the case that the DLNA device in the second DLNA network plays the media resource in the virtual DLNA device, the second DLNA gateway Obtain the first corresponding to the virtual DLNA device through the data channel
  • the media resources of the DLNA device in the DLNA network are played and played. This method is easy to operate and achievable.
  • the method may be established by using a third-party server.
  • a data channel between the first DLNA gateway and the second DLNA gateway can be established through the XMPP server.
  • the first DLNA gateway and the second DLNA gateway use the same account to log in to the XMPP server, it is confirmed that the user needs to implement interconnection between the first DLNA gateway and the second DLNA gateway, and the XMPP server will The online information of one of the gateways is notified to the other gateway.
  • the online information of the gateway that is logged in can be notified to the gateway that is logged in to facilitate the establishment of the data channel between the two gateways.
  • the order of notifications In the case that the other party's gateway is known to be online, the first DLNA gateway and the second DLNA gateway may negotiate through the XMPP protocol to establish the established data channel.
  • the data channel can be a UDP based data channel.
  • the first DLNA gateway and the second DLNA gateway may be used as a conversion device to convert a message format between the DLNA network and the data channel in which the conversion device is located, for example, the second DLNA gateway may be in the second DLNA network.
  • the DLNA device converts the message sent by the virtual DLNA device to the remote control and/or remote broadcast by the HTTP format to the UDP format, and sends the converted message to the first DLNA gateway through the data channel; the second DLNA gateway will be the first DLNA
  • the corresponding response message of the message returned by the gateway is converted into an HTTP format by the UDP format, and the converted response message is forwarded to the DLNA device for remote control and/or remote play.
  • connection needs to be disconnected.
  • the connection may be disconnected by the first DLNA gateway or the second DLNA gateway deregistering the login of the account; in this case, all the virtual DLNA devices in the broadcast have left the DLNA network.
  • the first DLNA gateway may broadcast the DLNA device in the first DLNA network.
  • the SSDP packet is converted into a unicast packet and sent to the second DLNA gateway through the data channel.
  • the second DLNA gateway may add the virtual DLNA device corresponding to the DLNA device, and
  • the SSDP packet is converted from a unicast packet to a multicast packet, and the SSDP packet is broadcasted in the second DLNA network to notify the DLNA device in the second DLNA network that the DLNA device is newly added.
  • the Uniform Resource Locator (URL) included therein may be the URL inside the first DLNA network (in this document).
  • the DLNA device in the second DLNA network can be used to ensure that the DLNA device in the second DLNA network can correctly access the DLNA device in the first DLNA network. Therefore, when the second DLNA gateway broadcasts the SSDP packet in the second DLNA network, Modifying the first URL in the SSDP message to the URL of the second DLNA gateway in the second DLNA network (referred to herein as the second URL) as the URL of the virtual DLNA device, and modifying the URL
  • the SSDP message is broadcast in the second DLNA network.
  • the DLNA device in the second DLNA network accesses the virtual DLNA device in the second DLNA gateway
  • the DLNA device in the second DLNA network searches for the second DLNA gateway according to the second URL
  • the second DLNA gateway The data of the DLNA device in the first DLNA network corresponding to the virtual DLNA device is obtained by the first DLNA gateway, and the virtual device in the second DLNA gateway is corresponding to the first DLNA network. Acquisition of data resources for DLNA devices.
  • a DLNA device sharing device is also provided in the second DLNA gateway in the second DLNA network, and the device is used to implement the foregoing embodiment and the preferred embodiment. No longer repeat them.
  • the term "module" can implement a combination of software and/or hardware for a predetermined function.
  • the apparatus described in the following embodiments is preferably implemented in software, hardware, or a combination of software and hardware, is also possible and conceivable.
  • FIG. 2 is a structural block diagram of a DLNA device sharing device according to an embodiment of the present invention. As shown in FIG. 2, the device includes: an establishing module 22, a processing module 24, and a remote operation module 26. The following describes each module in detail.
  • a module 22 configured to establish a relationship with a first DLNA gateway in the first DLNA network Data channel, wherein the DLNA gateway is a DLNA device with DMC function and capable of accessing the Internet;
  • the processing module 24 is connected to the establishing module 22, and is configured to add a virtual DLNA device corresponding to the DLNA device in the first DLNA network; 26, connected to the processing module 24, configured to remotely control and/or remotely play the DLNA device in the first DLNA network by the DLNA device in the second DLNA network through the virtual DLNA device.
  • the processing module 24 passes the DLNA device in the first DLNA network through the virtual device in the second DLNA.
  • the remote operation module 26 remotely controls and/or remotely plays the DLNA device in the first DLNA network by the DLNA device in the second DLNA network, thereby implementing the DLNA in the second DLNA network.
  • the device remotely operates the DLNA device in the first DLNA network, so that the sharing of the DLNA device is no longer limited to a single DLNA network, which solves the problem that the DLNA sharing in the related art is limited to a local scope, and realizes remote control across the network. And remote playback, which expands the sharing range of the DLNA network and improves the user experience.
  • the remote operation module 26 may include: a remote control unit 262 configured to DLNA device-to-virtual DLNA in the second DLNA network.
  • the device controls the virtual DLNA device through the data channel; and/or, the remote playback unit 264 is configured to pass the media resource in the virtual DLNA device when the DLNA device in the second DLNA network plays the media resource.
  • the data channel acquires and plays the media resource of the DLNA device in the first DLNA network corresponding to the virtual DLNA device.
  • FIG. 3 is a block diagram of a preferred structure of the establishing module 22 according to an embodiment of the present invention.
  • the establishing module 22 may include: a login unit 222, configured to log in to the XMPP server with the same account as the first DLNA gateway; 224. Connect to the login unit 222, and set to establish a data channel with the first DLNA gateway.
  • FIG. 4 is a block diagram of a preferred structure of a DLNA device sharing device according to an embodiment of the present invention.
  • the device may further include: a logout module 42 connected to the establishing module 22 and configured to log off an account; the broadcast module 44 And being connected to the logout module 42, configured to broadcast the virtual DLNA device to leave the second DLNA network in the second DLNA network by using the SSDP message.
  • FIG. 5 is a block diagram of a preferred structure of the processing module 24 according to an embodiment of the present invention.
  • the processing module 24 may include: a receiving module 242, configured to receive a first DLNA network sent by a first DLNA gateway through a data channel.
  • the first URL of the DLNA device in the first DLNA network is included in the first DLNA network
  • the first URL in the SSDP message is modified to be the second URL of the second DLNA gateway in the second DLNA network as a virtual The URL of the DLNA device, and the modified SSDP message is broadcast in the second DLNA network.
  • FIG. 6 is a block diagram of a preferred structure of the remote operation module 26 according to the embodiment of the present invention.
  • the remote operation module 26 may include: a second conversion module 266, The message that is configured to remotely control and/or remotely transmit the DLNA device in the second DLNA network to the virtual DLNA device is converted from the HTTP format to the UDP format, and the converted message is sent to the first DLNA gateway through the data channel.
  • the second conversion module 266 may be further configured to convert the response message corresponding to the message returned by the first DLNA gateway from the UDP format to the HTTP format, and forward the converted response message to the DLNA device for remote control and/or remote play. .
  • a new device type of the DLNA gateway is introduced, the interconnection of two or more DLNA networks is realized by interconnection of two DLNA gateways, and the DLNA device type of another DLNA network is virtualized in the DLNA gateway device role ( For example, DMS and DMR) enable DLNA devices of different DLNA networks to discover and control each other, ultimately enabling multimedia resource sharing across DLNA networks, extending DLNA sharing to the Internet.
  • DMS and DMR enable DLNA devices of different DLNA networks to discover and control each other, ultimately enabling multimedia resource sharing across DLNA networks, extending DLNA sharing to the Internet.
  • FIG. 7 is a schematic diagram of a DLNA network interconnection structure according to Embodiment 1 of the present invention.
  • a TV as a DMP and a DMR is provided in a first DLNA network
  • a mobile terminal as a DMC, a DMS, and a DMP.
  • PCs with four DLNA device roles and CPE with DMS capabilities are connected via routers with IP addresses of the same subnet to form a digital home network that can be shared by DLNA.
  • Other DLNA networks also have a similar networking structure, such as the second DLNA network shown in Figure 7.
  • the device In order to realize the interconnection of two DLNA networks, it is necessary to select one device from the personal consumer electronic device of the home network as a DLNA gateway to communicate with another home network, the device has the ability to access the XMPP server, and in the preferred embodiment, the CPE is selected.
  • the device acts as the device, and other devices, such as mobile terminals or televisions, can also be selected.
  • the user selected DLNA gateway device needs to register an XMPP (Extensible Messaging and Presence Protocol) account with the server on the Internet, and log in to the XMPP Server in the embodiment of the present invention.
  • the DLNA gateways of other DLNA networks also log in to the XMPP Server with the same account number.
  • This XMPP account is used as an authentication to associate DLNA gateways of different DLNA networks.
  • each DLNA gateway can have its own unique identifier, XMPP server.
  • the DLNA gateway ID associated with this is treated as a group, and the DLNA gateway in the group shares the presence information. Therefore, when the user logs in to the DLNA gateway of the second DLNA network, the DLNA gateway of the first DLNA network can know that the user wants to interconnect the first DLNA network and the second DLNA network, and the XMPP server will take the second The online information of the DLNA gateway informs the first DLNA gateway.
  • the first DLNA gateway and the second DLNA gateway can negotiate to establish a data channel using the XMPP protocol.
  • This data channel can use the UDP protocol for P2P data transmission, so that it can no longer pass through the XMPP Server.
  • network address translation (NAT) and firewall problems may need to be considered.
  • UDP tunnels may need to be relayed to reach another DLNA gateway.
  • the DLNA gateway can send the SSDP 4 of the DLNA network to the other DLNA gateway through the data channel.
  • SSDP is established by using HTTP over UDP.
  • the data channel is also a UDP tunnel. Therefore, the SSDP can be directly transmitted to another DLNA gateway through the UDP tunnel.
  • the original multicast packet needs to be a unicast packet.
  • After receiving the SSDP packet of the data tunnel after parsing, add and delete another one on the DLNA gateway according to the device join notification or leave notification and keep-alive notification.
  • Virtual DMS and DMR devices for DLNA networks The device description information and service description information of the virtual DMS and the DMR device are obtained through the data channel to the target DLNA gateway.
  • a pseudo TCP tunnel needs to be used on the UDP data channel for traffic control and transmission.
  • the target DLNA gateway obtains the device description and service description information of the virtual DMS and the DMR from the source DLNA gateway, and then broadcasts on the DLNA network in which it is located through the SSDP protocol, and other DLNA devices in the DLNA network can know the description information of the virtual DMS and the DMR device.
  • control information like the DMS and DMR devices in the current DLNA network, to control and display, to achieve localized sharing of remote DMS and DMR.
  • Local DMS and DMR devices are also shared to the first DLNA network through the DLNA gateway.
  • DMS and DMR devices of the two DLNA networks can access each other to realize sharing of media resources across DLNA networks.
  • the media resource item shared by the virtual DMS may be different from the resource URL of the resource item of the actual DMS device.
  • its URL may be reconfigured by the DLNA gateway according to its own IP address. Therefore, when receiving the resource request of the local DLNA network, the DLNA gateway needs to obtain the resource through the previously established data channel to the target DLNA gateway, and the target DLNA gateway requests the DMS resource through the HTTP protocol, and then transmits the multimedia data through the data channel through protocol conversion. To the source DLNA gateway, the source DLNA gateway then transmits the relevant DLNA device to the local DLNA network through the HTTP protocol.
  • the DLNA gateway acts as a different DLNA device role and performs the conversion of the transport protocol according to the location.
  • the source DLNA gateway acts as a DMS, and the resource request of the virtual DMS is forwarded to the destination DLNA gateway; and the destination DLNA gateway acts as the destination DLNA gateway.
  • DMP which obtains the media data of the actual DMS resource, does not perform the presentation operation itself, and transmits to the source DLNA through the data channel.
  • the DLNA gateway broadcasts the virtual DMS and DMR to the DLNA network through the SSDP protocol to its own DLNA network. If the user voluntarily gives up the interconnection of the two DLNAs, as long as the XMPP account is logged off on one DLNA gateway, the DLNA gateway broadcasts the DMS and DMR devices of other DLNA networks through the SSDP protocol to leave the DLNA network, and other DLNA gateways notify the offline through the XMPP server. The virtual DMS and DMR that broadcast this DLNA network through the SSDP protocol will leave their DLNA network.
  • the user can interconnect the DLNA networks at different locations, for example, the user has his own DLNA network at home and in the workplace, the user is currently in the home network in the workplace, and the user's family is at home; The user finds a media resource of interest to share with the home network in the home, and the user can view the media resource by assigning the media resource to the virtual DMR of the DLNA gateway. Or the user uploads the media resource to the DLNA virtual DMS, and then the user's family browses the local DMS server to see the media resource. Users can remotely control their home DLNA devices, such as playing specified media content to their families, while family members do not need control.
  • FIG. 8 is a flow chart of network interaction of a DLNA network interconnection according to Embodiment 2 of the present invention, as shown in FIG.
  • DMS and DLNA GATEWAY1 are described in the first DLNA network. Only one DMR and DLNA GATEWAY2 appear in the second DLNA network. In principle, there may be any DLNA network. Any number of DMS and DMR.
  • the network interconnection scheme of the preferred embodiment can also be extended to more than three DLNA networks. Before the two DLNA networks are interconnected, an account needs to be applied to the XMPP server. The DLNA gateway selected by the user must have Internet access capability, DLNA. Other DLNA devices in the network may not have this capability.
  • the following description focuses on the interconnection protocol of two DLNA gateways, the device discovery process in two DLNA networks (including local DLNA devices and virtual DLNA devices), and the local DLNA terminal acquiring the remote DLNA network for playback.
  • the protocol conversion and the interaction process are similar to the above description, and will not be described again.
  • the network interaction process of the DLNA network interconnection in the preferred embodiment includes the following steps: Step S802: The user logs in the XMPP server in the selected DLNA gateway 1 using the XMPP account in the first DLNA network, and the XMPP server verifies the XMPP account. Legitimacy, and add the login ID associated with this as a group, and the login ID in the group shares the presence information.
  • Step S804 If the XMPP server has the login identifier associated with the XMPP account, the XMPP server sends its presence information to the XMPP server, that is, the user wants to interconnect another DLNA network. In this example, because the DLNA gateway 2 is not logged in, XMPP The server does not have presence information for DLNA Gateway 2. In step S806, the DLNA gateway 2 logs in to the XMPP server in the same manner.
  • Step S808 The XMPP server finds that the DLNA gateway 1 associated with the XMPP account is online, and notifies the DLNA gateway 2 of the online information.
  • Step S810 the XMPP server also notifies the DLNA gateway 2 that the DLNA gateway 1 has online information.
  • the user wants to realize the interconnection of the DLNA network where the DLNA gateway 1 is located and the DLNA network where the DLNA gateway 2 is located.
  • step S812 the DLNA gateway 1 negotiates with the DLNA gateway 2 through the XMPP: JINGLE protocol. Due to the networking complexity of the DLNA gateway 1 and the DLNA gateway 2, the negotiation process needs to be transited by the XMPP server.
  • the first is session initiation.
  • the DLNA gateway 1 transmission method (UDP, TCP, and ICE-UDP, ICE-TCP) is sent to the DLNA gateway 2 through the XMPP server.
  • the DLNA gateway 2 first confirms the message, and then according to the DLNA gateway 1
  • the transmission method is attempted to acquire a transmission method in which the DLNA gateway 2 can successfully connect with the DLNA gateway 1.
  • DLNA gateway 1 and DLNA gateway 2 are on the same local area network, there is no NAT traversal and firewall, then P2P transmission can be performed through UDP or TCP; if there is NAT traversal, ICE-UDP can be used, and relay may be needed. P2P transmission is possible.
  • Step S814 after completing the discovery of the transmission method, the DLNA gateway 2 sends the session acceptance information through the XMPP: JINGLE protocol, and the DLNA gateway 1 confirms this, and the DLNA gateway 1 and the DLNA gateway 2 complete the negotiation of the data channel.
  • the DLNA gateway 2 sends the session acceptance information through the XMPP: JINGLE protocol, and the DLNA gateway 1 confirms this, and the DLNA gateway 1 and the DLNA gateway 2 complete the negotiation of the data channel.
  • Step S816 According to the transmission method in the foregoing negotiation result, the DLNA gateway 1 and the DLNA gateway 2 establish a data channel. Due to the networking difference between the DLNA gateways, P2P transmission may be required through relaying.
  • Step S820 The DLNA gateway 1 receives the SSDP message of the DMS as the DMC device role, and finds that a new DLNA device joins the local DLNA network.
  • Step S822 the DLNA gateway 1 encapsulates the received SSDP message into the data channel and sends it to the DLNA gateway 2.
  • Step S824 the DLNA gateway 2 parses the SSDP message, and finds that the DMS of the first DLNA network joins the DLNA network, and obtains the device description and service description information of the DMS through the data channel to the first DLNA network, and these interaction processes are all negotiated through the foregoing.
  • the data channel is transmitted.
  • Step S826 the DLNA gateway 2 modifies the obtained device description information and the URL of the service description information, replaces the local IP address, and broadcasts the SSDP message to the second DLNA network to notify the virtual DMS to join the DLNA network.
  • Step S828, the DMR in the second DLNA network also uses the above steps S818-S826, and there is a virtual DMR in the first DLNA network. Adding and deleting virtual DLNA devices enables remote playback and remote control. For example, in the second DLNA network, the DMP/DMR is used to play the virtual DMS resources for remote playback. The DMC control of virtual DMR to play specific content is a remote control function.
  • Step S830 in the second DLNA network, the DMC specifies that the DMR plays the media content of the virtual DMS, and the DMR requests the media content from the DMS initiated by the DLNA gateway 2; the media resource item URL of the virtual DMS is different from the media resource item URL of the actual DMS.
  • the former uses the IP address of the DLNA gateway 2 as the host address, while the latter uses the current IP address as the host address.
  • the DLNA gateway 2 receives the resource request for the virtual DMS, and can request the real resource from the DLNA gateway 1 by using the UUID (Universally Unique Identifier) of the virtual DMS device and the virtual DMS device.
  • the DLNA gateway 2 Perform protocol data conversion. Different UMS and DMR devices can be distinguished by UUID.
  • the DLNA gateway 2 can directly access the DLNA device in the first DLNA network through the UUID.
  • Step S834 sending a resource request to the DLNA gateway 1 through the previously established data channel.
  • Step S840 the DMS responds to the HTTP request of the resource, and sends the media resource data to the DLNA gateway 1, and the DLNA gateway 1 can perform protocol conversion processing.
  • Step S842 the DLNA gateway 1 sends the HTTP response message after the data through the data channel. Go to DLNA Gateway 2.
  • Step S844 the DLNA gateway 2 performs protocol data conversion processing, and transmits the media resource data to the DMR device through a standard HTTP response, and the DMR starts to buffer the media resource data and plays the same, and finally the DMR of the second DLNA network can play the first one.
  • the DMS and the DLNA gateway 1 can be processed by using a standard HTTP protocol.
  • the DLNA gateway 1 and the DLNA gateway 2 can use the XMPP: JINGLE negotiated data channel for data transmission, and the DLNA gateway 2 and the DMR can use standard HTTP.
  • the protocol interacts.
  • the DLNA gateway 1 and the DLNA gateway 2 can perform protocol conversion work, convert the data in the data channel into an HTTP protocol encapsulation, and then convert the HTTP protocol into a data encapsulation format of the data channel. This process is transparent to the devices of the DLNA network, and the devices of the DLNA network do not need to know the protocol conversion process.
  • the protocol for accessing the virtual DLNA device is the HTTP protocol
  • the HTTP protocol can be converted to the UDP protocol on the DLNA gateway
  • the first DLNA network negotiates a UDP with the second through the XMPP protocol.
  • this channel is used to realize the communication between the virtual DMS/DMR device and the DLNA gateway to achieve the purpose of accessing the actual DLNA device.
  • a storage medium is also provided, the software being stored, including but not limited to an optical disk, a floppy disk, a hard disk, a rewritable memory, and the like.
  • a data channel is established between the first DLNA gateway in the first DLNA network and the second DLNA gateway in the second DLNA network, where the DLNA gateway is a DLNA with DMC function and capable of accessing the Internet.
  • a device adding a virtual DLNA device corresponding to the DLNA device in the first DLNA network in the second DLNA gateway; the DLNA device in the second DLNA network remotely controls the DLNA device in the first DLNA network through the virtual DLNA device and/or
  • the remote play mode solves the problem that the DLNA sharing in the related art is limited to a local scope, realizes remote control and remote play across the network, expands the sharing range of the DLNA network, and improves the user experience.

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Automation & Control Theory (AREA)
  • Computing Systems (AREA)
  • Multimedia (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

一种DLNA设备共享方法及装置,其中,该方法包括:建立第一DLNA网络中的第一DLNA网关与第二DLNA网络中的第二DLNA网关之间的数据通道,其中,DLNA网关是具有DMC功能且能够访问互联网的DLNA设备;在第二DLNA网关中添加第一DLNA网络中的DLNA设备对应的虚拟DLNA设备;第二DLNA网络中的DLNA设备通过虚拟DLNA设备对第一DLNA网络中的DLNA设备进行远程控制和/或远程播放。通过本发明实施例,解决了相关技术中DLNA共享只限于局部范围内的问题,实现了跨网络的远程控制以及远程播放,扩大了DLNA网络的共享范围,提高了用户体验。

Description

DLNA设备共享方法及装置
技术领域
本发明涉及通信领域, 具体而言, 涉及一种数字生活网络联盟(Digital Living Network Alliance , 简称为 DLNA )设备共享方法及装置。
背景技术
数字生活网络联盟( Digital Living Network Alliance, 简称为 DLNA )是 由索尼、 英特尔和微软发起的一个非盈利性组织, 旨在解决消费电子设备之 间共享数字媒体内容。 DLNA使用通用即插即用 (Universal Plug and Play, 简 称为 UPnP )协议来进行设备发现、 描述和控制, 在此基础上定义了各种各样 的 DLNA设备角色: 数字媒体服务器(Digital Media Server, 简称为 DMS ) 、 数字媒体播放器( Digital Media Player,简称为 DMP )、数字媒体控制器( Digital Media Controller, 简称为 DMC )和数字媒体渲染器( Digital Media Renderer, 简称为 DMR ) 。
DMS和 DMR作为 UPnP的基本设备类型, 可以通过简单业务发现协议 ( Simple Service Discovery Protocol, 简称为 SSDP )向网络广播自己的在线信 息和描述信息, 以便 DMC能够将 DMS共享的媒体内容在 DMR上进行播放 或者 DMP能够播放 DMS上共享的媒体内容。 它们之间的通信协议可以为超 文本传输协议( HyperText Transfer Protocol , 简称为 HTTP ) , 可以釆用用户 数据报协议 (User Datagram Protocol , 简称为 UDP ) 或者传输控制协议 ( Transmission Control Protocol, 简称为 TCP )协议来进行承载, 例如 SSDP 就是使用 HTTP over UDP, 而获取设备描述信息和业务描述信息以及之后的 设备控制则使用 HTTP over TCP„
DLNA网络通常是家庭环境下的局域网环境或者相同子网的工作网络或 者公共网络, 对于广域网或者不同子网的网络目前无法利用 DLNA的媒体资 源共享方法。 因此 DLNA共享只限于局部范围内, 没有延伸到互联网上的共 享, 无法得到更广泛的应用。 针对相关技术中 DLNA共享只限于局部范围内的问题, 目前尚未提出有 效的解决方案。 发明内容
本发明实施例提供一种 DLNA设备共享方法及装置, 用于解决相关技术 中 DLNA共享只限于局部范围内的问题。
根据本发明实施例的一个方面,提供了一种 DLNA设备共享方法, 包括: 建立第一 DLNA网络中的第一 DLNA网关与第二 DLNA网络中的第二 DLNA 网关之间的数据通道, 其中, 所述 DLNA网关是具有 DMC功能且能够访问 互联网的 DLNA设备;在所述第二 DLNA网关中添加所述第一 DLNA网络中 的 DLNA设备对应的虚拟 DLNA设备; 所述第二 DLNA网络中的 DLNA设 备通过所述虚拟 DLNA设备对所述第一 DLNA网络中的 DLNA设备进行远程 控制和 /或远程播放。
可选地,所述第二 DLNA网络中的 DLNA设备通过所述虚拟 DLNA设备 对所述第一 DLNA网络中的 DLNA设备进行远程控制和 /或远程播放的步骤 包括:在所述第二 DLNA网络中的 DLNA设备对所述虚拟 DLNA设备进行控 制的情况下,所述第二 DLNA网关通过所述数据通道对所述虚拟 DLNA设备 进行控制;和 /或,在所述第二 DLNA网络中的 DLNA设备播放所述虚拟 DLNA 设备中的媒体资源的情况下, 所述第二 DLNA网关通过所述数据通道获取所 述虚拟 DLNA设备对应的所述第一 DLNA网络中的 DLNA设备的媒体资源并 进行播放。
可选地,建立第一 DLNA网络中的第一 DLNA网关与第二 DLNA网络中 的第二 DLNA网关之间的数据通道的步骤包括:通过 XMPP服务器建立所述 第一 DLNA网关与所述第二 DLNA网关之间的数据通道。
可选地,通过 XMPP服务器建立所述第一 DLNA网关与所述第二 DLNA 网关之间的数据通道指: 所述第一 DLNA网关与所述第二 DLNA网关使用相 同的账号登录所述 XMPP服务器;所述第一 DLNA网关与所述第二 DLNA网 关建立所述数据通道。 可选地, 所述方法还包括: 所述第一 DLNA 网关和 /或所述第二 DLNA 网关注销所述账号的登录; 所述第二 DLNA网关通过 SSDP报文在所述第二 DLNA网络中广播所述虚拟 DLNA设备离开所述第二 DLNA网络。
可选地,在所述第二 DLNA网关中添加所述第一 DLNA网络中的 DLNA 设备对应的虚拟 DLNA设备的步骤包括: 所述第一 DLNA网关将所述第一 DLNA网络中的 DLNA设备广播的 SSDP 4艮文通过所述数据通道发送给所述 第二 DLNA 网关; 所述第二 DLNA 网关添加所述 DLNA设备对应的虚拟 DLNA设备, 修改所述第一 DLNA网络中的 DLNA设备广播的 SSDP报文, 并在所述第二 DLNA网络中广播修改后的 SSDP报文。
可选地, 所述第一 DLNA网络中的 DLNA设备广播的 SSDP报文中包含 所述第一 DLNA网络中的 DLNA设备在所述第一 DLNA网络中的第一 URL , 所述第二 DLNA网关在所述第二 DLNA网络中广播修改后的 SSDP报文指: 所述第二 DLNA网关将所述 SSDP报文中的第一 URL修改为所述第二 DLNA 网关在所述第二 DLNA网络中的第二 URL作为所述虚拟 DLNA设备的 URL, 并将修改后的 SSDP报文在所述第二 DLNA网络中广播。
可选地, 所述数据通道为基于 UDP的数据通道。
可选地,所述第二 DLNA网络中的 DLNA设备通过所述虚拟 DLNA设备 对所述第一 DLNA网络中的 DLNA设备进行远程控制和 /或远程播放的步骤 包括:所述第二 DLNA网关将所述第二 DLNA网络中的 DLNA设备对所述虚 拟 DLNA设备发送的进行远程控制和 /或远程播放的消息由 HTTP格式转换成 UDP格式, 并将转换后的所述消息通过所述数据通道发送给所述第一 DLNA 网关; 所述第二 DLNA网关将所述第一 DLNA网关返回的所述消息相应的响 应消息由 UDP格式转换成 HTTP格式,并将转换后的所述响应消息转发给进 行远程控制和 /或远程播放的 DLNA设备。
根据本发明实施例的另一方面, 还提供了一种 DLNA设备共享装置, 位 于第二 DLNA网络中的第二 DLNA网关中, 包括: 建立模块, 设置为建立与 第一 DLNA网络中的第一 DLNA网关之间的数据通道, 其中, 所述 DLNA 网关是具有 DMC功能且能够访问互联网的 DLNA设备; 处理模块, 设置为 添加所述第一 DLNA网络中的 DLNA设备对应的虚拟 DLNA设备;远程操作 模块,设置为所述第二 DLNA网络中的 DLNA设备通过所述虚拟 DLNA设备 对所述第一 DLNA网络中的 DLNA设备进行远程控制和 /或远程播放。
可选地, 所述远程操作模块包括: 远程控制单元, 设置为在所述第二 DLNA网络中的 DLNA设备对所述虚拟 DLNA设备进行控制的情况下,通过 所述数据通道对所述虚拟 DLNA设备进行控制; 和 /或, 远程播放单元, 设置 为在所述第二 DLNA网络中的 DLNA设备播放所述虚拟 DLNA设备中的媒体 资源的情况下, 通过所述数据通道获取所述虚拟 DLNA设备对应的所述第一 DLNA网络中的 DLNA设备的媒体资源并进行播放。
可选地, 所述建立模块包括: 登录单元, 设置为与所述第一 DLNA网关 使用相同的账号登录 XMPP服务器; 建立单元, 设置为与所述第一 DLNA网 关建立所述数据通道。
可选地, 所述装置还包括: 注销模块, 设置为注销所述账号的登录; 广 播模块,设置为通过 SSDP报文在所述第二 DLNA网络中广播所述虚拟 DLNA 设备离开所述第二 DLNA网络。
可选地, 所述处理模块包括: 接收模块, 设置为接收所述第一 DLNA网 关通过所述数据通道发来的所述第一 DLNA 网络中的 DLNA设备广播的 SSDP报文; 添加模块,设置为添加所述 DLNA设备对应的虚拟 DLNA设备; 第一转换模块, 设置为在所述 SSDP报文中包含所述第一 DLNA 网络中的 DLNA设备在所述第一 DLNA网络中的第一 URL的情况下,将所述 SSDP报 文中的第一 URL修改为所述第二 DLNA网关在所述第二 DLNA网络中的第 二 URL作为所述虚拟 DLNA设备的 URL, 并将修改后的 SSDP报文在所述 第二 DLNA网络中广播。
可选地, 在所述数据通道为基于 UDP的数据通道的情况下, 所述远程操 作模块包括: 第二转换模块, 设置为将所述第二 DLNA网络中的 DLNA设备 对所述虚拟 DLNA设备发送的进行远程控制和 /或远程播放的消息由 HTTP格 式转换成 UDP格式,并将转换后的所述消息通过所述数据通道发送给所述第 一 DLNA网关; 所述第二转换模块还设置为将所述第一 DLNA网关返回的所 述消息相应的响应消息由 UDP格式转换成 HTTP格式,并将转换后的所述响 应消息转发给进行远程控制和 /或远程播放的 DLNA设备。 通过本发明实施例,釆用建立第一 DLNA网络中的第一 DLNA网关与第 二 DLNA网络中的第二 DLNA网关之间的数据通道, 其中, DLNA网关是具 有 DMC功能且能够访问互联网的 DLNA设备; 在第二 DLNA网关中添加第 一 DLNA网络中的 DLNA设备对应的虚拟 DLNA设备; 第二 DLNA网络中 的 DLNA设备通过虚拟 DLNA设备对第一 DLNA网络中的 DLNA设备进行 远程控制和 /或远程播放的方式,解决了相关技术中 DLNA共享只限于局部范 围内的问题, 实现了跨网络的远程控制以及远程播放, 扩大了 DLNA网络的 共享范围, 提高了用户体验。 附图概述
图 1是根据本发明实施例的 DLNA设备共享方法的流程图;
图 2是根据本发明实施例的 DLNA设备共享装置的结构框图;
图 3是根据本发明实施例的建立模块的优选结构框图;
图 4是根据本发明实施例的 DLNA设备共享装置的优选结构框图; 图 5是根据本发明实施例的处理模块的优选结构框图;
图 6是根据本发明实施例的获取模块的优选结构框图;
图 7是根据本发明实施例一的 DLNA网络互连结构示意图;
图 8是根据本发明实施例二的 DLNA网络互连的网络交互流程图; 图 9是根据本发明实施例的远程操作模块的优选结构框图。 本发明的较佳实施方式
下文中将结合附图对本发明的实施例进行详细说明。 需要说明的是, 在 不冲突的情况下, 本申请中的实施例及实施例中的特征可以相互任意组合。
在本实施例中提供了一种 DLNA设备共享方法, 图 1是根据本发明实施 例的 DLNA设备共享方法的流程图, 如图 1所示, 该方法包括如下步骤: 步骤 S 102 ,第一 DLNA网络中的 DLNA网关(在本文中简称为第一 DLNA 网关)建立其与第二 DLNA网络中的 DLNA网关(在本文中简称为第二 DLNA 网关)之间的数据通道, 其中, DLNA网关是具有 DMC功能且能够访问互 联网的 DLNA设备, 例如, 手机、 电视和客户端设备(Customer Premises Equipment, 简称为 CPE )等;
上述步骤中,第一 DLNA网络中的 DLNA网关可以是在收到服务器有关 第二 DLNA网关已在线的通知时,建立其与第二 DLNA网络中的 DLNA网关 之间的数据通道的
步骤 S 104 , 第二 DLNA网关添加第一 DLNA网络中的 DLNA设备对应 的虚拟 DLNA设备;
步骤 S 106 , 第二 DLNA网络中的 DLNA设备通过该虚拟 DLNA设备对 第一 DLNA网络中的 DLNA设备进行远程控制和 /或远程播放。
本实施例通过上述步骤,在建立起第一 DLNA网关与第二 DLNA网关之 间的数据通道之后,将第一 DLNA网络中的 DLNA设备通过虚拟设备的方式 在第二 DLNA 网关中展现, 第二 DLNA 网络中的 DLNA设备通过该虚拟 DLNA设备对第一 DLNA网络中的 DLNA设备进行远程控制和 /或远程播放 , 从而实现了第二 DLNA网络中的 DLNA设备对第一 DLNA网络中的 DLNA 设备的远程操作, 使得 DLNA设备的共享不再局限于单个 DLNA网络内部, 解决了相关技术中 DLNA共享只限于局部范围内的问题, 实现了跨网络的远 程控制以及远程播放, 扩大了 DLNA网络的共享范围, 提高了用户体验。
需要说明的是, 本文中的 "第一" "第二" 仅用于描述方便, 并不作为 特定顺序或特殊含义的限定。 并且, 本实施例中的 DLNA设备访问方案并不 局限于两个 DLNA网络之间,在多个 DLNA网络之间实现 DLNA设备的访问 同样可以通过本实施例中的 DLNA设备访问方案实现。
作为一种优选实施方式, 第二 DLNA 网络中的 DLNA设备通过虚拟 DLNA设备对第一 DLNA网络中的 DLNA设备进行远程控制和 /或远程播放 可以通过以下方式实现: 在第二 DLNA网络中的 DLNA设备对虚拟 DLNA 设备进行控制的情况下,第二 DLNA网关通过数据通道对虚拟 DLNA设备进 行控制;在第二 DLNA网络中的 DLNA设备播放虚拟 DLNA设备中的媒体资 源的情况下,第二 DLNA网关通过数据通道获取虚拟 DLNA设备对应的第一 DLNA网络中的 DLNA设备的媒体资源并进行播放。 这种方式易于操作, 可 实现性强。
步骤 S102中建立第一 DLNA网关与第二 DLNA网关之间的数据通道的 方式有很多种, 例如, 可以通过第三方服务器的方式进行建立。 作为一种优 选实施方式, 可以通过 XMPP服务器, 来建立第一 DLNA网关与第二 DLNA 网关之间的数据通道。
可选地,可以在第一 DLNA网关与第二 DLNA网关使用相同的账号登录 XMPP服务器的情况下,确认用户需要实现第一 DLNA网关与第二 DLNA网 关的互连, 此时, XMPP服务器会将其中一个网关的在线信息通知给另一网 关, 例如可以将在后登录的网关的在线信息通知给在先登录的网关, 以方便 这两个网关之间协商建立数据通道, 当然也可以替换为相反的通知顺序。 在 获知对方网关在线的情况下, 第一 DLNA网关与第二 DLNA网关可以通过 XMPP协议进行协商以建立该建立数据通道。
可选地, 该数据通道可以为基于 UDP的数据通道。 在这种情况下, 第一 DLNA网关和第二 DLNA网关可以作为转换设备将其所在的 DLNA网络与数 据通道之间的消息格式进行转换, 例如, 第二 DLNA网关可以将第二 DLNA 网络中的 DLNA设备对虚拟 DLNA设备发送的进行远程控制和 /或远程播放 的消息由 HTTP格式转换成 UDP格式,并将转换后的消息通过数据通道发送 给第一 DLNA网关;第二 DLNA网关将第一 DLNA网关返回的消息相应的响 应消息由 UDP格式转换成 HTTP格式,并将转换后的响应消息转发给进行远 程控制和 /或远程播放的 DLNA设备。
可选地, 在第一 DLNA网关与第二 DLNA网关通过数据通道连接之后, 如果出现连接异常, 或者用户主动放弃这两个或多个 DLNA网关之间的互连 等情况需要断开该连接,则可以通过第一 DLNA网关或者第二 DLNA网关任 意一方或多方注销上述账号的登录的方式来断开该连接; 在这种情况下, 存 中广播所有的虚拟 DLNA设备均已离开该 DLNA网络。
作为一种优选实施方式,可以在第一 DLNA网络中有加入的 DLNA设备 的情况下,第一 DLNA网关可以将该 DLNA设备在第一 DLNA网络中广播的 SSDP报文由组播报文转为单播报文, 并通过数据通道发送给第二 DLNA网 关; 第二 DLNA网关在接收到该 SSDP报文后, 可以添加该 DLNA设备对应 的虚拟 DLNA设备, 并将该 SSDP报文由单播报文转为组播报文, 并在第二 DLNA网络中广播该 SSDP报文, 以通知第二 DLNA网络中的 DLNA设备有 新加入的 DLNA设备。
可选地,由于上述 SSDP报文是由第一 DLNA网络中的 DLNA设备发出, 因此其包含的统一资源定位符(Uniform Resource Locator, 简称为 URL )可 能是第一 DLNA网络内部的 URL (在本文中简称为第一 URL ) , 因此, 为了 保证第二 DLNA 网络中的 DLNA设备能够正确访问第一 DLNA 网络中的 DLNA设备, 因此第二 DLNA网关在第二 DLNA网络中广播 SSDP报文时, 可以将该 SSDP报文中的第一 URL修改为该第二 DLNA网关在其所在的第二 DLNA网络中的 URL (在本文中简称为第二 URL )作为该虚拟 DLNA设备的 URL, 并将修改后的 SSDP报文在第二 DLNA网络中广播。
通过上述方式,在第二 DLNA网络中的 DLNA设备访问第二 DLNA网关 中的虚拟 DLNA设备的情况下, 第二 DLNA网络中的 DLNA设备根据第二 URL查找到了第二 DLNA网关,第二 DLNA网关可以通过数据通道请求第一 DLNA网关根据第一 URL获取该虚拟 DLNA设备对应的第一 DLNA网络中 的 DLNA设备的数据, 从而实现了对第二 DLNA网关中的虚拟设备在第一 DLNA网络中对应的 DLNA设备的数据资源的获取。
对应于上述方法, 在本实施例中还提供了一种 DLNA设备共享装置, 位 于第二 DLNA网络中的第二 DLNA网关中,该装置用于实现上述实施例及优 选实施方式, 已经进行过说明的不再赘述。 如以下所使用的, 术语 "模块" 可以实现预定功能的软件和 /或硬件的组合。 尽管以下实施例所描述的装置较 佳地以软件来实现, 但是硬件, 或者软件和硬件的组合的实现也是可能并被 构想的。
图 2是根据本发明实施例的 DLNA设备共享装置的结构框图, 如图 2所 示, 该装置包括: 建立模块 22、 处理模块 24和远程操作模块 26, 下面对各 个模块进行详细说明。
建立模块 22 , 设置为建立与第一 DLNA网络中的第一 DLNA网关之间 的数据通道,其中, DLNA网关是具有 DMC功能且能够访问互联网的 DLNA 设备; 处理模块 24, 与建立模块 22相连, 设置为添加第一 DLNA网络中的 DLNA设备对应的虚拟 DLNA设备; 远程操作模块 26, 与处理模块 24相连, 设置为第二 DLNA网络中的 DLNA设备通过虚拟 DLNA设备对第一 DLNA 网络中的 DLNA设备进行远程控制和 /或远程播放。
本实施例通过上述模块, 在建立模块 22建立起第一 DLNA网关与第二 DLNA网关之间的数据通道之后,处理模块 24将第一 DLNA网络中的 DLNA 设备通过虚拟设备的方式在第二 DLNA网关中展现, 远程操作模块 26将第 二 DLNA网络中的 DLNA设备通过该虚拟 DLNA设备对第一 DLNA网络中 的 DLNA设备进行远程控制和 /或远程播放, 从而实现了第二 DLNA网络中 的 DLNA设备对第一 DLNA网络中的 DLNA设备的远程操作, 使得 DLNA 设备的共享不再局限于单个 DLNA网络内部,解决了相关技术中 DLNA共享 只限于局部范围内的问题, 实现了跨网络的远程控制以及远程播放, 扩大了 DLNA网络的共享范围, 提高了用户体验。
图 9是根据本发明实施例的远程操作模块 26的优选结构框图,如图 9所 示, 远程操作模块 26可以包括: 远程控制单元 262, 设置为在第二 DLNA网 络中的 DLNA设备对虚拟 DLNA设备进行控制的情况下,通过数据通道对虚 拟 DLNA设备进行控制; 和 /或, 远程播放单元 264, 设置为在第二 DLNA网 络中的 DLNA设备播放虚拟 DLNA设备中的媒体资源的情况下,通过数据通 道获取虚拟 DLNA设备对应的第一 DLNA网络中的 DLNA设备的媒体资源并 进行播放。
图 3是根据本发明实施例的建立模块 22的优选结构框图, 如图 3所示, 建立模块 22可以包括: 登录单元 222, 设置为与第一 DLNA网关使用相同的 账号登录 XMPP服务器; 建立单元 224, 与登录单元 222相连, 设置为与第 一 DLNA网关建立数据通道。
图 4是根据本发明实施例的 DLNA设备共享装置的优选结构框图, 如图 4所示, 该装置还可以包括: 注销模块 42, 与建立模块 22相连, 设置为注销 账号的登录; 广播模块 44, 与注销模块 42相连, 设置为通过 SSDP报文在第 二 DLNA网络中广播虚拟 DLNA设备离开第二 DLNA网络。 图 5是根据本发明实施例的处理模块 24的优选结构框图, 如图 5所示, 处理模块 24可以包括: 接收模块 242, 设置为接收第一 DLNA网关通过数据 通道发来的第一 DLNA网络中的 DLNA设备广播的 SSDP报文; 添加模块 244, 与接收模块 242相连, 设置为添加 DLNA设备对应的虚拟 DLNA设备; 第一转换模块 246, 与添加模块 244相连, 设置为在 SSDP报文中包含第一 DLNA网络中的 DLNA设备在第一 DLNA网络中的第一 URL的情况下, 将 SSDP报文中的第一 URL修改为第二 DLNA网关在第二 DLNA网络中的第二 URL作为虚拟 DLNA设备的 URL, 并将修改后的 SSDP报文在第二 DLNA 网络中广播。
图 6是根据本发明实施例的远程操作模块 26的优选结构框图,如图 6所 示, 在数据通道为基于 UDP的数据通道的情况下, 远程操作模块 26可以包 括: 第二转换模块 266, 设置为将第二 DLNA 网络中的 DLNA设备对虚拟 DLNA设备发送的进行远程控制和 /或远程播放的消息由 HTTP格式转换成 UDP格式, 并将转换后的消息通过数据通道发送给第一 DLNA网关; 第二转 换模块 266还可以设置为将第一 DLNA 网关返回的消息相应的响应消息由 UDP格式转换成 HTTP格式,并将转换后的响应消息转发给进行远程控制和 / 或远程播放的 DLNA设备。
下面结合优选实施例进行说明, 以下优选实施例结合了上述实施例及其 优选实施方式。
在以下优选实施例中,主要涉及两个以上的数字家庭网络互连互通方法。 在以下优选实施例中, 引入 DLNA网关的新设备类型, 通过两个 DLNA网关 的互连来实现两个以上 DLNA网络的互连,在 DLNA网关设备角色中虚拟另 一个 DLNA网络的 DLNA设备类型(例如, DMS和 DMR ) ,使得不同 DLNA 网络的 DLNA设备能够相互发现和控制,最终实现跨 DLNA网络的多媒体资 源共享, 将 DLNA共享延伸到互联网上。
实施例一
图 7是根据本发明实施例一的 DLNA网络互连结构示意图,如图 7所示, 在第一个 DLNA网络中有作为 DMP和 DMR的电视, 作为 DMC、 DMS和 DMP的手机终端, 兼有四种 DLNA设备角色的 PC和具有 DMS功能的 CPE ( Customer Premises Equipment, 客户端设备) , 这些个人消费电子设备通过 路由器进行连接,具有相同子网的 IP地址,组成一个可以 DLNA共享的数字 家庭网络。其它 DLNA网络也有类似的组网结构,如图 7所示的第二个 DLNA 网络。
为了实现两个 DLNA网络的互连, 需要从家庭网络的个人消费电子设备 选择一个设备作为 DLNA网关来与另外一个家庭网络进行通信, 这个设备具 备访问 XMPP服务器的能力,本优选实施例中选择 CPE设备充当这个设备角 色, 也可以选择其它设备, 例如手机终端或者电视。 用户选中的 DLNA网关 设备需要在互联网上的服务器注册一个 XMPP ( Extensible Messaging and Presence Protocol, 扩展消息与呈现协议)账号, 通过这个账号登录到本发明 实施例中的 XMPP Server。 其它 DLNA网络的 DLNA网关也以同样的账号登 录到 XMPP Server, 这个 XMPP账号作为身份验证, 将不同 DLNA网络的 DLNA网关给关联起来, 实际上每个 DLNA网关都可以有自己唯一的标识, XMPP服务器将与此关联的 DLNA网关标识作为一个群组, 群组内的 DLNA 网关共享呈现信息。 因此当用户在第二个 DLNA网络的 DLNA网关登录后, 第一个 DLNA网络的 DLNA网关能够知道用户要实现第一个 DLNA网络和第 二个 DLNA网络的互连, XMPP服务器会把第二个 DLNA网关的在线信息通 知第一个 DLNA网关。
第一个 DLNA网关和第二个 DLNA网关可以釆用 XMPP协议进行协商建 立一个数据通道, 这个数据通道可以釆用 UDP协议进行 P2P的数据传输,从 而能够不再经过 XMPP Server。但是, 由于不同 DLNA网络之间的组网问题, 可能需要考虑网络地址转换(Network Address Translation, 简称为 NAT ) 穿 越和防火墙问题, UDP隧道可能需要经过中继才能到达另外一个 DLNA网关。
DLNA 网关在建立与另外一个 DLNA 网关的数据通道后, 可以将所在 DLNA网络的 SSDP 4艮文通过数据通道发送到另外一个 DLNA网关, 如前所 述, SSDP是釆用 HTTP over UDP, 而建立的数据通道也是 UDP隧道, 因此 可以直接将 SSDP通过 UDP隧道传给另外一个 DLNA网关,原来的组播报文 需要变为单播报文。 收到数据隧道的 SSDP报文, 解析后, 根据是设备加入 通知或者离开通知以及保活通知, 在 DLNA 网关上添加和删除另外一个 DLNA网络的虚拟 DMS和 DMR设备。 虚拟 DMS和 DMR设备的设备描述 信息和业务描述信息通过数据通道到目标 DLNA网关去获取, 这些获取过程 釆用 HTTP over TCP, 因此在 UDP数据通道上需要釆用伪 TCP隧道,进行流 量控制和传输, 将 TCP数据通过伪 TCP隧道传输到另外一个 DLNA网关。 目标 DLNA网关从源 DLNA网关获取虚拟 DMS和 DMR的设备描述和业务 描述信息, 然后通过 SSDP协议在其所处 DLNA网络进行广播, DLNA网络 中的其它 DLNA设备能够知道虚拟 DMS和 DMR设备的描述信息和控制信 息,跟当前 DLNA网络中的 DMS和 DMR设备一样进行控制和展现 , 实现远 程 DMS和 DMR的本地化共享。本地的 DMS和 DMR设备也同样通过 DLNA 网关共享到第一个 DLNA网络中。通过 DLNA网关,两个 DLNA网络的 DMS 和 DMR设备能够相互访问, 实现媒体资源的跨 DLNA网络共享。
虚拟 DMS共享的媒体资源项跟实际 DMS设备的资源项的资源 URL可 以是不一样的, 当访问虚拟 DMS的媒体资源项时, 它的 URL可以由 DLNA 网关根据其本身 IP地址来重新配置 URL , 因此, 收到本地 DLNA网络的资 源请求时, DLNA网关需要通过之前建立的数据通道到目标 DLNA网关去获 取资源 , 目标 DLNA网关通过 HTTP协议请求 DMS资源 , 然后通过协议转 换将多媒体数据通过数据通道传送到源 DLNA网关, 源 DLNA网关再通过 HTTP协议传到本地 DLNA网络的相关 DLNA设备。 DLNA网关才艮据所处位 置的不同充当不同 DLNA设备角色并进行传输协议的转换工作, 例如上述的 源 DLNA网关充当 DMS ,将对虚拟 DMS的资源请求转发到目的 DLNA网关; 而目的 DLNA网关充当 DMP, 获取实际 DMS资源的媒体数据, 自己不进行 展现操作, 通过数据通道传送给源 DLNA。
如果 DLNA网关之间的连接出现异常,那么两个 DLNA网络的虚拟 DMS 和 DMR将立即不可用, DLNA网关通过 SSDP协议向自己的 DLNA网络广 播虚拟 DMS和 DMR离开 DLNA网络。 如果用户主动放弃两个 DLNA的互 连, 只要在一个 DLNA网关上注销 XMPP账号 , 这个 DLNA网关通过 SSDP 协议广播其它 DLNA网络的 DMS和 DMR设备离开 DLNA网络,其它 DLNA 网关通过 XMPP服务器的离线通知, 将通过 SSDP协议广播此 DLNA网络的 虚拟 DMS和 DMR离开自己的 DLNA网络。 通过本优选实施例, 用户可以把在不同位置的 DLNA网络互联起来 , 例 如用户在家中和工作场所都有自己的 DLNA网络, 用户目前处于工作场所中 的家庭网络, 而用户的家人则处于家中; 用户找到一个感兴趣的媒体资源要 共享给家中的家庭网络,用户只要把媒体资源指定给 DLNA网关虚拟的 DMR 播放,用户的家人就可以看到此媒体资源。或者用户把媒体资源上传到 DLNA 虚拟的 DMS,然后用户的家人浏览本地的 DMS服务器也能看到此媒体资源。 用户能够远程控制自己家里的 DLNA设备, 例如给家人播放指定媒体内容, 而家人不需要进行控制。
实施例二
图 8是根据本发明实施例二的 DLNA网络互连的网络交互流程图, 如图
8 所示, 为了简化描述, 在第一个 DLNA 网络中只描述了 DMS 与 DLNA GATEWAY1的交互, 在第二个 DLNA网络中只出现了一个 DMR和 DLNA GATEWAY2 ,原则上在任何 DLNA网络中可以有任意数目的 DMS和 DMR。 此外, 本优选实施例的网络互连方案也可以扩展到三个以上的 DLNA网络互 行两个 DLNA网络互连之前需要向 XMPP服务器申请一个账号,用户选中的 DLNA网关必须具有互联网访问能力, DLNA网络中的其它 DLNA设备可以 不具备此能力。 下面描述中主要关注两个 DLNA网关的互连协议 "^文交互流 程,两个 DLNA网络中的设备发现过程(包括本地 DLNA设备以及虚拟 DLNA 设备 ) , 以及本地 DLNA终端获取远程 DLNA网络进行播放的协议转换和才艮 文交互流程。 其它流程跟上述描述相似, 不再赘述。
本优选实施例中的 DLNA网络互连的网络交互流程包括如下步骤: 步骤 S802 ,用户在第一个 DLNA网络中使用 XMPP账号在选中的 DLNA 网关 1中登录 XMPP服务器, XMPP服务器验证此 XMPP账号的合法性, 并 将与此关联的登录标识添加为一个群组, 群组内的登录标识共享呈现信息。
步骤 S804 , XMPP服务器若有此 XMPP账号相关联的登录标识已经登录, 则向 XMPP服务器发送其呈现信息, 即用户想互连另外一个 DLNA网络, 本 例中因为 DLNA网关 2还未登录,因此 XMPP服务器没有 DLNA网关 2的呈 现信息。 步骤 S806 , DLNA网关 2釆用相同的方法登录到 XMPP服务器。
步骤 S808 , XMPP服务器发现 XMPP账号关联的 DLNA网关 1已经在线, 向其通告 DLNA网关 2在线信息。
步骤 S810, 同时, XMPP服务器也向 DLNA网关 2通知 DLNA网关 1 已经在线信息。通过前面的 XMPP登录和呈现通知过程,用户想要实现 DLNA 网关 1所在 DLNA网络和 DLNA网关 2所在 DLNA网络的互连。
步骤 S812, DLNA网关 1通过 XMPP: JINGLE协议与 DLNA网关 2进行 数据通道的协商, 由于 DLNA网关 1和 DLNA网关 2的组网复杂性, 上述协 商过程需要经过 XMPP服务器进行中转。 首先是会话发起, 将 DLNA网关 1 的传输方法(UDP、 TCP以及 ICE-UDP, ICE-TCP )经过 XMPP服务器发送 到 DLNA网关 2, DLNA网关 2先对此消息进行确认, 然后根据 DLNA网关 1的传输方法进行尝试, 以便获取 DLNA网关 2能够与 DLNA网关 1连接成 功的传输方法。 如果 DLNA网关 1和 DLNA网关 2在相同局域网下, 没有任 何的 NAT穿越和防火墙, 那么可以通过 UDP或者 TCP进行 P2P传输; 如果 有 NAT穿越, 那么可以釆用 ICE-UDP方式, 有可能需要中继才能进行 P2P 传输。
步骤 S814, DLNA网关 2在完成传输方法的探寻后,通过 XMPP: JINGLE 协议发送会话接受信息, DLNA网关 1对此进行确认, DLNA网关 1和 DLNA 网关 2完成数据通道的协商。
步骤 S816, 根据上述协商结果中的传输方法, DLNA网关 1和 DLNA网 关 2建立数据通道, 由于 DLNA网关之间的组网差异性, 可能需要通过中继 才能实现 P2P的传输。
步骤 S818, 第一个 DLNA网络中有 DMS加入, 通过 SSDP协议在第一 个 DLNA网络中广播。
步骤 S820, DLNA网关 1作为 DMC设备角色收到 DMS的 SSDP消息, 发现有新的 DLNA设备加入本地 DLNA网络。
步骤 S822, DLNA网关 1将所到的 SSDP消息封装到数据通道后发送到 DLNA网关 2。 步骤 S824 , DLNA网关 2解析 SSDP消息 , 发现是第一个 DLNA网络的 DMS加入 DLNA网络,通过数据通道向第一个 DLNA网络获取 DMS的设备 描述和业务描述信息, 这些交互过程都通过上述协商的数据通道进行传输。
步骤 S826, DLNA网关 2对获取到的 DMS的设备描述信息和业务描述 信息的 URL进行修改, 以本地 IP地址进行替换, 向第二个 DLNA网络广播 SSDP消息, 通告虚拟 DMS加入 DLNA网络。
步骤 S828, 第二个 DLNA网络中的 DMR也釆用上述步骤 S818-S826, 在第一个 DLNA网络中有一个虚拟的 DMR。 增加和删除虚拟 DLNA设备能 够远程播放和远程控制,例如在第二个 DLNA网络中用 DMP/DMR播放虚拟 DMS的资源是实现远程播放功能; 通过 DMC控制虚拟 DMR播放特定内容 是远程控制的功能。
步骤 S830, 在第二个 DLNA网络, DMC指定 DMR播放虚拟 DMS的媒 体内容, DMR向 DLNA网关 2启动的 DMS请求媒体内容; 虚拟 DMS的媒 体资源项 URL跟实际 DMS的媒体资源项 URL有差异, 前者釆用 DLNA网 关 2的 IP地址作为主机地址, 而后者釆用当前 IP地址为主机地址。
步骤 S832, DLNA网关 2收到对虚拟 DMS的资源请求, 可以通过真实 DMS设备和虚拟 DMS设备的 UUID标识( UUID,Universally Unique Identifier, 全局唯一标识 ) , 向 DLNA网关 1请求真实资源 , DLNA网关 2进行协议数 据转换。 通过 UUID能够区分全局中不同的 DMS和 DMR设备。 DLNA网关 2可以通过该 UUID直接访问第一个 DLNA网络中的 DLNA设备。
步骤 S834,通过之前建立的数据通道,将资源请求发送到 DLNA网关 1。 步骤 S836, 这时 DLNA网关 1作为 DMP设备角色, 向 DMS请求多媒 体资源。
步骤 S838, DMS收到 DLNA网关 1的媒体资源请求, 按照本地 DLNA 共享进行处理。
步骤 S840, DMS对上述资源的 HTTP请求进行响应,将媒体资源数据发 送给 DLNA网关 1 , DLNA网关 1可以进行协议转换处理。
步骤 S842, DLNA网关 1将数据后的 HTTP响应消息通过数据通道发送 到 DLNA网关 2。
步骤 S844, DLNA网关 2进行协议数据转换处理, 通过标准的 HTTP响 应将媒体资源数据传输给 DMR设备, DMR开始緩存媒体资源数据并进行播 放,最终实现第二个 DLNA网络的 DMR可以播放第一个 DLNA网络的 DMS 共享的媒体资源。
可选地, DMS与 DLNA网关 1可以釆用标准的 HTTP协议进行处理, DLNA网关 1和 DLNA网关 2可以釆用 XMPP: JINGLE协商的数据通道进 行数据传输, DLNA网关 2和 DMR可以釆用标准 HTTP协议进行交互,在这 种情况下, DLNA网关 1和 DLNA网关 2可以进行协议转换工作, 将数据通 道中的数据转换为 HTTP协议封装, 然后再将 HTTP协议转换为数据通道的 数据封装格式。 这个过程对 DLNA网络的设备透明, DLNA网络的设备不需 要知道这个协议转换过程。 例如, 在第二个 DLNA网络中, 访问虚拟 DLNA 设备的协议是 HTTP协议, 在 DLNA网关上可以将 HTTP协议转换为 UDP 协议,第一个 DLNA网络与第二个之间通过 XMPP协议协商一个 UDP通道, 这个通道用来实现虚拟 DMS/DMR设备与 DLNA网关的通信,达到访问实际 DLNA设备的目的。
在另外一个实施例中, 还提供了一种软件, 该软件用于执行上述实施例 及优选实施例中描述的技术方案。
在另外一个实施例中, 还提供了一种存储介质, 该存储介质中存储有上 述软件, 该存储介质包括但不限于光盘、 软盘、 硬盘、 可擦写存储器等。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序 来指令相关硬件完成, 上述程序可以存储于计算机可读存储介质中, 如只读 存储器、 磁盘或光盘等。 可选地, 上述实施例的全部或部分步骤也可以使用 一个或多个集成电路来实现。 相应地, 上述实施例中的各模块 /单元可以釆用 硬件的形式实现, 也可以釆用软件功能模块的形式实现。 本发明实施例不限 制于任何特定形式的硬件和软件的结合。
以上实施例仅用以说明本申请的技术方案而非限制, 仅仅参照较佳实施 例对本申请进行了详细说明。 本领域的普通技术人员应当理解, 可以对本申 请的技术方案进行修改或者等同替换, 而不脱离本申请技术方案的精神和范 围, 均应涵盖在本申请的权利要求范围当中。
工业实用性
通过本发明实施例,釆用建立第一 DLNA网络中的第一 DLNA网关与第 二 DLNA网络中的第二 DLNA网关之间的数据通道, 其中, DLNA网关是具 有 DMC功能且能够访问互联网的 DLNA设备; 在第二 DLNA网关中添加第 一 DLNA网络中的 DLNA设备对应的虚拟 DLNA设备; 第二 DLNA网络中 的 DLNA设备通过虚拟 DLNA设备对第一 DLNA网络中的 DLNA设备进行 远程控制和 /或远程播放的方式,解决了相关技术中 DLNA共享只限于局部范 围内的问题, 实现了跨网络的远程控制以及远程播放, 扩大了 DLNA网络的 共享范围, 提高了用户体验。

Claims

权 利 要 求 书
1、 一种数字生活网络联盟 DLNA设备共享方法, 包括:
建立第一 DLNA网络中的第一 DLNA网关与第二 DLNA网络中的第二 DLNA网关之间的数据通道, 其中, 所述 DLNA网关是具有数字媒体控制器 DMC功能且能够访问互联网的 DLNA设备;
在所述第二 DLNA网关中添加所述第一 DLNA网络中的 DLNA设备对应 的虚拟 DLNA设备; 一 DLNA网络中的 DLNA设备进行远程控制和 /或远程播放。
2、根据权利要求 1所述的方法, 其中, 所述第二 DLNA网络中的 DLNA 设备通过所述虚拟 DLNA设备对所述第一 DLNA网络中的 DLNA设备进行远 程控制和 /或远程播放的步骤包括: 的情况下,所述第二 DLNA网关通过所述数据通道对所述虚拟 DLNA设备进 行控制; 和 /或,
在所述第二 DLNA网络中的 DLNA设备播放所述虚拟 DLNA设备中的媒 体资源的情况下, 所述第二 DLNA 网关通过所述数据通道获取所述虚拟 DLNA设备对应的所述第一 DLNA网络中的 DLNA设备的媒体资源并进行播 放。
3、 根据权利要求 1所述的方法, 其中, 建立第一 DLNA网络中的第一
DLNA网关与第二 DLNA网络中的第二 DLNA网关之间的数据通道的步骤包 括:
通过扩展消息与呈现协议 XMPP服务器建立所述第一 DLNA网关与所述 第二 DLNA网关之间的数据通道。
4、 根据权利要求 3所述的方法, 其中, 通过 XMPP服务器建立所述第 一 DLNA网关与所述第二 DLNA网关之间的数据通道指:
所述第一 DLNA网关与所述第二 DLNA网关使用相同的账号登录所述 XMPP服务器; 所述第一 DLNA网关与所述第二 DLNA网关建立所述数据通道。
5、 根据权利要求 4所述的方法, 所述方法还包括:
所述第一 DLNA网关和 /或所述第二 DLNA网关注销所述账号的登录; 所述第二 DLNA 网关通过简单业务发现协议 SSDP报文在所述第二 DLNA网络中广播所述虚拟 DLNA设备离开所述第二 DLNA网络。
6、 根据权利要求 1至 5中任一项所述的方法, 其中, 在所述第二 DLNA 骤包括:
所述第一 DLNA 网关将所述第一 DLNA 网络中的 DLNA设备广播的 SSDP报文通过所述数据通道发送给所述第二 DLNA网关;
所述第二 DLNA网关添加所述 DLNA设备对应的虚拟 DLNA设备,修改 所述 SSDP报文, 并在所述第二 DLNA网络中广播修改后的 SSDP报文。
7、根据权利要求 6所述的方法, 其中, 所述第一 DLNA网络中的 DLNA 设备广播的 SSDP报文包含所述第一 DLNA网络中的 DLNA设备在所述第一 DLNA网络中的第一统一资源定位符 URL, 所述第二 DLNA网关修改所述 SSDP报文, 并在所述第二 DLNA网络中广播修改后的 SSDP报文指:
所述第二 DLNA 网关将所述第一 DLNA 网络中的 DLNA设备广播的 SSDP报文中的第一 URL修改为所述第二 DLNA网关在所述第二 DLNA网络 中的第二 URL作为所述虚拟 DLNA设备的 URL, 并将修改后的所述 SSDP 报文在所述第二 DLNA网络中广播。
8、 根据权利要求 1至 7中任一项所述的方法, 其中, 所述数据通道为基 于用户数据报协议 UDP的数据通道。
9、根据权利要求 8所述的方法, 其中, 所述第二 DLNA网络中的 DLNA 设备通过所述虚拟 DLNA设备对所述第一 DLNA网络中的 DLNA设备进行远 程控制和 /或远程播放的步骤包括:
所述第二 DLNA网关将所述第二 DLNA网络中的 DLNA设备对所述虚拟 DLNA设备发送的进行远程控制和 /或远程播放的消息由超文本传输协议 HTTP格式转换成 UDP格式, 并将转换后的所述消息通过所述数据通道发送 给所述第一 DLNA网关;
所述第二 DLNA网关将所述第一 DLNA网关返回的所述消息相应的响应 消息由 UDP格式转换成 HTTP格式,并将转换后的所述响应消息转发给进行 远程控制和 /或远程播放的 DLNA设备。
10、 一种数字生活网络联盟 DLNA设备共享装置,位于第二 DLNA网络 中的第二 DLNA网关中, 包括:
建立模块,设置为建立与第一 DLNA网络中的第一 DLNA网关之间的数 据通道, 其中, 所述 DLNA网关是具有数字媒体控制器 DMC功能且能够访 问互联网的 DLNA设备;
处理模块,设置为添加所述第一 DLNA网络中的 DLNA设备对应的虚拟
DLNA设备;
远程操作模块,设置为所述第二 DLNA网络中的 DLNA设备通过所述虚 拟 DLNA设备对所述第一 DLNA网络中的 DLNA设备进行远程控制和 /或远 程播放。
11、 根据权利要求 10所述的装置, 其中, 所述远程操作模块包括: 远程控制单元,设置为在所述第二 DLNA网络中的 DLNA设备对所述虚 拟 DLNA设备进行控制的情况下,通过所述数据通道对所述虚拟 DLNA设备 进行控制; 和 /或,
远程播放单元,设置为在所述第二 DLNA网络中的 DLNA设备播放所述 虚拟 DLNA设备中的媒体资源的情况下, 通过所述数据通道获取所述虚拟 DLNA设备对应的所述第一 DLNA网络中的 DLNA设备的媒体资源并进行播 放。
12、 根据权利要求 10所述的装置, 其中, 所述建立模块包括: 登录单元, 设置为与所述第一 DLNA网关使用相同的账号登录扩展消息 与呈现协议 XMPP服务器;
建立单元, 设置为与所述第一 DLNA网关建立所述数据通道。
13、 根据权利要求 12所述的装置, 所述装置还包括: 注销模块, 设置为注销所述账号的登录;
广播模块, 设置为通过简单业务发现协议 SSDP报文在所述第二 DLNA 网络中广播所述虚拟 DLNA设备离开所述第二 DLNA网络。
14、 根据权利要求 10至 13中任一项所述的装置, 其中, 所述处理模块 包括:
接收模块, 设置为接收所述第一 DLNA网关通过所述数据通道发来的所 述第一 DLNA网络中的 DLNA设备广播的 SSDP报文;
添加模块, 设置为添加所述 DLNA设备对应的虚拟 DLNA设备; 第一转换模块, 设置为在所述 SSDP报文中包含所述第一 DLNA网络中 的 DLNA设备在所述第一 DLNA网络中的第一统一资源定位符 URL的情况 下,将所述 SSDP报文中的第一 URL修改为所述第二 DLNA网关在所述第二 DLNA网络中的第二 URL作为所述虚拟 DLNA设备的 URL, 并将修改后的 SSDP报文在所述第二 DLNA网络中广播。
15、 根据权利要求 10至 13中任一项所述的装置, 其中, 在所述数据通 道为基于用户数据报协议 UDP 的数据通道的情况下, 所述远程操作模块包 括:
第二转换模块,设置为将所述第二 DLNA网络中的 DLNA设备对所述虚 拟 DLNA设备发送的进行远程控制和 /或远程播放的消息由超文本传输协议 HTTP格式转换成 UDP格式, 并将转换后的所述消息通过所述数据通道发送 给所述第一 DLNA网关;
所述第二转换模块, 还设置为将所述第一 DLNA网关返回的所述消息相 应的响应消息由 UDP格式转换成 HTTP格式,并将转换后的所述响应消息转 发给进行远程控制和 /或远程播放的 DLNA设备。
PCT/CN2013/079309 2012-08-15 2013-07-12 Dlna设备共享方法及装置 Ceased WO2013178142A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US14/398,279 US9948686B2 (en) 2012-08-15 2013-07-12 Method and apparatus for sharing DLNA device
EP13796843.4A EP2833596B1 (en) 2012-08-15 2013-07-12 Method and apparatus for sharing dlna device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201210290213.3 2012-08-15
CN201210290213.3A CN102811223B (zh) 2012-08-15 2012-08-15 Dlna设备共享方法及装置

Publications (1)

Publication Number Publication Date
WO2013178142A1 true WO2013178142A1 (zh) 2013-12-05

Family

ID=47234798

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2013/079309 Ceased WO2013178142A1 (zh) 2012-08-15 2013-07-12 Dlna设备共享方法及装置

Country Status (4)

Country Link
US (1) US9948686B2 (zh)
EP (1) EP2833596B1 (zh)
CN (1) CN102811223B (zh)
WO (1) WO2013178142A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2913961A1 (de) * 2014-02-27 2015-09-02 BSH Hausgeräte GmbH Verfahren und System zur Fernsteuerung und/oder Fernüberwachung des Betriebs eines Haushaltsgeräts mit Hilfe eines Kommunikationsgeräts

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102811223B (zh) 2012-08-15 2018-10-09 中兴通讯股份有限公司 Dlna设备共享方法及装置
CN103973638B (zh) * 2013-01-28 2018-08-10 联想(北京)有限公司 访问控制方法、电子设备和服务器
US20150012668A1 (en) * 2013-07-04 2015-01-08 Arcsoft Hangzhou Co., Ltd. Method of Communicating Between Multiple Digital Living Network Alliance Networks
CN103414713A (zh) * 2013-08-05 2013-11-27 三星电子(中国)研发中心 一种访问云端媒体资源的方法、装置和dlna设备
CN104426989B (zh) * 2013-09-09 2018-12-14 联想(北京)有限公司 数据呈现方法、数据请求方法及电子设备
DE102013018596A1 (de) * 2013-11-07 2015-05-07 Phoenix Contact Gmbh & Co. Kg Netzwerksystem, Koppeleinheit und Verfahren zum Betreiben eines Netzwerksystems
WO2015089702A1 (en) * 2013-12-16 2015-06-25 Harman International Industries, Incorporated Dlna based communications between subnets
CN103888515B (zh) * 2014-02-26 2017-12-12 四川长虹电器股份有限公司 基于浏览器的媒体资源分享方法
CN105323125B (zh) * 2014-07-25 2020-03-31 中兴通讯股份有限公司 一种跨家庭网络的处理方法及http网关、dlna设备
CN105828174B (zh) * 2015-01-05 2019-11-05 中兴通讯股份有限公司 一种分享媒体内容的方法和装置
US10419497B2 (en) * 2015-03-31 2019-09-17 Bose Corporation Establishing communication between digital media servers and audio playback devices in audio systems
CN108111556A (zh) * 2016-11-24 2018-06-01 深圳市优朋普乐传媒发展有限公司 一种数据传输方法及系统
CN111064594B (zh) * 2018-10-17 2022-08-12 中兴通讯股份有限公司 网关的信息处理方法、网关、账号管理系统及存储介质
CN109857711B (zh) * 2019-01-04 2021-03-02 烽火通信科技股份有限公司 一种基于vCPE的家庭网络媒体分享方法及系统
DE102019120727B4 (de) * 2019-07-31 2021-06-24 Deutsche Telekom Ag Verfahren zur automatischen Bereitstellung von benutzerbezogenen Daten unter Verwendung eines Heimnetzwerks sowie ein Computerprogramm
CN114697880B (zh) * 2020-12-31 2023-05-12 华为技术有限公司 跨网段发现的方法、路由设备及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102244654A (zh) * 2010-05-12 2011-11-16 日立系统解决方案有限公司 内容传输系统、网关装置以及程序
CN102340496A (zh) * 2010-07-28 2012-02-01 鸿富锦精密工业(深圳)有限公司 数字媒体控制器及利用其共享网络间媒体内容的方法
CN102480461A (zh) * 2010-11-22 2012-05-30 深圳市闪联信息技术有限公司 一种实现远程协同应用的方法与系统
CN102811223A (zh) * 2012-08-15 2012-12-05 中兴通讯股份有限公司 Dlna设备共享方法及装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070211734A1 (en) * 2006-03-10 2007-09-13 Kuo-Long Yang Digital living network alliance gateway having integrated website server for remote access and method thereof
KR100789425B1 (ko) * 2006-04-10 2007-12-28 삼성전자주식회사 디.엘.엔.에이 네트워크를 이용한 컨텐츠 공유 방법
US7827275B2 (en) * 2006-06-08 2010-11-02 Samsung Electronics Co., Ltd. Method and system for remotely accessing devices in a network
JP2008236344A (ja) * 2007-03-20 2008-10-02 Hitachi Ltd プロキシ装置、ネットワークシステムおよび通信方法
US8966005B2 (en) * 2009-05-01 2015-02-24 Telefonaktiebolatet L M Ericsson (Publ) Information processing system and method providing a composed service
US9003044B2 (en) * 2010-07-26 2015-04-07 T-Mobile Usa, Inc. Home hub for IP multimedia subsystem (IMS)/Web services interaction

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102244654A (zh) * 2010-05-12 2011-11-16 日立系统解决方案有限公司 内容传输系统、网关装置以及程序
CN102340496A (zh) * 2010-07-28 2012-02-01 鸿富锦精密工业(深圳)有限公司 数字媒体控制器及利用其共享网络间媒体内容的方法
CN102480461A (zh) * 2010-11-22 2012-05-30 深圳市闪联信息技术有限公司 一种实现远程协同应用的方法与系统
CN102811223A (zh) * 2012-08-15 2012-12-05 中兴通讯股份有限公司 Dlna设备共享方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2833596A4 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2913961A1 (de) * 2014-02-27 2015-09-02 BSH Hausgeräte GmbH Verfahren und System zur Fernsteuerung und/oder Fernüberwachung des Betriebs eines Haushaltsgeräts mit Hilfe eines Kommunikationsgeräts

Also Published As

Publication number Publication date
US9948686B2 (en) 2018-04-17
CN102811223A (zh) 2012-12-05
EP2833596A1 (en) 2015-02-04
US20150089025A1 (en) 2015-03-26
EP2833596B1 (en) 2017-12-06
EP2833596A4 (en) 2015-07-15
CN102811223B (zh) 2018-10-09

Similar Documents

Publication Publication Date Title
CN102811223B (zh) Dlna设备共享方法及装置
JP4829350B2 (ja) ローカルネットワークの両端にわたってマルチメディア通信を遠隔制御する方法及び配置構成
CN101473597B (zh) 远程访问通用即插即用装置的方法和系统
US20080235358A1 (en) Proxy Device, Network System, and Communication Method
JP5568576B2 (ja) 第2のローカルネットワーク内のサーバからローカルネットワーク内のレンダラへのメディア転送
TW200835269A (en) A method and arrangement for enabling multimedia communication with a private network
CN105409183A (zh) 用于在html5应用中实现任何网络功能客户端或服务器的系统和设备
WO2014135050A1 (zh) 消息处理方法、装置、网关、机顶盒及网络电视系统
CN103004186B (zh) 在计算机设备之间配置高清晰度视频电话的装置和方法
EP2237476B1 (en) Upnp device for providing remote access service and method for same
WO2012103721A1 (zh) 终端访问数字家庭设备的方法和设备
JP2009010606A (ja) トンネル接続システム、トンネル管理サーバ、トンネル接続装置、及びトンネル接続方法
JP2003203023A (ja) 情報処理システム、情報処理装置、情報処理方法、及び情報処理ネットワークプログラム
JP3970857B2 (ja) 通信システム、ゲートウェイ装置
JP4863514B2 (ja) 広域/狭域ネットワークへの接続切り替え方法、移動端末及びプログラム
Haruyama et al. Dial-to-connect VPN system for remote DLNA communication
CN104168302B (zh) 设备操控实现方法、系统和代理网关
KR20120072115A (ko) UPnP 네트워크 영역 확장 장치 및 방법
EP2566113B1 (en) Method and apparatus for transmitting media resources
US8031641B2 (en) Method and system for serving multi-media data between hetero UPnP networks
KR100677212B1 (ko) 원격 네트워크 내의 기기 검색 시스템 및 방법
CN105323125B (zh) 一种跨家庭网络的处理方法及http网关、dlna设备
JP2009182416A (ja) 通信装置、ネットワークシステム及びvpn構築プログラム
JP5191878B2 (ja) ホームネットワーク内の端末から広域ネットワークへコンテンツを送信するコンテンツ転送方法及びシステム
KR101418250B1 (ko) 원격 접속 서비스를 제공하는 방법 및 그 장치

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 14398279

Country of ref document: US

Ref document number: 2013796843

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE