WO2007148915A1 - Method and apparatus for supporting multicast of media data in a network - Google Patents

Method and apparatus for supporting multicast of media data in a network Download PDF

Info

Publication number
WO2007148915A1
WO2007148915A1 PCT/KR2007/002983 KR2007002983W WO2007148915A1 WO 2007148915 A1 WO2007148915 A1 WO 2007148915A1 KR 2007002983 W KR2007002983 W KR 2007002983W WO 2007148915 A1 WO2007148915 A1 WO 2007148915A1
Authority
WO
WIPO (PCT)
Prior art keywords
connection
identifying information
multicast
action
information
Prior art date
Application number
PCT/KR2007/002983
Other languages
French (fr)
Inventor
Chang Hyun Kim
Original Assignee
Lg Electronics Inc.
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 Lg Electronics Inc. filed Critical Lg Electronics Inc.
Publication of WO2007148915A1 publication Critical patent/WO2007148915A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways

Definitions

  • the present invention is related to AV networking technology, particularly for a method and an apparatus for supporting multicast of media data in a UPnP network.
  • UPnPTM (hereinafter, it is referred to as UPnP for short) protocol has been proposed.
  • UPnP extends the aforementioned functionality to networked environments based on standard technologies of the Internet such as TCP/IP, HTTP, and XML.
  • UPnP with a variety of home appliances, network printers, Internet gateways, and the like networked together, enables a user to install an arbitrary device on a network and make use of the device through networking.
  • a UPnP network consists of a plurality of UPnP devices, services, and control points.
  • a service on a UPnP network represents a smallest control unit on the network, which is modeled by state variables .
  • a CP (Control Point) on a UPnP network represents a control application equipped with functions for detecting and controlling other devices and/or services.
  • a CP can be operated on an arbitrary device such as a PDA providing a user with a convenient interface .
  • a CP discovers and describes a device (and/or its internal service) connected to a network and controls the corresponding device at the request of the user through a user interface.
  • a CP can receive a report on the change of status information of a device through an event by subscribing to the corresponding event service provided by the device.
  • a UPnP AV home network comprises a media server (MS) 120 providing a home network with media data, a media renderer (MR) 130 reproducing media data through
  • MS media server
  • MR media renderer
  • CP control point
  • the media server (MS) 120 to notify a control point (CP) 110
  • the streaming method can be any one of already-known methods. Since current UPnP AV protocol does not specify a particular streaming method, out-of-band transfer protocol is used for the streaming. For example, in the case of using RTP for media transfer,
  • transfer status of media data can be monitored by using RTCP and transfer parameters can then be adjusted based on the monitoring result .
  • the AV control point 110 invokes a UPnP action based on standard SOAP (Simple Object Access Protocol) , thus enabling
  • the media server 120 includes ContentDirectory service 121 providing a service searching for media data under the management
  • ConnectionManager service 122 managing connections with other devices, namely MediaRenderer 130.
  • Control of reproduction of media e.g., AVTransport service which enables control of play and stop can be selectively included.
  • the media renderer 130 includes RenderingControl service 131 which controls rendering of
  • ConnectionManager service 132 managing connections with other devices
  • AVTransport service 133 35 media data and brightness and intensity of a screen during presentation, ConnectionManager service 132 managing connections with other devices, and AVTransport service 133.
  • the control point 110 By using ContentDirectory service 121 of the media server 120 , the control point 110 detects media file information within the server. When the user chooses a particular media file based on the information, the control point 110 establishes a connection for media transfer between the media server 120 and media renderer 130 through ConnectionManager services 122, 132 of respective devices and sets up variables for play control of the corresponding media file by using the AVTransport service 133. The media file is finally reproduced by requesting a playback action from the media server
  • One objective of the present invention is to provide a method which incorporates information about whether to support multicast of media content provided through a network in the information of an object corresponding to the media content and enables multicasting of the corresponding object according to the information.
  • Another objective of the present invention is to provide a method for managing connections among devices for multicasting media content in an efficient and systematic manner.
  • a method for supporting multicast of media content comprises: receiving a request for connection identifying information about an object for multicasting; and providing, in response to the request , connection identifying information identical to connection identifying information pre-assigned for multicasting of the object.
  • the value of a state variable indicating the number of multicast connections of the object is increased by one.
  • it is determined whether the request of the action is related to leaving from subscription to a multicast connection or to termination of multicasting .
  • state information storing connection identifying information received from the connection termination request is deleted and the value of a state variable indicating the number of multicast connections is decreased by one.
  • all state variables for multicast management are initialized and an operation for streaming data of the object through a network is stopped.
  • the initialization includes setting the number of multicast connections to zero and retrieving connection identifying information allocated for multicast connections.
  • the object is designated for multicasting by protocol information of the object.
  • In another method for supporting multicast of media content comprises: assigning first connection identifying information to a connection for multicasting an object; and receiving second connection identifying information assigned to a joining connection which requested to join the multicasting and registering the first and the second connection identifying information as a single pair of connection identifying information for the connection of multicasting.
  • the first connection identifying information is assigned by a connection management service (ConnectionManager Service) of a media server storing the object.
  • the second connection identifying information is assigned by a connection management service of a media renderer which receives data of the objects and applies rendering thereto.
  • Another method for supporting multicast of media content comprises: receiving an action for requesting connection identifying information about an object for multicasting; assigning connection identifying information for multicasting of the object, providing the assigned connection identifying information as a response to the requesting action, and setting a state variable indicating the number of multicast connections to zero; receiving an action for setting information that indicates access information of a media content corresponding to the object; and streaming the media content through a network with reference to the access information indicated by the set information when a play action is received.
  • the specifying information for the access is URI of SDP (Session Description Protocol) .
  • argument of an action for requesting the connection identifying information includes "push-rtp-multicast" as protocol information of the object.
  • Another method for supporting multicast of media content comprises: checking whether a selected object is an object for multicasting; invoking, according to the checking result, an action for requesting connection identifying information to each of a first device storing the object and a second device for presenting media content of the object; and invoking an action for informing the second device of connection identifying information obtained from the first device and another action for informing the first device of connection identifying information obtained from the second device, according to the invoking of the action for requesting connection identifying information.
  • Another method for supporting multicast of media content comprises : invoking, at a request of leaving a multicast connection, an action for requesting connection termination to a first device that is making presentation of a media content being multicasted; and invoking another action for requesting connection termination to a second device storing the media content, an argument of said another action including first connection identifying information used in the action for requesting connection termination
  • Another method for supporting multicast of media content comprises checking number of connections joining multicasting at a request of termination of the multicasting; invoking an action for requesting connection completion to as many devices or services, which are presenting a media content being multicasted, as the number of the connections respectively; and invoking an action for requesting termination of multicasting to a device storing the media content.
  • multicast of an object is implemented by a push method of an AV transport service installed to a media server.
  • the step for checking the number of connections joining multicasting checks the number of connections by examining value of a state variable indicating number of connections that is managed by a service within a media server storing the media content .
  • Another method for supporting multicast of media content comprises assigning first connection identifying information to a connection for multicasting an object; assigning second connection identifying information to a joining connection which requested to join the multicasting; and registering the first connection identifying information, the second identifying information, and a device identifier of a remote device in association with each other.
  • Another method for supporting multicast of media content according to the present invention comprises assigning first connection identifying information to a connection which requested to join multicasting of an object; and receiving second connection identifying information assigned to a connection for the multicasting and a device identifier of a server storing the object and registering the second connection identifying information and the device identifier in association with the assigned first connection identifying information.
  • Another method for supporting multicast of media content comprises checking whether a selected object is for multicasting; according to the checking result, invoking an action for requesting connection identifying information on each of a first device storing the object and a second device for presenting media content of the object; and invoking an action for informing the second device of connection identifying information and a device identifier obtained from the first device and connection identifying information obtained from the second device and another action for informing the first device of connection identifying information obtained from the second device and connection identifying information obtained from the first device .
  • Another method for supporting multicast of media content comprises at a request of leaving a multicast connection, invoking an action for requesting connection identifying information to a first device that is making presentation of multicast media content ; requesting a second device to provide connection information, the second device being identified by a device identifier received along with a pair of connection identifiers in response to the action; and searching the connection information, received according to the requesting, for a pair of connection identifiers identical to the received pair of connection identifiers and requesting the first device and the second device to release individual connection identifiers of a found pair in the searching.
  • the device identifier is Unique Device Name (UDN) used in a network employing Universal Plug & Play protocol .
  • UDN Unique Device Name
  • the present invention enables appropriate processing in accordance with multicast support of an object in an AV network and also enables efficient and systematic management of a multicast connection and connections for all of clients joining multicasting.
  • Fig . 1 illustrates a structure of an ordinary UPnP AV network
  • Fig. 2 illustrates a procedure of signal flow among devices and/or services for multicasting media content through a network in accordance with one embodiment of the present invention
  • Fig. 3 illustrates a procedure of setting up a multicast channel and subscribing to the corresponding channel in accordance with one embodiment of the present invention
  • Fig. 4A illustrates a procedure of signal flow among devices and/or services for reproducing multicast media content in accordance with one embodiment of the present invention
  • Fig. 4B illustrates part of a procedure of signal flow among devices and/or services for reproducing multicast media content in accordance with another embodiment of the present invention.
  • Figs. 5, 6A and 6B, and 7 respectively illustrate examples of controlling a multicast channel and media content of the channel and/or controlling a connection for reproducing the media content according to the embodiments of the present invention.
  • ContentDirectory service within a media server storing media content, as to media content supporting multicasting, records protocol information and access location information in the meta data of an object corresponding to the media content as specifying information for multicast.
  • the specifying information can also be configured as a user edits the information of the corresponding object.
  • SDP Session Description Protocol
  • URI Uniform Resource Identifier
  • access location information is expressed by, e.g., "http : //"
  • protocol information is expressed by, e.g., "push-rtp-multicast” .
  • the specifying information is recorded in a resource tag ( ⁇ res>) of an object supporting multicasting.
  • the above example of the specifying information relies on a push model where reproduction through transfer between devices is controlled by a media server. According to the assumption of the push model, AVTransport service managing playback of content is installed at a media server.
  • Fig. 2 illustrates a procedure of signal flow among devices and/or services for multicasting media content through a network in accordance with one embodiment of the present invention.
  • a control point (CP) 210 receives each individual object stored in a media server 220 through a browsing or search action (S21) .
  • Object' is a comprehensive terminology including more than one media source, e.g., an item having information about a media file and a container having information about directory; the terminology of v object' can indicate an item or a container of media content depending on the corresponding context .
  • the user of the CP 210 selects from a list of the provided objects an item corresponding to the media content to be reproduced by a media renderer 230. Otherwise the user of the CP 210 selects an item corresponding to the media content for multicasting through a home network not adhering to reproduction by a particular media renderer.
  • Fig. 2 illustrates the latter case and subsequent description of an embodiment is based on the above case.
  • the CP 210 invokes an action for preparing multicast connections (MPrepareForConnection () ) to ConnectionManager service of the media server 220 by using protocol information of a selected object as an input argument (S22) .
  • ConnectionManager service assigns instance IDs to participating elements within the media server 220 (ConnectionManager (CM) service) and AVTransport (AVT) service) required for streaming the media content of a selected object through a network and provides the instance IDs for the CP 210 in response to the invocation (S22) .
  • the instance ID is intended for later use of identifying a streaming service for multicasting through a current network and controlling the streaming service, e.g., release of a connection.
  • an instance ID is a set of instance IDs assigned to individual services implemented in the corresponding device (CM, AVT, etc)
  • CM complementary metal-oxide-semiconductor
  • AVT a virtual machine
  • identifying one instance ID necessarily entails identifying instance IDs of other services. Therefore, in the description of the present invention, an instance ID is expressed as a single value (such as p, ql , and the like) .
  • a modifying phrase indicating a corresponding 'name of a service' is applied right before the instance ID.
  • an action for preparing multicast connections in addition to the protocol information about a selected object, includes access location information such as URL.
  • Inclusion of access location information is necessary when a single UPnP system (which implies an apparatus comprising a physical network and constituting devices connected to the physical network based on UPnP) supports a plurality of multicast channels.
  • a single UPnP system which implies an apparatus comprising a physical network and constituting devices connected to the physical network based on UPnP
  • a separate connection is assigned. If one multicast channel is supported by a single UPnP system, access location information about an object selected at the invocation of an action for preparing connections should not necessarily be provided.
  • an action for preparing connections employed to establish a connection in a unicast scheme can also be utilized, which is equally applied to the embodiments described in the following.
  • instance IDs for a multicast connection are managed by a pair of local and remote ones.
  • the media server 220 assigns ⁇ -l' to the instance ID (p) assigned by the media server and to the instance ID of the corresponding connection and stores the values in state information managed by the media server as a pair (SSl) .
  • one UPnP system supports a single multicast channel. Therefore, in the present embodiment, when protocol information of an object received through an action for preparing multicast connections corresponds to multicast , CM within the media server 220 checks whether a current multicast channel is available or not. If the current multicast channel is found not available, CM assigns an instance ID as described above and provides the instance ID for the CP 210. Otherwise CM provides the CP 210 with the same instance ID as the one assigned when the above multicast channel is first established.
  • the CM within the media server 220 defines state variables for multicast and stores in each state variable availability of a multicast channel, instance ID information (in the previous example, the pair of (p, -1) ) assigned for a multicast channel, and the like. Information about the number of connections which have joined a multicast channel is also managed as one of state variables . As described above , when an instance ID is assigned to an action for preparing multicast connections, the number of available connections is initialized to zero or maintained at the value of zero.
  • the CP 210 feeds access location information of an object selected previously, namely source information (in the previous example , SDP URI "http : //" ) into AVTransport service of the media server 220 through an action for setting URI (SetAVTransportURI () ) (S23) .
  • the action for setting URI utilizes an instance ID (it is referred to as x AVTInstanceID' for short) of AVTransport service corresponding to a previously received instance ID.
  • the SDP document is prepared at the media server 220 before carrying out a procedure for multicasting the above media content, namely before the S22 step.
  • the preparation is not subject to UPnP protocol ; the SDP document is prepared at the media server 220 either by a relevant user interface or a document editor. Alternatively, the SDP document can be prepared through a relevant UI provided by the CP 210 and stored at the media server 220 through other relevant protocol .
  • the SDP document prepared as above records information necessary to access the media source for multicasting (e.g., protocol and URI information) , multicast address (including UDP port number) , and information about RTP (Real-time Transport Protocol) payload carrying media data.
  • information necessary to access the media source for multicasting e.g., protocol and URI information
  • multicast address including UDP port number
  • RTP Real-time Transport Protocol
  • the CP 210 invokes a play action to the AVTransport service by using a previously received
  • AVTInstanceID (S24) .
  • FIG. 4A illustrates a procedure of signal flow among devices and/or services for reproducing multicast media content in accordance with one embodiment of the present invention.
  • the control point 210 requests supported protocol information from media renderer 230 and reserves the information (S41) .
  • the control point 210 receives selection of a media renderer carrying out playback of the selected object and checks whether the media renderer supports the selected media object.
  • the media renderer 230 supports multicasting and the selected object also supports multicasting, where the object is the same as the one selected for the purpose of description of Fig. 2.
  • the control point 210 invokes an action for preparing multicast connections to each of a media server 220 and the media renderer 230 (S42-1, S42-2) .
  • the media renderer 230 S42-1, S42-2 .
  • 230 can invoke a general action for preparing connections used for a unicast connection.
  • ConnectionManager service within the media server 220 increases the value of the number of available connections by one. ConnectionManager service then returns an instance ID (p) about AVT and CM stored in the state variable previously assigned for multicasting (S42-1) . In other words, a new value is not assigned for an instance ID.
  • ConnectionManager service within the media renderer 230 assigns an instance ID about ConnectionManager service (CM) and RenderingControl service (RCS) and returns the assigned instance ID (ql) (S42-2) .
  • CM ConnectionManager service
  • RCS RenderingControl service
  • the control point 210 upon receiving instance IDs from both sides in accordance with an action for preparing multicast connections, configures the instance IDs in the form of a pair of local and remote IDs and loads the pair into an input argument, thus invoking an action for setting a pair of multicast connection IDs (SetMulticastConnectionIDPair () ) on both sides (S43-1 , S43-2) .
  • UDN Unique Device Name
  • an instance ID received from a remote site namely a media server 220 are carried by the response of the action for preparing connections invoked to the media renderer 230.
  • CM of the media renderer 230 can configure a pair of local and remote instance IDs without receiving the action for setting a pair of multicast connection IDs. In another embodiment according to the present invention, therefore, the action for setting a pair of multicast connection IDs is not invoked to the media renderer 230.
  • an action for setting a pair of multicast connection IDs is invoked along with a device identifier (UDN) of a remote device in addition to remote ID.
  • UDN device identifier
  • the UDN is provided for the media renderer 230 through an action for setting a pair of multicast connection IDs along with an instance ID (p) (S403-2) .
  • UDN of a device is received together with an instance ID assigned in response to an action for preparing a connection.
  • a remote device namely UDN of the media renderer 230 "r_UDN" in the example of Fig. 4B can be provided along with a remote instance ID (ql) .
  • CM of the media renderer 230 which received the UDN and instance ID of a remote site, and a local instance ID through an action for setting a pair of multicast connection IDs, registers a pair of received instance IDs together with a remote UDN (SS30) .
  • the CM within the media server 220 that received the action for setting a pair of multicast connection IDs checks a state variable for a pair of instance IDs under the management of its own. If a pair of instance IDs consists of a local ID identical to the state variable and a remote value of ⁇ -l', the CM records a received remote instance ID (ql) as the remote ID of the instance ID pair (SS2) . That is, the CM changes an instance ID of (p, -1) to (p, ql) . If no instance ID pair has a remote ID field of ⁇ -l', a received pair of instance IDs is newly registered. In the embodiment of Fig. 4A, CM of the media renderer 230 registers a pair of instance IDs (ql,p) as it is, the pair of instance IDs being received through an action for setting a pair of multicast connection IDs (SS3) .
  • the control point 210 invokes an action for joining (JoinO) to CM of the media renderer 230 by using a CM instance ID (denoted by 'CMInstancelD' ) of an instance ID received from the media renderer 230 (S44, S32 of Fig. 3) .
  • CM instance ID denoted by 'CMInstancelD'
  • SDP URI value recorded in the meta data of a selected media object is delivered as an argument of the action for joining.
  • the CM within the media renderer 230 that received a SDP URI value obtains a SDP document according to a protocol specified by the value (S45) , invokes another relevant protocol block (e.g., RTP and RTCP) within the media renderer 230, interprets the obtained SDP document, and sets up information according to the interpretation. For example, a multicast address and RTP payload information are configured and UDP packets having an interpreted multicast address are monitored on a network based on the configured information. When a packet of the corresponding address is detected, the packet is received (S46, S33 of Fig. 3) and RTP payload data within the received packet are fed into a relevant decoder for decoding. According to the above, media content multicast on a network is played on the selected media renderer 230.
  • a protocol specified by the value (S45) invokes another relevant protocol block (e.g., RTP and RTCP) within the media renderer 230, interprets the obtained SDP document, and sets up information according
  • multicast media content can also be played on the media renderer 231.
  • an action for preparing multicast connections is invoked to the media server 220. And at each invocation, the value of a state variable for the number of connections increases by one.
  • CM of the media server 220 provides a previously assigned instance ID (p) stored in a state variable in response to the action rather than assign a new instance ID.
  • CM of the corresponding media renderer 231 registers (q2, p) (in case the instance ID assigned by CM of the media renderer 231 is q2) and CM of the media server 220 registers an instance ID pair of (p, q2) in a state variable.
  • Figs. 5 through 7 respectively illustrate examples of controlling a multicast channel set up as described above and media content of the channel and/or controlling a connection for reproducing the media content according to the embodiments of the present invention.
  • a procedure of exchanging signals between devices and/or services of Fig. 5 is an example of playback control of multicast media content.
  • a user or an operator wants to stop playback of media content multicast through the CP 210
  • information about connections streamed by the media server 220 is obtained through the CP 210 and a multicast connection among the streaming connections is selected and stopping playback is requested.
  • the CP 210 invokes an action for stopping playback (stopO ) to AVT of the media server 220 (S51) .
  • stopO an action for stopping playback
  • AVTInstanceID of an instance ID
  • AVT of the media server where the action has been invoked, recognizes the action as the one about media content multicast from AVTInstanceID within the action and stops streaming of the media content. That is to say, it returns to the state just before receiving a play action (play () ) invoked during a signal exchange procedure of Fig. 3.
  • an action for playback control satisfying the request is invoked (S52) .
  • AVT of the media server 220 by adjusting the streaming position of streamed media content or the amount of skip of streaming data, enables data relevant to a requested trick play to be streamed.
  • the playback control for multicast media content affects all the media renderers joining a multicast channel.
  • Fig. 6A illustrates a procedure of exchanging signals leaving a multicast channel according to one embodiment of the present invention.
  • a procedure of leaving a multicast channel is carried out when a media renderer, which has been reproducing multicast media content by joining a multicast channel, terminates playback.
  • control point 210 When the user associates a particular media renderer (e.g. , media renderer 230) with the control point 210, the control point
  • the control point 210 then refers to the UDN and again invokes an action for inquiring about connection IDs to CM of the media server 220 corresponding to the UDN (S61-2) .
  • instance IDs (those about streaming connections in unicast scheme) and/or pairs of instance IDs about all the connections set up by CM of the media server 220 are obtained.
  • a pair of instance IDs namely (p, ql) corresponding inversely to the pair of instance IDs obtained previously from the media renderer 230 is sought and when a corresponding pair is found, the pair is determined as the connection to be released with respect to CM of the media server 220.
  • (GetConnectionIDs () ) is the one defined for a unicast connection and the response to the action includes various other information in addition to connection IDs, e.g., direction of a connection, status of a connection, etc. Such various other information is not used as the information for leaving a multicast channel. Therefore, in another embodiment according to the present invention, an action for inquiring about multicast connection IDs to obtain only UDN and an instance ID of a remote site and a local instance ID, registered according to the embodiment of Fig. 4B, is defined and used. This action is referred to as "GetMulticastConnectionIDs () " as shown in Fig. 6B .
  • a local instance ID and UDN and an instance ID of a remote site (S601-1) registered and managed by CM of a device which received the action or a pair of local and remote instance IDs (S601-2) is provided.
  • the control point 210 invokes an action for inquiring about multicast connection IDs to a device specified by a remote UDN ("s_UDN" in the embodiment of Fig.
  • CM of the media server 220 S601-2
  • the remote UDN originating from response information (that is, information of a local instance ID and UDN and an instance ID of a remote site) obtained from invocation S601-1 of an action for inquiring about multicast connection IDs on CM of the media renderer 230 selected for leaving from a multicast channel.
  • response information that is, information of a local instance ID and UDN and an instance ID of a remote site
  • a pair of instance IDs namely (p, ql) corresponding inversely to the pair of instance IDs obtained (S601-1) previously from the media renderer 230 is sought and when a corresponding pair is found, the pair is determined as the connection to be released with respect to CM of the media server 220.
  • the control point 210 invokes an action for completing connections (ConnectionComplete () ) to a media renderer 230, which has joined a multicasting channel and renders media content, with an instance ID (ql) to be released, received from ConnectionManager service of the media renderer 230, as an input argument (S62,S602) .
  • Input argument of the action can include a remote connection instance ID (namely, p) of a connection to be released.
  • CM of the media renderer 230 de-allocates an instance ID of ConnectionManager service (CMInstancelD) corresponding to a received ID (ql) and also an instance ID of RenderingControl service (RCSInstancelD) assigned together with the instance ID of ConnectionManager service.
  • instance IDs are reserved for reuse.
  • Information multicast address, RTP payload information, etc
  • Information obtained from interpretation of a SDP document set up by an action for joining (JoinO) of Fig.4A is all deleted. By doing this, address monitoring and receiving of multicast streaming data on a network are stopped.
  • control point 210 that invoked the action for completing connections receives from CM of the media renderer 230 an OK response about the action, it invokes the action for completing connections (ConnectionComplete () ) to CM of the media server 220 as well (S63,S603) .
  • CM of the media server 220 where the action for completing connections has been invoked, checks a remote instance ID value of a received instance ID pair.
  • CM of the media server 220 perceives the value as an ID assigned to a joining connection of currently multicast media content, decreases the value of a state variable for the number of multicast connections under management of its own by one (SS4,SS40), and searches state variables for a pair of instance IDs (namely, (p, ql) ) received through the action and deletes the pair (SS5,SS50) . If the value of a state variable for the number of multicast connections corresponds to zero after decrement by one, the corresponding pair of instance IDs is not deleted and a remote instance ID in regard to a state variable having the same value as the pair of instance IDs received through the action is changed to l -l' . The above case occurs when a connection of the last media renderer joined a current multicast channel is terminated. Since joining a multicast channel is possible even after leaving of the last media renderer, multicasting of media content through a network by the media server 220 remains unchanged.
  • CM of the media server 220 carries out termination of multicasting, namely completion of a connection and stopping streaming of media content through a network, which is described in the following.
  • Fig. 7 illustrates a procedure of exchanging signals for termination of multicasting according to one embodiment of the present invention.
  • control point 210 When a user or an operator requests termination of a current multicast channel from the control point 210, the control point 210 requests an inquiry about a state variable associated with multicasting from CM of the media server 220 (S71) . State variables for multicasting (the number of connections, pairs of instance IDs, etc) are inquired by the inquiry request.
  • the control point 210 checks the value of a state variable for the number of connections among inquired state variables (S72) . If the value is not zero, an action for completing connections is invoked to CM of the corresponding media renderer as many times as the value (S73-1, .. ,S73-k) . At the invocation of the action, a pair of instance IDs is necessarily loaded into the action, the pair of instance IDs being such that the places of a local and remote value are swapped from those of a previously received pair of instance IDs. Due to invocation of the action, CM of each media renderer carries out a procedure for leaving a multicast channel described with reference to Figs. 6A and 6B.
  • control point 210 After invocation of the individual action for completing connections or during the previous process of checking the number of connections, if the number of connections (k) is zero, the control point 210 invokes an action for completing connections
  • CM of the media server 220 interprets the invocation of the action as termination of a currently established multicast channel, namely as a request for complete suspension.
  • CM of the media server 220 retrieves an instance ID (namely, p) assigned to a connection of multicast media content, deletes all pairs of instance IDs whose local instance ID field contains p value, and resets a state variable for the number of connections to zero.
  • a state variable for indicating availability of a multicast channel is set as 'closed' .
  • AVT of the media server stops data streaming of media content as well. Therefore, a multicast channel is completely terminated.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

The present invention relates to a multicast supporting method for media data in a network such as UPnP AV network. The present invention allocates a first connection identification for a join connection requesting participation into multicasting of an object, and registers a received second connection identification for a connection used for the multicasting and a received device identification, e.g., UDN (Unique Device Name) of a server storing the object in connection with the allocated first connection identification such that the registered information is mutually linked.

Description

D E S C R I P T I O N
METHOD AND APPARATUS FOR SUPPORTING MULTICAST OF
MEDIA DATA IN A NETWORK
1 . Technical Field The present invention is related to AV networking technology, particularly for a method and an apparatus for supporting multicast of media data in a UPnP network.
2. Background Art
People can make good use of various home appliances such as refrigerators, TVs, washing machines, PCs, and audio equipments once such appliances are connected to a home network. For the purpose of such home networking, UPnP™ (hereinafter, it is referred to as UPnP for short) protocol has been proposed.
Installing and configuring PC peripherals have been made much easier since current PC operating systems supported PnP (Plug and Play) functionality. UPnP extends the aforementioned functionality to networked environments based on standard technologies of the Internet such as TCP/IP, HTTP, and XML. Thus UPnP, with a variety of home appliances, network printers, Internet gateways, and the like networked together, enables a user to install an arbitrary device on a network and make use of the device through networking.
A UPnP network consists of a plurality of UPnP devices, services, and control points. A service on a UPnP network represents a smallest control unit on the network, which is modeled by state variables .
A CP (Control Point) on a UPnP network represents a control application equipped with functions for detecting and controlling other devices and/or services. A CP can be operated on an arbitrary device such as a PDA providing a user with a convenient interface . A CP discovers and describes a device (and/or its internal service) connected to a network and controls the corresponding device at the request of the user through a user interface. A CP can receive a report on the change of status information of a device through an event by subscribing to the corresponding event service provided by the device.
As shown in the structure of Fig. 1, A UPnP AV home network comprises a media server (MS) 120 providing a home network with media data, a media renderer (MR) 130 reproducing media data through
5 a home network, and a control point (CP) 110 controlling the media server 120 and media renderer 130.
In what follows, a procedure of reproducing media on the network of Fig. 1 is described.
The media server (MS) 120, to notify a control point (CP) 110
10 of directory information, notifies of information about media files by using the file system of its own every time a UPnP action (e.g. , browsing action) occurs. Data of a media file chosen through a UI of the CP 110 are transferred in streams between the media server
120 and media renderer 130 and then reproduced by the media renderer 15 130.
The streaming method can be any one of already-known methods. Since current UPnP AV protocol does not specify a particular streaming method, out-of-band transfer protocol is used for the streaming. For example, in the case of using RTP for media transfer,
20 transfer status of media data can be monitored by using RTCP and transfer parameters can then be adjusted based on the monitoring result .
The AV control point 110 invokes a UPnP action based on standard SOAP (Simple Object Access Protocol) , thus enabling
25 control of devices, namely a media server 120 and media renderer
130 or inquiry about the values of status variables set by the devices .
The media server 120 includes ContentDirectory service 121 providing a service searching for media data under the management
30 thereof and ConnectionManager service 122 managing connections with other devices, namely MediaRenderer 130. Control of reproduction of media, e.g., AVTransport service which enables control of play and stop can be selectively included. The media renderer 130 includes RenderingControl service 131 which controls rendering of
35 media data and brightness and intensity of a screen during presentation, ConnectionManager service 132 managing connections with other devices, and AVTransport service 133.
By using ContentDirectory service 121 of the media server 120 , the control point 110 detects media file information within the server. When the user chooses a particular media file based on the information, the control point 110 establishes a connection for media transfer between the media server 120 and media renderer 130 through ConnectionManager services 122, 132 of respective devices and sets up variables for play control of the corresponding media file by using the AVTransport service 133. The media file is finally reproduced by requesting a playback action from the media server
(in the case of push mode) or media renderer (in the case of pull mode) . While watching the media through a media renderer on a home network, a user may move to another place and want to watch the media from the last scene through a media renderer located on the new place. Several users may also try to watch the same content through multiple renderers at the same time. In the latter case, if a connection is established in a unicast scheme for the same content, efficient allocation of IP addresses is not obtained. Moreover, since identical media data are transferred as many times as the number of connections based on a unicast scheme, transfer resources of a home network are wasted. To overcome such a problem, media data should be handled in a multicast scheme rather than the unicast scheme . Since UPnP protocol does not provide a solution for such a situation as of present, the above problem should be endured anyway.
3. Disclosure of the Invention One objective of the present invention is to provide a method which incorporates information about whether to support multicast of media content provided through a network in the information of an object corresponding to the media content and enables multicasting of the corresponding object according to the information.
Another objective of the present invention is to provide a method for managing connections among devices for multicasting media content in an efficient and systematic manner.
A method for supporting multicast of media content according to the present invention comprises: receiving a request for connection identifying information about an object for multicasting; and providing, in response to the request , connection identifying information identical to connection identifying information pre-assigned for multicasting of the object. In one embodiment according to the present invention, at the request of the connection identifying information, the value of a state variable indicating the number of multicast connections of the object is increased by one. In one embodiment according to the present invention, when an action for requesting termination of a connection is received, it is determined whether the request of the action is related to leaving from subscription to a multicast connection or to termination of multicasting . In the case of leaving from a multicast connection, state information storing connection identifying information received from the connection termination request is deleted and the value of a state variable indicating the number of multicast connections is decreased by one. In the case of termination of multicasting, all state variables for multicast management are initialized and an operation for streaming data of the object through a network is stopped.
In the embodiment above, the initialization includes setting the number of multicast connections to zero and retrieving connection identifying information allocated for multicast connections.
In one embodiment according to the present invention, the object is designated for multicasting by protocol information of the object.
In another method for supporting multicast of media content according to the present invention comprises: assigning first connection identifying information to a connection for multicasting an object; and receiving second connection identifying information assigned to a joining connection which requested to join the multicasting and registering the first and the second connection identifying information as a single pair of connection identifying information for the connection of multicasting.
In one embodiment according to the present invention, the first connection identifying information is assigned by a connection management service (ConnectionManager Service) of a media server storing the object. The second connection identifying information is assigned by a connection management service of a media renderer which receives data of the objects and applies rendering thereto.
In one embodiment according to the present invention, when the joining connection is terminated, the pair of connection identifying information is deleted, or the value of the second connection identifying information within the pair takes a value such as λ-l' which is invalid as connection identifying information. Another method for supporting multicast of media content according to the present invention comprises: receiving an action for requesting connection identifying information about an object for multicasting; assigning connection identifying information for multicasting of the object, providing the assigned connection identifying information as a response to the requesting action, and setting a state variable indicating the number of multicast connections to zero; receiving an action for setting information that indicates access information of a media content corresponding to the object; and streaming the media content through a network with reference to the access information indicated by the set information when a play action is received.
In one embodiment according to the present invention, the specifying information for the access is URI of SDP (Session Description Protocol) . In one embodiment according to the present invention, argument of an action for requesting the connection identifying information includes "push-rtp-multicast" as protocol information of the object.
Another method for supporting multicast of media content according to the present invention comprises: checking whether a selected object is an object for multicasting; invoking, according to the checking result, an action for requesting connection identifying information to each of a first device storing the object and a second device for presenting media content of the object; and invoking an action for informing the second device of connection identifying information obtained from the first device and another action for informing the first device of connection identifying information obtained from the second device, according to the invoking of the action for requesting connection identifying information.
Another method for supporting multicast of media content according to the present invention comprises : invoking, at a request of leaving a multicast connection, an action for requesting connection termination to a first device that is making presentation of a media content being multicasted; and invoking another action for requesting connection termination to a second device storing the media content, an argument of said another action including first connection identifying information used in the action for requesting connection termination
Another method for supporting multicast of media content according to the present invention comprises checking number of connections joining multicasting at a request of termination of the multicasting; invoking an action for requesting connection completion to as many devices or services, which are presenting a media content being multicasted, as the number of the connections respectively; and invoking an action for requesting termination of multicasting to a device storing the media content.
In the embodiments according to the present invention, multicast of an object is implemented by a push method of an AV transport service installed to a media server.
In one embodiment according to the present invention, the step for checking the number of connections joining multicasting checks the number of connections by examining value of a state variable indicating number of connections that is managed by a service within a media server storing the media content .
Another method for supporting multicast of media content according to the present invention comprises assigning first connection identifying information to a connection for multicasting an object; assigning second connection identifying information to a joining connection which requested to join the multicasting; and registering the first connection identifying information, the second identifying information, and a device identifier of a remote device in association with each other. Another method for supporting multicast of media content according to the present invention comprises assigning first connection identifying information to a connection which requested to join multicasting of an object; and receiving second connection identifying information assigned to a connection for the multicasting and a device identifier of a server storing the object and registering the second connection identifying information and the device identifier in association with the assigned first connection identifying information.
Another method for supporting multicast of media content according to the present invention comprises checking whether a selected object is for multicasting; according to the checking result, invoking an action for requesting connection identifying information on each of a first device storing the object and a second device for presenting media content of the object; and invoking an action for informing the second device of connection identifying information and a device identifier obtained from the first device and connection identifying information obtained from the second device and another action for informing the first device of connection identifying information obtained from the second device and connection identifying information obtained from the first device .
Another method for supporting multicast of media content according to the present invention comprises at a request of leaving a multicast connection, invoking an action for requesting connection identifying information to a first device that is making presentation of multicast media content ; requesting a second device to provide connection information, the second device being identified by a device identifier received along with a pair of connection identifiers in response to the action; and searching the connection information, received according to the requesting, for a pair of connection identifiers identical to the received pair of connection identifiers and requesting the first device and the second device to release individual connection identifiers of a found pair in the searching.
In one embodiment according to the present invention, the device identifier is Unique Device Name (UDN) used in a network employing Universal Plug & Play protocol .
The present invention enables appropriate processing in accordance with multicast support of an object in an AV network and also enables efficient and systematic management of a multicast connection and connections for all of clients joining multicasting.
4. Brief Description of the Drawings
Fig . 1 illustrates a structure of an ordinary UPnP AV network; Fig. 2 illustrates a procedure of signal flow among devices and/or services for multicasting media content through a network in accordance with one embodiment of the present invention;
Fig. 3 illustrates a procedure of setting up a multicast channel and subscribing to the corresponding channel in accordance with one embodiment of the present invention;
Fig. 4A illustrates a procedure of signal flow among devices and/or services for reproducing multicast media content in accordance with one embodiment of the present invention; Fig. 4B illustrates part of a procedure of signal flow among devices and/or services for reproducing multicast media content in accordance with another embodiment of the present invention; and
Figs. 5, 6A and 6B, and 7 respectively illustrate examples of controlling a multicast channel and media content of the channel and/or controlling a connection for reproducing the media content according to the embodiments of the present invention.
5. Best Mode for Carrying Out the Invention
Hereinafter, preferred embodiments of the present invention will be described in detail with reference to appended drawings.
Although subsequent description of the embodiments of the present invention is given to networked devices and/or services based on UPnP standard, what are described in the following can be directly applied to other network standards by adaptively substituting necessary elements with regard to differences of the standards where the present invention may apply. In this regard, therefore, the present invention is not limited to a network based on UPnP.
In the subsequent embodiments, ContentDirectory service (CDS) within a media server storing media content, as to media content supporting multicasting, records protocol information and access location information in the meta data of an object corresponding to the media content as specifying information for multicast. The specifying information can also be configured as a user edits the information of the corresponding object. For the specifying information in one embodiment according to the present invention, SDP (Session Description Protocol) URI (Uniform Resource Identifier) as access location information is expressed by, e.g., "http : //" and protocol information is expressed by, e.g., "push-rtp-multicast" . The specifying information is recorded in a resource tag (<res>) of an object supporting multicasting. The above example of the specifying information relies on a push model where reproduction through transfer between devices is controlled by a media server. According to the assumption of the push model, AVTransport service managing playback of content is installed at a media server.
Fig. 2 illustrates a procedure of signal flow among devices and/or services for multicasting media content through a network in accordance with one embodiment of the present invention. As shown in Fig. 2, a control point (CP) 210 receives each individual object stored in a media server 220 through a browsing or search action (S21) . Here, Object' is a comprehensive terminology including more than one media source, e.g., an item having information about a media file and a container having information about directory; the terminology of v object' can indicate an item or a container of media content depending on the corresponding context .
The user of the CP 210 selects from a list of the provided objects an item corresponding to the media content to be reproduced by a media renderer 230. Otherwise the user of the CP 210 selects an item corresponding to the media content for multicasting through a home network not adhering to reproduction by a particular media renderer. Fig. 2 illustrates the latter case and subsequent description of an embodiment is based on the above case. The CP 210 invokes an action for preparing multicast connections (MPrepareForConnection () ) to ConnectionManager service of the media server 220 by using protocol information of a selected object as an input argument (S22) . Subsequent to the invocation of the action the ConnectionManager service assigns instance IDs to participating elements within the media server 220 (ConnectionManager (CM) service) and AVTransport (AVT) service) required for streaming the media content of a selected object through a network and provides the instance IDs for the CP 210 in response to the invocation (S22) . The instance ID is intended for later use of identifying a streaming service for multicasting through a current network and controlling the streaming service, e.g., release of a connection. Although an instance ID is a set of instance IDs assigned to individual services implemented in the corresponding device (CM, AVT, etc) , since instance IDs of respective services involved in a connection are all associated with each other, identifying one instance ID necessarily entails identifying instance IDs of other services. Therefore, in the description of the present invention, an instance ID is expressed as a single value (such as p, ql , and the like) . When the instance ID of a particular service needs to be identified, a modifying phrase indicating a corresponding 'name of a service' is applied right before the instance ID.
In the above embodiment, an action for preparing multicast connections, in addition to the protocol information about a selected object, includes access location information such as URL. Inclusion of access location information is necessary when a single UPnP system (which implies an apparatus comprising a physical network and constituting devices connected to the physical network based on UPnP) supports a plurality of multicast channels. In other words, if an action for preparing multicast connections is invoked and the action is about a URL different from the URL of media content being serviced in a previously opened multicast channel, a separate connection is assigned. If one multicast channel is supported by a single UPnP system, access location information about an object selected at the invocation of an action for preparing connections should not necessarily be provided. Therefore, for a UPnP system supporting a single multicast channel, instead of the action for preparing multicast connections, an action for preparing connections employed to establish a connection in a unicast scheme can also be utilized, which is equally applied to the embodiments described in the following.
In one embodiment according to the present invention, instance IDs for a multicast connection are managed by a pair of local and remote ones. In the example of Fig. 2, since information about a connection instance ID of a counterpart (a remote device or service) is not contained within a received action for preparing multicast connections (a value that is not used for a normal instance ID, e.g., v-l' is recorded in the corresponding field of an input argument of the corresponding action) , the media server 220 assigns Λ-l' to the instance ID (p) assigned by the media server and to the instance ID of the corresponding connection and stores the values in state information managed by the media server as a pair (SSl) . In one embodiment according to the present invention, one UPnP system supports a single multicast channel. Therefore, in the present embodiment, when protocol information of an object received through an action for preparing multicast connections corresponds to multicast , CM within the media server 220 checks whether a current multicast channel is available or not. If the current multicast channel is found not available, CM assigns an instance ID as described above and provides the instance ID for the CP 210. Otherwise CM provides the CP 210 with the same instance ID as the one assigned when the above multicast channel is first established. For this purpose, the CM within the media server 220 defines state variables for multicast and stores in each state variable availability of a multicast channel, instance ID information (in the previous example, the pair of (p, -1) ) assigned for a multicast channel, and the like. Information about the number of connections which have joined a multicast channel is also managed as one of state variables . As described above , when an instance ID is assigned to an action for preparing multicast connections, the number of available connections is initialized to zero or maintained at the value of zero.
The CP 210 feeds access location information of an object selected previously, namely source information (in the previous example , SDP URI "http : //" ) into AVTransport service of the media server 220 through an action for setting URI (SetAVTransportURI () ) (S23) . The action for setting URI utilizes an instance ID (it is referred to as xAVTInstanceID' for short) of AVTransport service corresponding to a previously received instance ID. When source information contained in the argument of URI metadata ("CurrentURIMetadata") of a currently selected object, received through the action for setting URI, indicates SDP URI, AVTransport service within the media server 220 then refers to a SDP document for multicasting.
The SDP document is prepared at the media server 220 before carrying out a procedure for multicasting the above media content, namely before the S22 step. The preparation is not subject to UPnP protocol ; the SDP document is prepared at the media server 220 either by a relevant user interface or a document editor. Alternatively, the SDP document can be prepared through a relevant UI provided by the CP 210 and stored at the media server 220 through other relevant protocol .
The SDP document prepared as above records information necessary to access the media source for multicasting (e.g., protocol and URI information) , multicast address (including UDP port number) , and information about RTP (Real-time Transport Protocol) payload carrying media data. In one embodiment according to the present invention, since a UPnP system supports a single multicast channel, a multicast address uses a pre-assigned one.
After the action for setting URI, the CP 210 invokes a play action to the AVTransport service by using a previously received
AVTInstanceID (S24) . The AVTransport service of the media server
220 which received the invocation streams the media content whose URI is set up by the same AVTInstanceID above (that is, actual media source indicated by access information within the SDP document) into a home network as shown in Fig. 3 (S25,S31) .
In what follows, a method for watching media content streamed into a network as above by joining the multicast channel is described. Fig. 4A illustrates a procedure of signal flow among devices and/or services for reproducing multicast media content in accordance with one embodiment of the present invention.
First, the control point 210 requests supported protocol information from media renderer 230 and reserves the information (S41) . When the user selects a media object from browsing, the control point 210 receives selection of a media renderer carrying out playback of the selected object and checks whether the media renderer supports the selected media object. For the purpose of describing an embodiment of the present invention, it is assumed that the media renderer 230 supports multicasting and the selected object also supports multicasting, where the object is the same as the one selected for the purpose of description of Fig. 2.
Since protocol information of a selected object is about multicasting, e.g., "push-rtp-multicast" , the control point 210 invokes an action for preparing multicast connections to each of a media server 220 and the media renderer 230 (S42-1, S42-2) . Instead of an action for preparing multicast connections , the media renderer
230 can invoke a general action for preparing connections used for a unicast connection.
According to the invocation, ConnectionManager service within the media server 220, among state variables under management thereof, increases the value of the number of available connections by one. ConnectionManager service then returns an instance ID (p) about AVT and CM stored in the state variable previously assigned for multicasting (S42-1) . In other words, a new value is not assigned for an instance ID. ConnectionManager service within the media renderer 230 assigns an instance ID about ConnectionManager service (CM) and RenderingControl service (RCS) and returns the assigned instance ID (ql) (S42-2) .
The control point 210, upon receiving instance IDs from both sides in accordance with an action for preparing multicast connections, configures the instance IDs in the form of a pair of local and remote IDs and loads the pair into an input argument, thus invoking an action for setting a pair of multicast connection IDs (SetMulticastConnectionIDPair () ) on both sides (S43-1 , S43-2) . In the case of invoking an action for preparing connections on the media renderer 230 after invocation of an action for preparing multicast connections on the media server 220, UDN (Unique Device Name) and an instance ID received from a remote site, namely a media server 220 are carried by the response of the action for preparing connections invoked to the media renderer 230. Therefore, CM of the media renderer 230 can configure a pair of local and remote instance IDs without receiving the action for setting a pair of multicast connection IDs. In another embodiment according to the present invention, therefore, the action for setting a pair of multicast connection IDs is not invoked to the media renderer 230.
In another embodiment according to the present invention, an action for setting a pair of multicast connection IDs is invoked along with a device identifier (UDN) of a remote device in addition to remote ID. For example, as shown in Fig. 4B, when UDN of the media server 220 is "s_UDN" , the UDN is provided for the media renderer 230 through an action for setting a pair of multicast connection IDs along with an instance ID (p) (S403-2) . As mentioned earlier, UDN of a device is received together with an instance ID assigned in response to an action for preparing a connection. In an embodiment according to a multicasting method of the present invention, since the media server 220 dose not benefit from managing UDN of a remote site along with an instance ID, UDN of a remote site is not provided together with an instance ID when an action for setting a pair of multicast connection IDs is invoked to a device functioning as a multicasting server. In another embodiment according to the present invention, in the case of invoking an action for preparing a pair of multicast connection IDs on the media server 220 (S403-1), too, a remote device, namely UDN of the media renderer 230 "r_UDN" in the example of Fig. 4B can be provided along with a remote instance ID (ql) . CM of the media renderer 230, which received the UDN and instance ID of a remote site, and a local instance ID through an action for setting a pair of multicast connection IDs, registers a pair of received instance IDs together with a remote UDN (SS30) .
The CM within the media server 220 that received the action for setting a pair of multicast connection IDs checks a state variable for a pair of instance IDs under the management of its own. If a pair of instance IDs consists of a local ID identical to the state variable and a remote value of λ-l', the CM records a received remote instance ID (ql) as the remote ID of the instance ID pair (SS2) . That is, the CM changes an instance ID of (p, -1) to (p, ql) . If no instance ID pair has a remote ID field of λ-l', a received pair of instance IDs is newly registered. In the embodiment of Fig. 4A, CM of the media renderer 230 registers a pair of instance IDs (ql,p) as it is, the pair of instance IDs being received through an action for setting a pair of multicast connection IDs (SS3) .
After an action for setting a pair of multicast connection IDs, the control point 210 invokes an action for joining (JoinO) to CM of the media renderer 230 by using a CM instance ID (denoted by 'CMInstancelD' ) of an instance ID received from the media renderer 230 (S44, S32 of Fig. 3) . At this point, SDP URI value recorded in the meta data of a selected media object is delivered as an argument of the action for joining.
The CM within the media renderer 230 that received a SDP URI value obtains a SDP document according to a protocol specified by the value (S45) , invokes another relevant protocol block (e.g., RTP and RTCP) within the media renderer 230, interprets the obtained SDP document, and sets up information according to the interpretation. For example, a multicast address and RTP payload information are configured and UDP packets having an interpreted multicast address are monitored on a network based on the configured information. When a packet of the corresponding address is detected, the packet is received (S46, S33 of Fig. 3) and RTP payload data within the received packet are fed into a relevant decoder for decoding. According to the above, media content multicast on a network is played on the selected media renderer 230.
By carrying out the same procedure for reproducing multicast media content by joining a multicasting channel which is described with reference to Fig. 4A on another media renderer
(231 of Fig. 3) in addition to the media renderer 230, multicast media content can also be played on the media renderer 231. Each time a media renderer joining a multicast channel appears, an action for preparing multicast connections is invoked to the media server 220. And at each invocation, the value of a state variable for the number of connections increases by one. As described in the above, as to an action for preparing multicast connections, CM of the media server 220 provides a previously assigned instance ID (p) stored in a state variable in response to the action rather than assign a new instance ID. By an action for setting a pair of multicast connection IDs carried out after an action for preparing multicast connections, CM of the corresponding media renderer 231 registers (q2, p) (in case the instance ID assigned by CM of the media renderer 231 is q2) and CM of the media server 220 registers an instance ID pair of (p, q2) in a state variable.
Figs. 5 through 7 respectively illustrate examples of controlling a multicast channel set up as described above and media content of the channel and/or controlling a connection for reproducing the media content according to the embodiments of the present invention.
First, a procedure of exchanging signals between devices and/or services of Fig. 5 is an example of playback control of multicast media content. When a user or an operator wants to stop playback of media content multicast through the CP 210, information about connections streamed by the media server 220 is obtained through the CP 210 and a multicast connection among the streaming connections is selected and stopping playback is requested. According to the above, the CP 210 invokes an action for stopping playback (stopO ) to AVT of the media server 220 (S51) . The action at this moment necessarily uses AVTInstanceID of an instance ID
(p) assigned to a multicast connection. AVT of the media server, where the action has been invoked, recognizes the action as the one about media content multicast from AVTInstanceID within the action and stops streaming of the media content. That is to say, it returns to the state just before receiving a play action (play () ) invoked during a signal exchange procedure of Fig. 3.
In the same way, according to the user request for trick play (fast forward, rewind, fast rewind, etc) , an action for playback control satisfying the request is invoked (S52) . According to the invocation of an action for such trick play, AVT of the media server 220, by adjusting the streaming position of streamed media content or the amount of skip of streaming data, enables data relevant to a requested trick play to be streamed.
The playback control for multicast media content affects all the media renderers joining a multicast channel.
Fig. 6A illustrates a procedure of exchanging signals leaving a multicast channel according to one embodiment of the present invention. A procedure of leaving a multicast channel is carried out when a media renderer, which has been reproducing multicast media content by joining a multicast channel, terminates playback.
When the user associates a particular media renderer (e.g. , media renderer 230) with the control point 210, the control point
210 invokes an action for inquiring about state variables
(GetStateVariables () ) to a related service of the corresponding media renderer 230 to obtain information needed for UI. If the user requests release of a servicing connection based on the information obtained according to the invocation, the control point 210 invokes an action for inquiring about connection IDs (GetConnectionIDs () ) to CM of the corresponding media renderer 230 (S61-1) . The inquiring action, if needed, in a situation of choosing a connection to be released, can provide the user with information obtained from the action conducted when the user selects the media renderer 230. Due to the invocation of the action S61-1, obtained are a pair of local and remote instance IDs (ql, p) and UDN of a remote device (UDN of a media server in the example of Fig. 6A) assigned at the time of joining a multicast channel. The control point 210 then refers to the UDN and again invokes an action for inquiring about connection IDs to CM of the media server 220 corresponding to the UDN (S61-2) . According to the invocation, instance IDs (those about streaming connections in unicast scheme) and/or pairs of instance IDs about all the connections set up by CM of the media server 220 are obtained. Among the obtained pairs of instance IDs, a pair of instance IDs, namely (p, ql) corresponding inversely to the pair of instance IDs obtained previously from the media renderer 230 is sought and when a corresponding pair is found, the pair is determined as the connection to be released with respect to CM of the media server 220.
The action for inquiring about connection IDs
(GetConnectionIDs () ) is the one defined for a unicast connection and the response to the action includes various other information in addition to connection IDs, e.g., direction of a connection, status of a connection, etc. Such various other information is not used as the information for leaving a multicast channel. Therefore, in another embodiment according to the present invention, an action for inquiring about multicast connection IDs to obtain only UDN and an instance ID of a remote site and a local instance ID, registered according to the embodiment of Fig. 4B, is defined and used. This action is referred to as "GetMulticastConnectionIDs () " as shown in Fig. 6B . As a response to the action, a local instance ID and UDN and an instance ID of a remote site (S601-1) registered and managed by CM of a device which received the action or a pair of local and remote instance IDs (S601-2) is provided. In the embodiment of Fig. 6B, the control point 210 invokes an action for inquiring about multicast connection IDs to a device specified by a remote UDN ("s_UDN" in the embodiment of Fig. 6B) , namely CM of the media server 220 (S601-2), the remote UDN originating from response information (that is, information of a local instance ID and UDN and an instance ID of a remote site) obtained from invocation S601-1 of an action for inquiring about multicast connection IDs on CM of the media renderer 230 selected for leaving from a multicast channel. According to the invocation, instance IDs and/or pairs of instance IDs about all the connections set up by CM of the media server 220 are obtained. Among the obtained pairs of instance IDs, a pair of instance IDs, namely (p, ql) corresponding inversely to the pair of instance IDs obtained (S601-1) previously from the media renderer 230 is sought and when a corresponding pair is found, the pair is determined as the connection to be released with respect to CM of the media server 220.
After the determination, the control point 210 invokes an action for completing connections (ConnectionComplete () ) to a media renderer 230, which has joined a multicasting channel and renders media content, with an instance ID (ql) to be released, received from ConnectionManager service of the media renderer 230, as an input argument (S62,S602) . Input argument of the action can include a remote connection instance ID (namely, p) of a connection to be released. According to the invocation, CM of the media renderer 230 de-allocates an instance ID of ConnectionManager service (CMInstancelD) corresponding to a received ID (ql) and also an instance ID of RenderingControl service (RCSInstancelD) assigned together with the instance ID of ConnectionManager service. Put another way, instance IDs are reserved for reuse. Information (multicast address, RTP payload information, etc) obtained from interpretation of a SDP document set up by an action for joining (JoinO) of Fig.4A is all deleted. By doing this, address monitoring and receiving of multicast streaming data on a network are stopped.
If the control point 210 that invoked the action for completing connections receives from CM of the media renderer 230 an OK response about the action, it invokes the action for completing connections (ConnectionComplete () ) to CM of the media server 220 as well (S63,S603) . At this moment, a pair of instance IDs of the media server 220, which have been determined to be released, is used. CM of the media server 220, where the action for completing connections has been invoked, checks a remote instance ID value of a received instance ID pair. If the value is of a valid instance ID, CM of the media server 220 perceives the value as an ID assigned to a joining connection of currently multicast media content, decreases the value of a state variable for the number of multicast connections under management of its own by one (SS4,SS40), and searches state variables for a pair of instance IDs (namely, (p, ql) ) received through the action and deletes the pair (SS5,SS50) . If the value of a state variable for the number of multicast connections corresponds to zero after decrement by one, the corresponding pair of instance IDs is not deleted and a remote instance ID in regard to a state variable having the same value as the pair of instance IDs received through the action is changed to l-l' . The above case occurs when a connection of the last media renderer joined a current multicast channel is terminated. Since joining a multicast channel is possible even after leaving of the last media renderer, multicasting of media content through a network by the media server 220 remains unchanged.
If the value of a remote instance ID of a pair of instance IDs carried by an input argument of a received action for completing connections is '-1', CM of the media server 220 carries out termination of multicasting, namely completion of a connection and stopping streaming of media content through a network, which is described in the following.
Fig. 7 illustrates a procedure of exchanging signals for termination of multicasting according to one embodiment of the present invention.
When a user or an operator requests termination of a current multicast channel from the control point 210, the control point 210 requests an inquiry about a state variable associated with multicasting from CM of the media server 220 (S71) . State variables for multicasting (the number of connections, pairs of instance IDs, etc) are inquired by the inquiry request.
The control point 210 checks the value of a state variable for the number of connections among inquired state variables (S72) . If the value is not zero, an action for completing connections is invoked to CM of the corresponding media renderer as many times as the value (S73-1, .. ,S73-k) . At the invocation of the action, a pair of instance IDs is necessarily loaded into the action, the pair of instance IDs being such that the places of a local and remote value are swapped from those of a previously received pair of instance IDs. Due to invocation of the action, CM of each media renderer carries out a procedure for leaving a multicast channel described with reference to Figs. 6A and 6B.
After invocation of the individual action for completing connections or during the previous process of checking the number of connections, if the number of connections (k) is zero, the control point 210 invokes an action for completing connections
(ConnectionComplete () ) to CM of the media server 220 (S74). For this invocation, a pair of instance IDs is used, where the value of a remote instance ID is x-l' , namely (p, -1) . (Here, p is a value common to the local instance ID of state variables for a pair of instance IDs among the obtained state variables related with multicasting.) Based on information whose remote instance ID of a pair of instance IDs is λ-l', CM of the media server 220 interprets the invocation of the action as termination of a currently established multicast channel, namely as a request for complete suspension. Accordingly, CM of the media server 220 retrieves an instance ID (namely, p) assigned to a connection of multicast media content, deletes all pairs of instance IDs whose local instance ID field contains p value, and resets a state variable for the number of connections to zero. In addition, a state variable for indicating availability of a multicast channel is set as 'closed' . AVT of the media server stops data streaming of media content as well. Therefore, a multicast channel is completely terminated.
The present invention is not limited to the foregoing description of preferred embodiments and those skilled in the art may easily understand that the invention and various embodiments can be utilized with improvements, modifications, substitutions, or additions within the scope of the invention. If the improvements, modifications, substitutions, or additions belong to the scope of the invention as defined by the following appended claims, the spirit should also be regarded to belong to the present invention.

Claims

C LA I M S
1. A method for supporting multicast of media content, comprising : assigning first connection identifying information to a connection for multicasting an object; assigning second connection identifying information to a joining connection which requested to join the multicasting; and registering the first connection identifying information, the second identifying information, and a device identifier of a remote device in association with each other.
2. The method of claim 1, further comprising, providing the registered first connection identifying information, the second connection identifying information, and the device identifier of a remote device in response to a request when receiving the request for identifying information about a multicast connection.
3. The method of claim 2, wherein the request for identifying information is made from a device connected to a network, where the multicasting is conducted, and/or a control application that inquires and/or controls status of a service within the device.
4. The method of claim 1, wherein the registering step is initiated by receiving of a connection information setting action whose input argument includes the first connection identifying information, the second connection identifying information, and the device identifier of a remote device.
5. The method of claim 1, wherein the device identifier is Unique Device Name that is used in a network employing Universal Plug & Play protocol .
6. A method for supporting multicast of media content, comprising: assigning first connection identifying information to a joining connection which requested to join multicasting of an obj ect ; and receiving second connection identifying information assigned to a connection for the multicasting and a device identifier of a server storing the object, and registering the second connection identifying information and the device identifier in association with the assigned first connection identifying information.
7. The method of claim 6, further comprising, providing, in response to a request, the first connection identifying information, the second connection identifying information, and the device identifier of the server that are registered in association with each other, when receiving the request for identifying information about a multicast connection.
8. The method of claim 6, wherein the first connection identifying information is assigned by a connection manager service of a first device that receives and renders data of the object, and the second connection identifying information is assigned by a connection management service of the server.
9. The method of claim 6, wherein the device identifier is Unique Device Name that is used in a network employing Universal Plug & Play protocol .
10. The method of claim 6, wherein the first connection identifying information is de-allocated in order to be re-assigned when the joining connection is released.
11. A method for supporting multicast of media content, comprising: checking whether a selected object is an object for multicasting; invoking, according to the checking result, an action for requesting connection identifying information to each of a first device storing the object and a second device for presenting media content of the object; and invoking an action for informing the second device of connection identifying information and a device identifier obtained from the first device and connection identifying information obtained from the second device, and another action for informing the first device of connection identifying information obtained from the second device and connection identifying information obtained from the first device.
12. The method of claim 11, wherein when protocol information of the object includes text information of "multicast" , the checking step determines that the object is for multicasting.
13. A method for supporting multicast of media content, comprising : invoking, at a request of leaving a multicast connection, an action for requesting connection identifying information to a first device that is making presentation of a media content being multicasted; requesting a second device to provide connection information, the second device being identified by a device identifier received along with a pair of connection identifiers in response to the action; and searching connection information, received according to the requesting, for a pair of connection identifiers identical to the received pair of connection identifiers, and requesting the first device and the second device to release individual connection identifiers of a found pair in the searching.
14. The method of claim 13, wherein the searching step searches the connection information for a pair of connection identifiers that is identical to the received pair and individual values corresponding to a local and remote site at the pairs are changed with each other as well.
PCT/KR2007/002983 2006-06-21 2007-06-20 Method and apparatus for supporting multicast of media data in a network WO2007148915A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US81563306P 2006-06-21 2006-06-21
US60/815,633 2006-06-21

Publications (1)

Publication Number Publication Date
WO2007148915A1 true WO2007148915A1 (en) 2007-12-27

Family

ID=38833618

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2007/002983 WO2007148915A1 (en) 2006-06-21 2007-06-20 Method and apparatus for supporting multicast of media data in a network

Country Status (1)

Country Link
WO (1) WO2007148915A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013013529A1 (en) * 2011-07-22 2013-01-31 中兴通讯股份有限公司 Upnp access control method, server and client

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005013515A1 (en) * 2003-08-01 2005-02-10 Samsung Electronics Co., Ltd. Method for retransmitting a radio resource control connection request message in mobile communication system capable of providing a multimedia broadcast/multicast service
US6928656B1 (en) * 1999-05-14 2005-08-09 Scientific-Atlanta, Inc. Method for delivery of IP data over MPEG-2 transport networks
US7012931B2 (en) * 2000-04-03 2006-03-14 Hitachi, Ltd. Multicast communication method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6928656B1 (en) * 1999-05-14 2005-08-09 Scientific-Atlanta, Inc. Method for delivery of IP data over MPEG-2 transport networks
US7012931B2 (en) * 2000-04-03 2006-03-14 Hitachi, Ltd. Multicast communication method
WO2005013515A1 (en) * 2003-08-01 2005-02-10 Samsung Electronics Co., Ltd. Method for retransmitting a radio resource control connection request message in mobile communication system capable of providing a multimedia broadcast/multicast service

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013013529A1 (en) * 2011-07-22 2013-01-31 中兴通讯股份有限公司 Upnp access control method, server and client

Similar Documents

Publication Publication Date Title
JP4921551B2 (en) HiGA IMS Service Proxy
EP1840750B1 (en) Av server
EP1665632B1 (en) Upnp-based media contents reproducing system and method thereof
JP2008160199A (en) Ip broadcasting system and multi-cast group management device for ip broadcasting
US10211997B2 (en) Method and apparatus for playing back scene using UPnP
KR20070083749A (en) Method and apparatus for supporting device information of a combo device in a universal plug and play network
US8601189B2 (en) Method for processing information of an object for presentation of multiple sources
JP4519736B2 (en) Data transmission system, data transmission method, and media apparatus
EP1668837B1 (en) Multicast streaming service method and system thereof
US8873446B2 (en) Method and apparatus for supporting multicast of AV data in a network
KR20070084183A (en) Network device and information protocol for open network system
EP1819101A1 (en) Method and apparatus for providing broadcasting content in UPNP network
US8171144B2 (en) AV server apparatus and connection management method
WO2007148915A1 (en) Method and apparatus for supporting multicast of media data in a network
WO2007136194A1 (en) Method and apparatus for supporting multicast of media data in a network
US20090292807A1 (en) Multimedia data transferring method and system thereof
KR100455123B1 (en) Control message multicasting method and apparatus for universal plug and play network system
CN100574322C (en) Data transmission system, data transmission method and media apparatus
JP5119968B2 (en) Network system, relay device and relay program
KR20050035038A (en) Method for setting internet protocol address for network based universal plug and play
JP2009088765A (en) Network system, relay device and relay program
Park et al. A transparent protocol scheme based on UPnP AV for ubiquitous home
JP2009171577A (en) Ip broadcast system, and multicast group management apparatus for ip broadcast
KR20080028578A (en) Method for managing and processing information of an object for presentation of multiple sources

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 07747017

Country of ref document: EP

Kind code of ref document: A1