WO2013024966A1 - 콘텐트 수신 방법 및 장치 - Google Patents

콘텐트 수신 방법 및 장치 Download PDF

Info

Publication number
WO2013024966A1
WO2013024966A1 PCT/KR2012/004649 KR2012004649W WO2013024966A1 WO 2013024966 A1 WO2013024966 A1 WO 2013024966A1 KR 2012004649 W KR2012004649 W KR 2012004649W WO 2013024966 A1 WO2013024966 A1 WO 2013024966A1
Authority
WO
WIPO (PCT)
Prior art keywords
content
source
queue request
queue
information
Prior art date
Application number
PCT/KR2012/004649
Other languages
English (en)
French (fr)
Inventor
이민수
양승률
어창현
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to US14/239,089 priority Critical patent/US20140215071A1/en
Publication of WO2013024966A1 publication Critical patent/WO2013024966A1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/6275Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/43615Interfacing a Home Network, e.g. for connecting the client to a plurality of peripherals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47202End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/482End-user interface for program selection
    • H04N21/4828End-user interface for program selection for searching program descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • H04N21/8586Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks

Definitions

  • the present invention relates to a method and apparatus for receiving content, and more particularly, to a technology capable of selectively receiving content from a plurality of content sources capable of transmitting content.
  • Home networks are based on various standards such as Digital Living Network Alliance (DLNA), Universal Plug and Play (UPnP), etc., and devices and services distributed in various locations such as information appliances, wireless communication devices, and personal computer (PC) -related devices. Interoperate with each other through wired or wireless communication.
  • DLNA Digital Living Network Alliance
  • UPF Universal Plug and Play
  • PC personal computer
  • Such a home network may provide a content sharing environment for transferring and sharing content between devices.
  • the media content stored in a specific device in the local network may be transmitted to another device in the local network, and the device that receives the media content may store the received media content and play it at the request of the user.
  • a DLNA or UPnP device downloads or streams content from a digital media server (DMS) in the home that stores the content.
  • DMS digital media server
  • the download or streaming speed of the content may vary depending on various factors such as processing performance of the transmitting or receiving device, network conditions, and unexpected errors.
  • the transmission time of the content becomes long or the content transmission becomes difficult.
  • a problem such as a disconnection may occur when the content is played by the receiving device, or the content may not be played.
  • the present invention has been made to solve such a problem, and an object thereof is to provide a content receiving method and apparatus capable of receiving content by selecting at least one of a plurality of content sources.
  • the present invention provides a method for receiving content in one aspect.
  • the method for receiving content comprises the steps of: acquiring a plurality of source connection information by searching for a plurality of sources storing the selected content; Generating at least one queue request including the plurality of source connection information; Selecting one of the plurality of source connection information based on the at least one queue request; And receiving the selected content using the selected source connection information.
  • the at least one queue request may include a first queue request including first source connection information and second source connection information. Selecting any one of the plurality of source connection information of the source connection information, based on any one of the transmission bandwidth information corresponding to each source connection information and the selection signal input from the user interface, the first source And selecting one of the connection information and the second source connection information.
  • the method of receiving content comprises the steps of: transmitting a content download request requesting to transmit the content to a first source and a second source using the first source connection information and the second source connection information; Downloading the content for a predetermined time from the first source and the second source, respectively; And analyzing the content download during the set time, and estimating a transmission bandwidth corresponding to the first source access information and the second source access information, respectively.
  • the at least one queue request may include a first queue request including first source connection information and a first queue request priority; And a second queue request including second source connection information and a second queue request priority.
  • the content receiving method sets the first queue request priority and the second queue request priority based on one of transmission bandwidth information corresponding to each source access information and priority information input from a user interface. It may further comprise the step of.
  • the content receiving method may further include transmitting a content download request requesting to transmit the content to a first source and a second source using the first source access information and the second source access information; Downloading the content from each of the first source and the second source for a preset time; Analyzing content download during the set time, and estimating a transmission bandwidth corresponding to the first source access information and the second source access information, respectively; And setting the first queue request priority and the second queue request priority according to a transmission bandwidth corresponding to the first source access information and a transmission bandwidth corresponding to the second source access information.
  • the content receiving method may further include using source access information included in the queue request transitioning to the active state to download the selected content.
  • the plurality of source access information may be at least one of a universal resource identifier (URI) for accessing content stored in a device of a user domain and a universal resource identifier for accessing content stored in a device of a server domain. .
  • URI universal resource identifier
  • the present invention provides a content receiving apparatus in another aspect.
  • the apparatus for receiving content may include: an application for retrieving a plurality of sources for storing the selected content, obtaining a plurality of source connection information, and generating at least one queue request including the plurality of source connection information; And a queue and policy engine configured to select any one of the plurality of source connection information based on the at least one queue request, and to receive the selected content using the selected source connection information. Can be.
  • the at least one queue request may include a first queue request including first source connection information and second source connection information.
  • the queue and policy engine may select any one of the first source access information and the second source access information based on one of transmission bandwidth information corresponding to each of the source access information and a selection signal input from a user interface. You can choose one.
  • the at least one queue request may include a first queue request including first source connection information and a first queue request priority; And a second queue request including second source connection information and a second queue request priority.
  • the application may set the first queue request priority and the second queue request priority based on one of transmission bandwidth information corresponding to each source access information and priority information input from a user interface. have.
  • the queue and policy engine transitions a high priority queue request among the first queue request and the second queue request to an active state, and a queue request having a lower priority among the first queue request and the second queue request. May transition to any one of a blocked state, a standby state, and a suspended state.
  • a content source capable of effectively transmitting content among a plurality of content sources or a content source based on a user's intention may be selected to receive content. Therefore, by eliminating the delay of downloading or streaming the content or selecting the content source according to the user's intention, it is possible to prevent the interruption or interruption in playing the content and to increase the satisfaction of the service.
  • FIG. 1 is a block diagram illustrating a configuration of a content service system to which a method of receiving content according to an embodiment of the present invention can be applied.
  • FIG. 2 is a block diagram illustrating a detailed structure and an associated interface of a client device of a content service system.
  • FIG. 3 shows a diagram for describing the interfaces shown in FIG. 2.
  • FIG. 4 is a block diagram illustrating the interworking of devices associated with a content receiving method according to a preferred embodiment.
  • FIG. 5 is a flowchart illustrating a content receiving method according to a preferred embodiment of the present invention.
  • FIG. 6 is a flowchart illustrating a content receiving method according to another preferred embodiment of the present invention.
  • FIG. 7 is a flowchart illustrating a content receiving method according to another preferred embodiment of the present invention.
  • FIG. 8 is a flowchart illustrating a content receiving method according to another preferred embodiment of the present invention.
  • FIG. 9 shows a diagram for explaining the life cycle and state change of a queue request.
  • FIG. 10 illustrates a diagram for describing a device capability item.
  • FIG. 11 is a diagram exemplarily illustrating content information managed and provided by a content source.
  • FIG. 12 is a diagram illustrating content selection information stored and managed on a client device.
  • first and second may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another.
  • the first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component.
  • FIG. 1 is a block diagram illustrating a configuration of a content service system to which a method of receiving content according to an embodiment of the present invention can be applied.
  • a content service system may be divided into a server domain and a user domain.
  • the server domain may operate a service and a network policy for a content service and provide content to a user domain based on the policy.
  • the server domain may mean a domain including servers for providing a content service.
  • Such a server domain may perform content provision and operation of a service to a user domain such as content creation, sale, distribution, policy operation, and permission restriction.
  • the server domain may include a content server 200 for providing content, a content policy server 300 for operating a policy for a content service, a content policy server 400 for operating a network policy, and the like.
  • a content server 200 for providing content
  • a content policy server 300 for operating a policy for a content service
  • a content policy server 400 for operating a network policy, and the like.
  • the server domain may include a content download server for downloading content, a content streaming server for streaming content, and the like.
  • the user domain may include the devices 100 of the user.
  • the device 100 may be, for example, a fixed terminal such as a PC, a set-top box, or a portable terminal such as a smartphone, a mobile phone, a mobile handset, a tablet, a personal digital assistant (PDA), a laptop, or the like.
  • the devices 100 may access a local network based on UPnP, DLNA, and the like, and may interoperate with each other through wired or wireless communication.
  • the device 100 of the user may be a client device or an intermediate device.
  • the client device may mean a physical hardware device having at least one network interface and local storage.
  • the client device may be a mobile handset, tablet, smartphone, PC, or the like, capable of consuming content.
  • the client device CD may have modules for receiving a content service.
  • the intermediate device may be a dual role client / server device on the network that may be used to stage an asset for the client device row.
  • the intermediary device may hold the asset temporarily until the asset is delivered to the client device.
  • the intermediate device typically does not consume the content directly, but may consume the content directly.
  • FIG. 2 is a block diagram illustrating a detailed structure and an associated interface of a client device of a content service system.
  • the client device CD includes a local application 110, a player 130, a network policy client 140, and a virtual storage device.
  • Device 150
  • QPE Queue / Policy Engine
  • the local application 110 may mean an application for a content service.
  • the local application 110 may be a user agent that provides a user interface, a service menu, a service selection, a content selection, and the like for allowing a user to receive a content service.
  • the local application 110 may be referred to as a user agent.
  • the player 130 is for playing content provided through a content service.
  • the player 130 may be a media player capable of playing download content or streaming content.
  • the network policy client 140 may acquire a network policy and control the client device CD according to the acquired network policy while communicating with the network policy server 400.
  • the virtual storage device 150 is a representation of local storage that can be accessed through a cache object.
  • the virtual storage device 150 may be a general local storage such as a hard disk, a USB memory connected to the device, a flash memory, a virtual area such as a daemon, or the like.
  • the queue / policy engine 120 is a module included in the client device CD and may communicate via P1, S, D1, D2, Q2, D3, and Q3 interface protocols.
  • the queue / policy engine 120 may maintain a queue on behalf of each local application 110 and content server 200, interface with storage, and policy queue requests. Can take responsibility to synchronize with. Therefore, the queue / policy engine may be referred to as a service client for a content sharing service.
  • the queue / policy engine 120 may include a queue manager 122, a policy client 126, an intermediate device manager 124, and the like. Can be.
  • the queue manager 122 may operate a queue for downloading or streaming content.
  • the queue manager 122 may include a stream queue manager and a download manager.
  • the queue manager 122 may send a queue request to an intermediate device (IMD) and receive a response from the intermediate device (IMD), or may receive a queue request from the intermediate device (IMD) and transmit the response.
  • IMD intermediate device
  • IMD intermediate device
  • the queue manager 122 may send a queue request requesting to download specific content from the content server 200 to the intermediate device IMD and receive the response.
  • the queue manager 122 may transmit a queue request to the intermediate device IMD to transmit the content downloaded from the content server 200 to the client device CD.
  • the policy client 126 maintains a policy object as a subsystem of the queue / policy engine 120.
  • the policy client 126 may control the queue / policy engine 120 according to the policies from the content policy server 300. For example, policy client 126 may retrieve policies from content policy server 300 and adjust queue request behavior.
  • the intermediary device manager 124 may manage intermediary devices (IMDs) that interoperate with client devices (CDs). For example, the intermediate device manager 124 may discover an intermediate device (IMD) connected to the network and manage a state of the intermediate device (IMD). The intermediate device manager 124 may transmit or receive the intermediate device and the necessary message.
  • IMDs intermediary devices
  • CDs client devices
  • the intermediate device manager 124 may discover an intermediate device (IMD) connected to the network and manage a state of the intermediate device (IMD).
  • IMD intermediate device
  • the intermediate device manager 124 may transmit or receive the intermediate device and the necessary message.
  • FIG. 3 shows a diagram for describing the interfaces shown in FIG. 2.
  • interfaces associated with a content service system may be divided into P, Q, S, and D interface groups. Each interface can work with a client-server architecture.
  • the P interface group may define a link and policy between the queue / policy engine 120 and the content policy server 300.
  • This P interface group may include P1 and P2 interfaces.
  • the server may be the content policy server 300 and the client may be the queue / policy engine 120.
  • the server may be a network policy client 140 and the client may be a queue / policy engine 120.
  • the server may be a content server 200 and the client may be an intermediate device (IMD).
  • IMD intermediate device
  • the Q interface group can define queue request handling.
  • the Q interface group may be a primary command channel interworking between the content server 200, the intermediary devices (IMDs), and the queue / policy engine 120.
  • the Q interface group may allow Caching Functionality to be called by the local application 110.
  • the server may be a queue / policy engine 120 and the client may be a local application 110.
  • the server may be a queue / policy engine 120 and the client may be an intermediary device (IMD).
  • the server may be a content server 200 and the client may be an intermediate device (IMD).
  • the S interface group can extract storage and cache capabilities to the queue / policy engine.
  • the server may be a virtual storage device 150 and the client may be a queue / policy engine 120.
  • the D interface group may be used for data transmission.
  • the server may be the content server 200 and the client may be the queue / policy engine 120.
  • the server may be a queue / policy engine 120 and the client may be a player 130.
  • the server may be an intermediary device (IMD) and the client may be a queue / policy engine 120.
  • the server may be a content server 200 and the client may be an intermediate device (IMD).
  • FIG. 4 is a block diagram illustrating the interworking of devices associated with a content receiving method according to a preferred embodiment.
  • the client device CD may access a local network, for example, a home network, based on a DLNA or a UPNP, and may interwork with a home device in the home network.
  • the home device may be, for example, a network attached storage (NAS), a digital media server (DMS), a digital media player (DMP), a digital media controller (DMC), or a digital media renderer (DMR).
  • NAS network attached storage
  • DMS digital media server
  • DMP digital media player
  • DMC digital media controller
  • DMR digital media renderer
  • the client device CD can connect to servers in a server domain, such as a content download server, a content streaming server, etc., via a wide area network.
  • the client device CD may retrieve content stored in a content source, such as a NAS, in a home network.
  • a content source such as a NAS
  • the content source in the home network will be referred to as a first content source CS1.
  • the client device CD may search for a plurality of content sources within the home network.
  • the client device CD may search for content that can be provided by content sources in the server domain.
  • a description will be given on the assumption that an example of a client device interworking with a second content source CS2 and a third content source CS3.
  • the second content source CS2 may be, for example, a content download server in a server domain.
  • the third content source CS3 may be, for example, a content streaming server in a server domain. This is merely an example of an implementation and is not limited thereto.
  • the client device CD may be interoperable with various servers in the server domain.
  • the content may be multimedia, for example, a broadcast program, a movie, a music video, an advertisement, or the like, or a sound source, an image, a text, or the like.
  • the client device CD may obtain a content list from at least one content source or generate a content list based on the contents retrieved from each content source.
  • the client device (CD) may aggregate the content list obtained from the content sources and generate a local unified content list, which is a list of contents stored in the content sources in the local network, the content of the content source and the server domain in the local network. It is also possible to generate an integrated content list incorporating a list of contents stored in a source.
  • the client device CD may display a content list generated through various user interfaces.
  • the client device CD is connected to the associated content servers, such as the first content server CS1, the second content server CS2, and the third content.
  • the servers CS3 may be selected, the corresponding content may be received from the selected content server, and played or stored in a download or streaming manner.
  • the client device CD may search for a plurality of content sources storing the content, and obtain at least one source connection information for obtaining the corresponding content from each retrieved content source. That is, to obtain a plurality of source connection information that can provide content from a plurality of content sources.
  • the source access information may be a universal resource identifier (URI) of the source.
  • the source URI is information for obtaining an asset.
  • the source URI may be used to retrieve an asset via a D interface.
  • Each content source can provide a source URI from which the content can be transmitted.
  • the first content source CS1 may provide a first source URI
  • the second content source CS2 may provide a second source URI
  • the third content source CS3 may provide a third source URI.
  • each content source may provide a plurality of source URIs that can transmit the content.
  • the first content CS1 which is a DLNA or UPnP device in a home network, may provide a source URI for providing the content in a progressive download manner, and the content in a streaming manner to provide one content.
  • a source URI to provide, a source URI for providing transcoded content, and the like may be provided. In other words, one source of content provides multiple source URIs.
  • each content source retrieved as described above by the client device CD may provide at least one (ie one or more) source URIs corresponding to the content.
  • the client device CD may generate at least one queue request including a plurality of source connection information.
  • the queue request object may be referred to as a mechanism for queuing an asset for download. Queue requests are sent to the queue / policy engine by the local application, intermediary device or content server via the Q2 and Q3 interfaces. Queue requests contain information about what, where, when, and how assets are sent between the client and server over the network.
  • the queue request may include at least one source URI from which the asset can be obtained. These URIs are used to retrieve assets via the D interface.
  • the client device CD may generate a single queue request including a plurality of source connection information, corresponding to the plurality of source connection information.
  • the client device CD may include first source connection information of the first content source CS1, second source connection information of the second content source CS2, and third source connection of the third content source CS3. You can create a queue request that contains information.
  • the client device CD may select source access information for receiving content from the source access information included in the generated queue request.
  • the client device CD may receive content from the corresponding content source using the selected source connection information.
  • the client device CD selects source connection information for receiving content from among a plurality of source connection information according to transmission bandwidth information corresponding to each source connection information, a selection signal input from a user interface, and the like.
  • the client device CD When selecting source connection information to receive content based on bandwidth information corresponding to each source connection information as in the former, for example, the client device CD requests each content source to transmit content for a preset time. After estimating a bandwidth based on a download speed of content from each content source, the bandwidth information may be corresponded to source access information corresponding to the content source. The client device CD may analyze bandwidth information corresponding to the plurality of source connection information, for example, to select the source connection information having the largest bandwidth. Thus, it is possible to receive content from a content source that has the best network condition and enables fast transmission.
  • the client device CD displays a source list including a plurality of retrieved content sources (or source connection information) through the user interface.
  • the user may select source access information corresponding to the selected content source.
  • the client device CD may display bandwidth information corresponding to each content source in the source list and allow the user to select a desired content source by referring to the bandwidth information.
  • the client device CD may generate a plurality of queue requests each including one source connection information, corresponding to the plurality of source connection information.
  • the client device CD may include a first queue request including first source connection information of the first content source CS1, and a second queue including second source connection information of the second content source CS2.
  • Each request and third queue request including third content access information of the third content source CS3 may be generated.
  • Each queue request may include a priority.
  • the client device CD determines the priority corresponding to each queue request based on transmission bandwidth information corresponding to each source access information, priority information input from a user interface, content transmission condition information, and the like. Can be set.
  • the client device CD assigns a high priority to a queue request corresponding to source access information of a content source having a high bandwidth according to transmission bandwidth information corresponding to each source access information, and a content source having a low bandwidth.
  • a low priority may be assigned to a queue request corresponding to the source access information of.
  • the client device CD may display the source list through the user interface and assign a priority to each queue request based on the input priority when the user inputs the priority. Meanwhile, the client device CD may assign a priority to the queue request according to the content transmission condition information.
  • the content transmission condition information may include bandwidth information, whether to support progressive download, whether to support streaming, whether to support transcoded content streaming, and the like. Priority information according to the content transmission condition information may be preset in the client device.
  • Each queue request may include a queue request priority indicating a priority for the corresponding queue request.
  • the queue request priority may be an integer value within a specific range, for example, an integer value from 0 to 100.
  • 0 may be a value indicating a special meaning, for example, a value indicating that priority is not set.
  • the queue request may be a queue request for which priority is not set. If the value of the queue request priority field of the queue request exceeds 100, it can be ignored as an error.
  • the value of the queue request priority field of the queue request is a number from 1 to 100, this value may be compared with the value of the queue request priority of another queue request. In this case, a smaller priority value may indicate a higher priority.
  • the higher the number the higher the priority may be determined.
  • the client device CD may first perform a queue request having the highest priority among a plurality of queue requests. For example, the highest priority queue request transitions to an active state, and lower priority queue requests can be in any of the following states: blocked, waiting, or suspended. You can transition. In other words, the client device performs the queue request with the highest priority first.
  • the client device CD may have the same content as the second content source CS2 that is a download server of the server domain or third content that is a streaming server.
  • An embodiment of receiving from the source CS3 will be described. The following description is only an example of the embodiment.
  • the client device CD receives the content from another home device that stores the same content as the content instead of the content stored in the home device, or the content is stored in the content source of the server domain. Instead, the content may be received from a home device that stores the same content.
  • FIG. 5 is a flowchart illustrating a content receiving method according to a preferred embodiment of the present invention.
  • the local application 110 of the client device CD may search for contents stored in the first content source CS1 and display a content list.
  • the user may designate content to be watched in the displayed content list by using a specific input means.
  • the client device CD can then select the content according to the signal received from the input means.
  • the local application 110 When the content is selected, the local application 110 obtains the corresponding source connection information from the first content source CS1. In addition, the local application 110 retrieves the same content as the selected content from another content source, such as the second content source CS2 and the third content source CS3, and retrieves a plurality of content from the retrieved content sources CS2 and CS3. Source connection information can be obtained. That is, the local application 110 obtains a plurality of source connection information from the plurality of content sources CS1, CS2, and CS3 (step: S1).
  • the source access information may be a source URI.
  • the source URI is information for obtaining an asset, and is used to retrieve an asset via a D interface.
  • the local application 110 obtains a first source URI of the first content source CS1, a second source URI of the second content source CS2, and a third source URI of the third content source CS3. can do.
  • the client device CD may obtain a plurality of source URIs from one content source or may obtain source URIs from a plurality of devices in a local network.
  • the client device CD may include a plurality of source URIs, for example, a source URI for providing the content in a progressive download manner, from a first content CS1 that is a DLNA or UPnP device in a home network.
  • the source URI for providing the streaming method, the source URI for providing the transcoded content, etc. may be obtained.
  • the client device (CD) may obtain a plurality of URIs from a plurality of DLNA or UPnP content sources.
  • the local application 110 generates a queue request that includes the obtained plurality of source URIs and creates a queue.
  • the request is transmitted to the queue / policy engine 120 through the Q2 interface (step S2).
  • the queue request includes a plurality of URIs, a codec type media profile, a container type, a multipurpose internet mail extension (MIME) type, a store name, a total length of a queue request, Content information, policy information, and the like.
  • MIME multipurpose internet mail extension
  • the plurality of source URIs should refer to the same asset, and this asset should not be modified during the lifetime of the queue request.
  • the queue / policy engine 120 receiving the queue request may select at least one of the source URIs included in the queue request (step: S3). For example, the queue / policy engine 120 may select a second source URI of the second content server CS2 that is the content download server of the server domain among the plurality of source URIs.
  • the client device CD may transmit a content transfer request to the second content server CS2 using the selected second source URI (step S4) and download content from the second content server CS2 (step : S5).
  • the client device CD may download and store content stored in the first content server CS1, which is a home device, from the second content server CS2 of the server domain. Meanwhile, the client device CD may select source connection information to receive content based on a bandwidth between the content sources CS1, CS2, CS3 and the client device CD, an input from a user interface, and the like.
  • the client device CD may download and store content stored in the first content server CS1, which is a home device, from the second content server CS2 of the server domain.
  • the client device CD may select source connection information to receive content based on a bandwidth between the content sources CS1, CS2, CS3 and the client device CD, an input from a user interface, and the like.
  • FIG. 6 is a flowchart illustrating a content receiving method according to another preferred embodiment of the present invention.
  • the local application 110 of the client device CD may search for contents stored in the first content source CS1, that is, the NAS of the local network, and display a content list.
  • the user can designate the desired content to be viewed in the displayed content list by using input means capable of inputting a signal to the client device CD.
  • the client device CD can then select the content according to the signal received from the input means.
  • the local application 110 obtains the corresponding source connection information from the first content source CS1.
  • the local application 110 retrieves the same content as the selected content from another content source, for example, the second content source CS2 and the third content source CS3, and the plurality of sources from the retrieved content sources CS2 and CS3.
  • Connection information can be obtained. That is, the local application 110 may include a plurality of source connection information, for example, a first source URI, a first source, from a plurality of content sources, such as the first content source CS1, the second content source CS2, and the third content source CS3.
  • a second source URI and a third source URI are obtained (step S11).
  • the client device CD requests the content download for the bandwidth test to the servers CS1, CS2, and CS3 with the respective contents using the respective source connection information (steps S12, S15, and S18), and each content server.
  • a part of the content can be downloaded from (CS1, CS2, CS3) for a predetermined time, for example, several seconds (steps S13, S16, S19).
  • the local application 110 may estimate the bandwidth corresponding to each source access information based on the content download during the time (steps S14, S17, and S20).
  • the local application 110 requests a download to the first content source CS1 using the first source URI (step S12), and downloads a portion of the content for a preset time period (step: S13).
  • step S14 the transmission bandwidth between the first content source CS1 and the client device CD, that is, the bandwidth corresponding to the first source URI may be estimated based on the download speed of the content.
  • the local application 110 requests the download to the second content source CS2 using the second source URI (step S15), and after downloading a portion of the content for a preset time period (step S16).
  • a transmission bandwidth between the second content source CS2 and the client device CD that is, a bandwidth corresponding to the second source URI may be estimated (step S17).
  • the local application 110 requests the download to the third content source CS3 using the third source URI (step S18), and downloads a part of the content for a preset time period (step: S19).
  • a transmission bandwidth between the third content source CS3 and the client device CD that is, a bandwidth corresponding to the third source URI may be estimated (step S20).
  • the local application 110 may store the estimated bandwidth information in the memory of the client device CD in correspondence with the corresponding source URI.
  • the stored bandwidth information may be queried by the queue / policy engine 120. Meanwhile, the bandwidth information may be included in the queue request.
  • the local application 110 generates a queue request including the obtained plurality of source URIs and transmits the generated queue request to the queue / policy engine through the Q2 interface (step S21).
  • the queue request includes a plurality of URIs, a codec type media profile, a container type, a multipurpose internet mail extension (MIME) type, a store name, a total length of a queue request, Content information, policy information, and the like.
  • the queue request may include bandwidth information for each source URI estimated by the local application 110.
  • the multiple source URIs must refer to the same asset, and this asset must not be modified during the lifetime of the queue request.
  • the queue / policy engine 120 receiving the queue request may select at least one of the source URIs included in the queue request based on bandwidth information corresponding to each source URI (step S22). For example, the queue / policy engine 120 compares bandwidth information corresponding to a plurality of source URIs, and compares the third source URI of the third content source CS3 that is, for example, a content streaming server of the server domain with the largest bandwidth. You can choose.
  • the queue / policy engine 120 obtains bandwidth information through a queue request when bandwidth information corresponding to each source URI is included in a queue request, and obtains the bandwidth information from a memory when the queue information is not included in a queue request. Can be obtained.
  • the queue / policy engine 120 that selects a source URI may transmit a content transfer request to the selected content source using the selected source URI.
  • the queue / policy engine 120 selecting the third source URI may transmit a content transmission request to the third content source CS3 using the third source URI (step S23).
  • the third content source CS3 may transcode the requested content in real time so as to be suitable for the client device CD (step S24), and stream the transcoded content to the client device CD (step: S25).
  • the content transfer request may include information for the transcoding, for example, device capability of a client device (CD).
  • the client device CD may select source access information to receive content based on the bandwidth between the content sources CS1, CS2, and CS3 and the client device CD. have. Therefore, if the communication state between the first content source CS1 and the client device CD is not good, the client device CD may quickly receive content in a streaming manner from the third content source CS3 having a good communication state. Can be. Therefore, the user can watch the content played by the client device CD without interruption due to the reception delay.
  • the client device CD may select source connection information to receive content based on a selection signal input through a user interface. For example, the client device CD displays a source list including a plurality of searched content sources (or source connection information) through the user interface, and when the user selects a desired content source through the user interface, the client device CD displays the selected content source. It is also possible to select the corresponding source connection information. In this case, the client device CD may receive content from a content source desired by the user.
  • the client device (CD) displays a source list including the plurality of content sources or source connection information to be searched through a user interface
  • the client device (CD) displays bandwidth information corresponding to each content source in the source list and the user. Information may be provided to allow the user to select a desired content source by referring to the bandwidth information.
  • FIG. 7 is a flowchart illustrating a content receiving method according to another preferred embodiment of the present invention.
  • the local application 110 of the client device CD may search for contents stored in the first content source CS1, that is, the NAS of the local network, and display a content list.
  • the user can designate the content to be watched in the displayed content list using the input means.
  • the client device CD can then select the content according to the signal received from the input means.
  • the local application 110 obtains a first source URI capable of providing the content from the first content source CS1.
  • the client device CD requests the content download to the first content source using the first source URI for the bandwidth test (step S31) and downloads a portion of the content for a predetermined time (step S32). .
  • the local application 110 estimates the bandwidth corresponding to the first source URI based on the content download for the predetermined time (step S33), and the bandwidth of the estimated first source URI is the same as the content based on the download. It is determined whether to search for another content source that is being stored (step S34).
  • the local application 110 determines whether the bandwidth of the first source URI is greater than or equal to the set reference bandwidth, and if the bandwidth of the first source URI is smaller than the reference bandwidth, determines whether to search for another content source. Can be. Meanwhile, when the bandwidth of the first source URI is equal to or greater than the set reference bandwidth, the local application 110 transmits a queue request including the first source URI to the queue / policy engine 120, and the queue / policy engine 120 The content may be received from the first content source CS1 using the first source URI.
  • the local application 110 may search for devices in the local network and server domain to provide the same content as the content, such as a second content source CS2 and a second content source.
  • 3 Content source CS3 can be found.
  • a plurality of source access information for example, a second source URI and a third source URI, may be obtained from the found content sources CS2 and CS3 (step S35).
  • the local application 110 requests the content download to the servers CS2 and CS3 as the corresponding content using the respective source access information acquired through the step S35 (steps S36 and S39), and each content server CS2. , Part of the content can be downloaded from the CS3 for a preset time, for example, several seconds (steps S37 and S40).
  • the local application 110 may estimate the bandwidth corresponding to each source access information based on the content download during the time (steps S38 and S41).
  • the local application 110 may store the estimated bandwidth information in the memory of the client device CD in correspondence with the corresponding source URI.
  • the stored bandwidth information may be queried by the queue / policy engine 120. Meanwhile, the bandwidth information may be included in the queue request.
  • the local application 110 generates a queue request including the obtained plurality of source URIs and transmits the generated queue request to the queue / policy engine 120 through the Q2 interface (step S42).
  • the queue request includes a plurality of URIs, a codec type media profile, a container type, a multipurpose internet mail extension (MIME) type, a store name, a total length of a queue request, Content information, policy information, and the like.
  • the queue request may include bandwidth information for each source URI estimated by a local application.
  • the multiple source URIs must refer to the same asset, and this asset must not be modified during the lifetime of the queue request.
  • the queue / policy engine 120 receiving the queue request may select at least one of the source URIs included in the queue request based on bandwidth information corresponding to each source URI (step S43). For example, the queue / policy engine 120 may compare the bandwidth information corresponding to the plurality of source URIs and select the third source URI of the third content source CS3, which is a content streaming server of a server domain having a large bandwidth. . The queue / policy engine 120 obtains bandwidth information through a queue request when bandwidth information corresponding to each source URI is included in a queue request, and obtains the bandwidth information from a memory when the queue information is not included in a queue request. Can be obtained.
  • the queue / policy engine 120 selecting the source URI may transmit a content transfer request to the selected content server CS3 using the selected source URI.
  • the queue / policy engine that selects the third source URI may transmit the content transfer request using the third source URI (step S44).
  • the third content source CS3 may then transcode the requested content in real time so as to be suitable for the client device CD (step S45), and stream the transcoded content to the client device CD (step: S46).
  • the content transfer request may include information for the transcoding, for example, device capability of a client device (CD).
  • FIG. 8 is a flowchart illustrating a content receiving method according to another preferred embodiment of the present invention.
  • the local application 110 of the client device CD may search for contents stored in the first content source CS1, that is, the NAS of the local network, and display a content list.
  • the user can designate content to be watched in the displayed content list using the input means.
  • the client device CD can then select the content according to the signal received from the input means.
  • the local application 110 obtains the corresponding source connection information from the first content source CS1.
  • the local application 110 retrieves the same content as the selected content from another content source, such as the second content source CS2 and the third content source CS3, and retrieves a plurality of sources from the retrieved content sources CS2 and CS3.
  • Connection information can be obtained. That is, the local application 110 may include a plurality of source connection information, for example, a first source URI, a first source, from a plurality of content sources, such as the first content source CS1, the second content source CS2, and the third content source CS3.
  • a second source URI and a third source URI are obtained (step S51).
  • the client device CD generates a plurality of queue requests including the obtained plurality of source connection information, and based on the bandwidth information of each source connection information or the information input from the user interface, Priority may be assigned (step S52).
  • the local application 110 may generate a first queue request that includes a first source URI, a second queue request that includes a second source URI, and a third queue request that includes a third source URI. .
  • the local application 110 performs steps S12 to S20 of FIG. 6 or steps S31 to S41 of FIG. 7, so that the first source URI, the second source URI, the first bandwidth corresponding to the third source URI, the second bandwidth, The third bandwidth can be estimated.
  • the local application 110 may set the priorities in order of the largest bandwidth. That is, the priority of the second queue request is set highest and the priority of the first queue request is set lowest.
  • the local application 110 inserts the information of the set priority into each queue request.
  • the information of the priority may be referred to as a queue request priority.
  • the local application 110 displays a user interface including a plurality of acquired content sources or source URIs, and if a priority corresponding to each source URI is input from the user interface according to the user input, the local application 110 according to the priority. You can also set the priority of each queue request.
  • the local application 110 may insert a queue request priority according to the set priority into each queue request.
  • the local application 110 may transmit a plurality of generated queue requests, for example, a first queue request, a second queue request, and a third queue request, to the queue / policy engine 120 (steps S53 and S54). , S55).
  • the third queue request may include a third source URI and a third queue request priority.
  • the second queue request may include a second source URI and a second queue request priority.
  • the first queue request may include a first source URI and a first queue request priority.
  • Each queue request has a Codec Type Media Profile, a Container Type, a Multipurpose Internet Mail Extension (MIME) type, a Store Name, a total length of the queue request, content information, and policy information. And the like.
  • MIME Multipurpose Internet Mail Extension
  • the queue / policy engine 120 receiving the plurality of queue requests processes the queue request based on the priority (step S56).
  • the queue / policy engine 120 may preferentially process a queue request having the highest priority among a plurality of queue requests. For example, the second highest priority queue request transitions to an active state, and the lower priority queue request has a status of Blocked, Waiting, and Suspended. You can transition to either. In other words, the queue / policy engine preferentially processes the queue request with the highest priority.
  • the remaining queue requests may be discarded according to certain conditions, such as completion of the highest priority queue request or expiration of a set time. However, if a higher priority queue request is not completed successfully, a lower priority queue request may be executed by transitioning to an active state.
  • the queue / policy engine 120 transmits the content transfer request to the second content source CS2 using the second source URI according to the highest priority queue request, for example, the second queue request (step S2).
  • content may be received from the second content source CS2 (step S58).
  • the third queue request or the first queue request may not be performed, and thus may be discarded. If the processing for the second queue request is not performed normally, the content transmission request according to the third priority queue request of the next priority may be performed.
  • FIG. 9 shows a diagram for explaining the life cycle and state change of a queue request.
  • the request in order for a request to transition to the Queued ST1 state, first, if the request is valid and free from errors, the request is assigned a queue request ID. Invalid requests cannot be placed on the queue and no queue request ID is assigned.
  • the queue request may have a policy that sets criteria or rules that enforce how and when the queue request should be processed. If no policy is specified, the behavior for download and cache is as if the policy was set to a true constant.
  • the newly submitted cupid request is either Blocked (ST2), Waiting (ST3) or Active ( It can transition to ST4) state.
  • the queue request transitions to the block ST2 state.
  • the queue request transitions to the standby (ST3) state. That is, another higher priority request may be processed before the wait request.
  • the queue request must transition to the active (ST4) state, which is the highest priority request for download.
  • the request in the active (ST4) state transitions to the standby (ST3) state. If the force defined by the request's policy is no longer satisfied due to the current operating conditions of the client device (CD), or an error requiring application interaction (eg HTTP 402 payment requiring a status code) is required to perform the request. In this case, the request of the active state ST4 may be transitioned to the block state ST2.
  • a request is allocated at the required time for execution, and there is no enforcement in the client device environment that blocks the performance of the policy or request, then it can transition to the active (ST4) state. If multiple requests are allocated at the required time for performance, and the client device (CD) cannot serve all of them due to client side restrictions suspending requests that do not have the allotted time, the highest priority The request transitions to the active (ST4) state. Due to invalidating a higher priority time-critical request allocated at a particular time, a non-sub-subscribed request may transition to the block ST2 state. A request that is paused due to the execution of a request having the time necessary for execution may transition to a Waiting state.
  • the local application 110 creates a deferred transmission request-queue request object in response to a user's request.
  • the local application 110 may create a queue request object by retrieving an XML queue request structure from a server or other entity that creates a queue request structure.
  • the queue request XML structure may include a rule object specifying a specific network rule from the network policy client 140, and may include a URI reference for a policy located at the rule content policy server.
  • Local application 110 may submit a queue request by invoking a request manager-submit request via the Q2 interface.
  • the queue / policy manager 120 may retrieve the queue request and verify it. The verification may involve checking for possible policy compliance, checking for supported D interface schemes, property verification of queue requests, and the like. If the queue request is verified, the queue / policy engine 120 may set the queue request status to submitted, assign a queue request request ID, and then return a call of the local application 110. If the queue request is not submitted, an error code may be returned.
  • the client device CD sets the priority according to the content transmission condition information and processes the queue request according to the set priority to receive the source connection information for receiving the content.
  • the content transmission condition information may include bandwidth information, whether to support progressive download, whether to support streaming, whether to support transcoded content streaming, and the like.
  • Priority information according to the content transmission condition information may be preset in the client device.
  • the content source search allows the local application to locate the first content source, the second content source, and the third content source that store the selected content, and to retrieve a plurality of source URIs. It can be acquired. For example, assume that the client device has obtained a first source URI, a fourth source URI, and a fifth source URI from a first content source, a second source URI from a second content source, and a third source URI from a third content source. do.
  • the local application includes content transmission condition information corresponding to each source URI from each content source, that is, a first content source, a second content source, and a third content source, such as transmission bandwidth information, whether to support progressive download, Whether to support streaming, whether to support transcoded content streaming, and the like can be obtained.
  • priorities of the content transmission condition information are stored in the form of a table in the client device. For example, assume that the table is set as "Bandwidth"> "Progressive Download Support”> “Streaming Support”, “Transcoded Streaming Support”.
  • the local application may set the priority of the queue request corresponding to each source URI according to the content transmission condition information corresponding to each obtained source URI. For example, if the first source URI has the largest bandwidth, the fourth source URI supports progressive download, the fifth source URI supports streaming, and the third source URI supports transcoded streaming, The local application has the highest priority for the first queue request with the first source URI, the second highest priority for the fourth queue request with the fourth URI, and the fifth queue request with the fifth source URI. May assign the third highest priority, and the third queue request including the third source URI to the lowest priority.
  • the local application may display a user interface including a plurality of acquired content sources and source URIs, and display the content transmission condition information on the user interface.
  • the priority may be assigned based on the priority information input through the user interface according to the user's selection.
  • the local application may send a number of generated queue requests to the queue / policy engine.
  • the queue / policy engine can then process the queue requests according to priority. Accordingly, the client device can download the content using the first source URI having the highest priority, and if there is a problem with the download, the client device can receive the content using the fourth source URI of the second priority. .
  • capability information associated with each content source for example, content size information of the target content of the content source
  • the terminal may receive content format information, streaming protocol information, a transmission scheme, bandwidth information about an interface with the content source, and select a content source based on the received capability information.
  • the client device may request specific capability information from the content source, or may transmit the capability information of the client device in response to a request from the content source.
  • device capability items transmitted between the content source and the client device will be described.
  • FIG. 10 illustrates a diagram for describing a device capability item.
  • a capability category of a device may be classified into a device description, a media play, a storage, and a network interface.
  • the device description may include a device ID, a device name, a device friendly name, and a user ID.
  • the device identifier may mean an identifier for globally uniquely identifying a device.
  • the value of the device identifier may be, for example, URI information.
  • the device name may mean a universally-unique identifier for a device.
  • the value of the device name may be, for example, information in the form of a string.
  • the device friendly name is a short description for an end user, and the value may be string type information.
  • the user identifier is an identifier for identifying the end user, and the value of the user identifier may be string type information.
  • the media play may include a content type, a supporting media container profile (formats), a supporting codec type, a maximum file size, and the like.
  • the content type may be, for example, the MIME type of the content.
  • the supporting media container profile may indicate a supportable media profile type.
  • the value of the supporting media profile is string type information such as 'HD' for high definition (HD), 'SD' for standard definition (SD), and portable definition (PD). It may be set to 'PD' meaning.
  • the supporting codec type is a list of supported codec types, and a value thereof may be string type information.
  • the maximum file size may be information indicating a maximum size of content.
  • the storage may include storage capacity and usage.
  • the storage capacity may represent an available amount of storage.
  • the storage capacity may indicate a storage capacity of the device.
  • the reminder may indicate an amount of storage currently available.
  • the value of the storage notice may be a percentage value. For example, if the value of the storage notice is '0', it means that the storage is completely empty (Completely Unoccupied), '100' may mean that the storage is completely occupied (Fully Occupied).
  • the network interface may include a network interface number of entries, a network access type, a supporting media transport protocol, a bandwidth limit, and the like.
  • the network interface number of the entry may indicate the number of network interfaces.
  • the network access type may indicate an available network access interface type.
  • the value of the network access type may be string information.
  • the value of the network access type may be, for example, 'Ethernet', '801.11', 'Bluetooth', '3G' or 'WiMAX'.
  • the supporting media transport may indicate a supported transport protocol type for D3, D4, and D1 interfaces.
  • the value of the media transport may be, for example, 'HTTP', 'RTP', and the like.
  • the bandwidth limit may represent the available bandwidth of the network interface.
  • FIG. 11 is a diagram exemplarily illustrating content information managed and provided by a content source.
  • content information managed and provided by a content source may be largely classified into two categories, for example, a content description and a transcoding.
  • the content description may be content metadata associated with content.
  • the content description includes a content identifier for identifying content, a content source URI indicating a location of a source capable of receiving the content, and a content source URI indicating identification information, and a content type indicating a MIME type of the content. ), Download Support indicating whether the download method is supported, Streaming Support indicating whether the streaming method is supported, Content Size indicating the size of the content, Content support indicating the supportable media profile information It may include a Media Profile, a Supported Codec Type indicating a supported codec type, and the like.
  • the transcoding includes a transcoding support indicating whether the transcoding is supported, a supported transcoding type, a transcoded content size indicating the size of the transcoded content, and a transcoding support.
  • a transcoding delay indicating a delay time due to coding may be included.
  • FIG. 12 is a diagram illustrating content selection information stored and managed on a client device.
  • the content selection information stored and managed in the client device is divided into three categories, for example, Selected Content Description, Selected Transcoding Information, and Selected Network Interface ( Selected Network Interface).
  • the selected content description may be content metadata associated with the selected content.
  • the selected content description may include a content identifier for identifying a selected content, a content source URI indicating a location and identification information of a source capable of receiving the selected content, and a MIME type of the selected content.
  • Content Type Download / Streaming for selecting download and streaming, Target Content Size indicating the size of the target content, Selected Media Profile indicating the media profile information of the selected content ( Selected Media Profile), Supported Codec Type indicating a supported codec type, and the like.
  • the target content size may be a zero value when download / streaming is set to streaming.
  • the selected transcoding information may include transcoded content indicating whether or not the content is transcoded. If the content needs to be transcoded, the value of the transcoded content may be set to true.
  • the selected network interface may include a selected network interface number representing a number of selected network interfaces, a network access type, a selected media transport protocol, and an available. It may include a bandwidth limit (Available Bandwidth Limit).

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

콘텐트 수신 방법 및 장치가 개시되어 있다. 콘텐트 수신 방법은 클라이언트 디바이스에 의하여 수행되며, 선택된 콘텐트를 저장하는 다수 개의 소스를 검색하여 다수 개의 소스 접속 정보를 취득하고, 다수 개의 소스 접속 정보를 포함하는 적어도 하나의 큐 요청을 생성하고, 적어도 하나의 큐 요청을 기반으로 하여, 다수 개의 소스 접속 정보 중 어느 하나의 소스 접속 정보를 선택하고, 그 선택된 소스 접속 정보를 사용하여 선택된 콘텐트를 수신한다. 따라서, 다수 개의 콘텐트 소스 중 콘텐트를 효과적으로 전송할 수 있는 콘텐트 소스 또는 사용자의 의도에 기반하는 콘텐트 소스를 선택하여 콘텐트를 수신할 수 있다.

Description

콘텐트 수신 방법 및 장치
본 발명은 콘텐트 수신 방법 및 장치에 관한 관한 것으로서, 좀더 상세하게는, 콘텐트의 전송이 가능한 다수 개의 콘텐트 소스로부터 선택적으로 콘텐트를 수신할 수 있는 기술에 관한 것이다.
최근 들어서, 데이터 통신 규격 및 단말기의 표준화가 이루어지고 디바이스의 지능화가 이루어지면서, 다수 개의 디바이스들 및 서비스들을 상호 연동시켜 보다 효율적이고 편리한 시스템을 구축하고자 하는 요구가 증대되고 있다. 이러한 요구에 부응하는 대표적인 예가 바로 홈 네트워크이다. 홈 네트워크는 DLNA(Digital Living Network Alliance), UPnP(Universal Plug and Play) 등과 같은 다양한 규격들을 기반으로, 정보 가전, 무선 통신 기기, PC(Personal Computer) 관련 기기 등 여러 위치에 분산되어 있는 디바이스 및 서비스 간을 유선 또는 무선 통신을 통하여 상호 연동시킨다.
이러한 홈 네트워크는 디바이스 간에 콘텐트를 전송하고 공유할 수 있는 콘텐트 공유 환경을 제공할 수 있다. 예를 들어, 로컬 네트워크 내의 특정 디바이스에 저장되어 있는 미디어 콘텐트를 로컬 네트워크의 다른 디바이스로 전송하고, 그 미디어 콘텐트를 수신한 디바이스에서는 수신된 미디어 콘텐트를 저장하고 사용자의 요청에 따라 재생할 수 있다.
통상, DLNA 또는 UPnP 디바이스는 콘텐트를 저장하고 있는 댁내의 디지털 미디어 서버(DMS : Digital Media Server)로부터 콘텐트를 다운로드 하거나 또는 스트리밍한다. 이때 콘텐트의 다운로드 또는 스트리밍 속도는 송신 또는 수신 디바이스의 처리 성능, 네트워크 상태, 예기치 않은 에러 등과 같은 다양한 요인 따라 변할 수 있다.
따라서, 콘텐트의 다운로드 또는 스트리밍 시 콘텐트를 송신하는 송신 디바이스와 콘텐트를 수신하는 수신 디바이스 간의 통신 상태가 좋지 않을 경우, 콘텐트의 전송 시간이 길어지거나 콘텐트 전송이 어려워지게 된다. 이러한 경우 콘텐트의 다운로드 또는 스트리밍 지연으로 인하여, 수신 디바이스에서 콘텐트를 재생할 때 끊김 현상이 발생하거나 콘텐트의 재생이 불가능해지는 등의 문제점이 발생할 수 있다.
본 발명은 이러한 문제점을 해결하기 위한 것으로서, 다수 개의 콘텐트 소스 중 적어도 어느 하나를 선택하여 콘텐트를 수신할 수 있는 콘텐트 수신 방법 및 장치를 제공하는데 그 목적이 있다.
이러한 목적을 달성하기 위하여 본 발명은 일 측면(Aspect)에서 콘텐트 수신 방법을 제공한다. 상기 콘텐트 수신 방법은, 클라이언트 디바이스에 의하여 수행되며, 선택된 콘텐트를 저장하는 다수 개의 소스를 검색하여 다수 개의 소스 접속 정보를 취득하는 단계와; 상기 다수 개의 소스 접속 정보를 포함하는 적어도 하나의 큐 요청을 생성하는 단계와; 상기 적어도 하나의 큐 요청을 기반으로 하여, 상기 다수 개의 소스 접속 정보 중 어느 하나의 소스 접속 정보를 선택하는 단계; 및 상기 선택된 소스 접속 정보를 사용하여 상기 선택된 콘텐트를 수신하는 단계를 포함한다.
상기 적어도 하나의 큐 요청은, 제 1 소스 접속 정보 및 제 2 소스 접속 정보를 포함하는 제 1 큐 요청을 포함할 수 있다. 상기 다수 개의 소스 접속 정보 중 어느 하나의 소스 접속 정보를 선택하는 단계는, 각각의 소스 접속 정보에 대응하는 전송 대역폭 정보 및 사용자 인터페이스로부터 입력되는 선택 신호 중 어느 하나를 기반으로 하여, 상기 제 1 소스 접속 정보 및 상기 제 2 소스 접속 정보 중 어느 하나를 선택하는 단계를 포함할 수 있다.
상기 콘텐트 수신 방법은, 상기 제 1 소스 접속 정보 및 제 2 소스 접속 정보를 사용하여 제 1 소스 및 제 2 소스로 상기 콘텐트를 전송할 것을 요청하는 콘텐트 다운로드 요청을 전송하는 단계와; 상기 제 1 소스 및 제 2 소스로부터 미리 설정된 시간 동안 각각 상기 콘텐트를 다운로드 하는 단계; 및 상기 설정된 시간 동안의 콘텐트 다운로드를 분석하여, 상기 제 1 소스 접속 정보 및 상기 제 2 소스 접속 정보에 각각 대응하는 전송 대역폭을 추정(estimation)하는 단계를 더 포함할 수도 있다.
상기 다수 개의 소스 접속 정보 중 어느 하나의 소스 접속 정보를 선택하는 단계는, 상기 제 1 소스 접속 정보에 대응하는 전송 대역폭 정보 및 상기 제 2 소스 접속 정보에 대응하는 전송 대역폭 정보를 기반으로 하여, 전송 대역폭이 더 큰 소스 접속 정보를 선택하는 단계를 포함할 수 있다.
상기 적어도 하나의 큐 요청은, 제 1 소스 접속 정보 및 제 1 큐 요청 우선 순위를 포함하는 제 1 큐 요청; 및 제 2 소스 접속 정보 및 제 2 큐 요청 우선 순위를 포함하는 제 2 큐 요청을 포함할 수도 있다. 상기 콘텐트 수신 방법은 각각의 소스 접속 정보에 대응하는 전송 대역폭 정보 및 사용자 인터페이스로부터 입력되는 우선 순위 정보 중 어느 하나를 기반으로 하여, 상기 제 1 큐 요청 우선 순위 및 상기 제 2 큐 요청 우선 순위를 설정하는 단계를 더 포함할 수도 있다.
상기 콘텐트 수신 방법은, 상기 제 1 소스 접속 정보 및 상기 제 2 소스 접속 정보를 사용하여 제 1 소스 및 제 2 소스로 각각 상기 콘텐트를 전송할 것을 요청하는 콘텐트 다운로드 요청을 전송하는 단계와; 상기 제 1 소스 및 상기 제 2 소스로부터 미리 설정된 시간 동안 각각 상기 콘텐트를 다운로드 하는 단계와; 상기 설정된 시간 동안의 콘텐트 다운로드를 분석하여, 상기 제 1 소스 접속 정보 및 및 상기 제 2 소스 접속 정보에 각각 대응하는 전송 대역폭을 추정(estimation)하는 단계; 및 상기 제 1 소스 접속 정보에 대응하는 전송 대역폭 및 상기 제 2 소스 접속 정보에 대응하는 전송 대역폭에 따라 상기 제 1 큐 요청 우선 순위 및 상기 제 2 큐 요청 우선 순위를 설정하는 단계를 더 포함할 수도 있다.
상기 다수 개의 소스 접속 정보 중 어느 하나의 소스 접속 정보를 선택하는 단계는, 상기 제 1 큐 요청 및 상기 제 2 큐 요청 중 우선 순위가 높은 큐 요청을 액티브 상태로 천이하는 단계; 및 상기 제 1 큐 요청 및 상기 제 2 큐 요청 중 우선 순위가 낮은 큐 요청은 블락드 상태, 대기 상태 및 서스펜디드 상태 중 어느 하나의 상태로 천이하는 단계를 포함할 수 있다. 상기 콘텐트 수신 방법은 상기 선택된 콘텐트를 다운로드 하기 위하여, 상기 액티브 상태로 천이한 큐 요청에 포함된 소스 접속 정보를 사용하는 단계를 더 포함할 수도 있다.
상기 다수 개의 소스 접속 정보는 사용자 도메인의 디바이스에 저장된 콘텐트로 접속하기 위한 범용 리소스 식별자(URI : Universal Resource Identifier) 및 서버 도메인의 디바이스에 저장된 콘텐트로 접속하기 위한 범용 리소스 식별자 중 적어도 어느 하나일 수 있다.
한편, 상술한 본 발명의 목적을 달성하기 위하여 본 발명은 다른 측면에서 콘텐트 수신 장치를 제공한다. 상기 콘텐트 수신 장치는, 선택된 콘텐트를 저장하는 다수 개의 소스를 검색하여 다수 개의 소스 접속 정보를 취득하고, 상기 다수 개의 소스 접속 정보를 포함하는 적어도 하나의 큐 요청을 생성하는 어플리케이션; 및 상기 적어도 하나의 큐 요청을 기반으로 하여, 상기 다수 개의 소스 접속 정보 중 어느 하나의 소스 접속 정보를 선택하고, 상기 선택된 소스 접속 정보를 사용하여 상기 선택된 콘텐트를 수신하는 큐 및 정책 엔진을 포함할 수 있다.
상기 적어도 하나의 큐 요청은, 제 1 소스 접속 정보 및 제 2 소스 접속 정보를 포함하는 제 1 큐 요청을 포함할 수 있다. 상기 큐 및 정책 엔진은, 각각의 상기 소스 접속 정보에 대응하는 전송 대역폭 정보 및 사용자 인터페이스로부터 입력되는 선택 신호 중 어느 하나를 기반으로 하여, 상기 제 1 소스 접속 정보 및 상기 제 2 소스 접속 정보 중 어느 하나를 선택할 수 있다.
상기 적어도 하나의 큐 요청은, 제 1 소스 접속 정보 및 제 1 큐 요청 우선 순위를 포함하는 제 1 큐 요청; 및 제 2 소스 접속 정보 및 제 2 큐 요청 우선 순위를 포함하는 제 2 큐 요청을 포함할 수도 있다.
상기 어플리케이션은, 각각의 소스 접속 정보에 대응하는 전송 대역폭 정보 및 사용자 인터페이스로부터 입력되는 우선 순위 정보 중 어느 하나를 기반으로 하여, 상기 제 1 큐 요청 우선 순위 및 상기 제 2 큐 요청 우선 순위를 설정할 수 있다. 상기 큐 및 정책 엔진은, 상기 제 1 큐 요청 및 상기 제 2 큐 요청 중 우선 순위가 높은 큐 요청을 액티브 상태로 천이하고, 상기 제 1 큐 요청 및 상기 제 2 큐 요청 중 우선 순위가 낮은 큐 요청은 블락드 상태, 대기 상태 및 서스펜디드 상태 중 어느 하나의 상태로 천이할 수 있다.
이상 설명한 바와 같이, 본 발명에 따르면 다수 개의 콘텐트 소스 중 콘텐트를 효과적으로 전송할 수 있는 콘텐트 소스 또는 사용자의 의도에 기반하는 콘텐트 소스를 선택하여 콘텐트를 수신할 수 있다. 따라서 콘텐트의 다운로드 또는 스트리밍의 지연을 해소하거나 사용자의 의도에 따라 콘텐트 소스를 선택하도록 함으로써, 콘텐트 재생 시에 끊김이나 재생 중단을 방지하고 서비스의 만족도를 높일 수 있게 된다.
도 1은 본 발명의 바람직한 실시예에 따른 콘텐트 수신 방법이 적용될 수 있는 콘텐트 서비스 시스템의 구성을 도시하는 블록도이다.
도 2는 콘텐트 서비스 시스템의 클라이언트 디바이스의 상세 구조 및 관련 인터페이스를 설명하기 위한 블록도이다.
도 3은 도 2에 도시되어 있는 인터페이스들을 설명하기 위한 도표를 나타낸다.
도 4는 바람직한 실시예에 따른 콘텐트 수신 방법과 관련되는 디바이스들의 연동을 설명하기 위한 블록도이다.
도 5는 본 발명의 바람직한 실시예에 따른 콘텐트 수신 방법을 나타내는 흐름도이다.
도 6은 본 발명의 바람직한 다른 실시예에 따른 콘텐트 수신 방법을 설명하기 위한 흐름도이다.
도 7은 본 발명의 바람직한 또 다른 실시예에 따른 콘텐트 수신 방법을 설명하기 위한 흐름도이다.
도 8은 본 발명의 바람직한 또 다른 실시예에 따른 콘텐트 수신 방법을 설명하기 위한 흐름도이다.
도 9는 큐 요청의 라이프 사이클 및 상태 변화를 설명하기 위한 다이어그램을 도시하고 있다.
도 10은 디바이스 커패빌리티 아이템을 설명하기 위한 도표를 나타내고 있다.
도 11은 콘텐트 소스에서 관리 및 제공되는 콘텐트 정보를 예시적으로 나타내는 도표이다.
도 12는 클라이언트 디바이스에 저장 및 관리되는 콘텐트 선택 정보를 나타내는 도표이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 '연결되어' 있다거나 '접속되어' 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 '직접 연결되어' 있다거나 '직접 접속되어' 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, '포함하다' 또는 '가지다' 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 바람직한 실시예에 따른 콘텐트 수신 방법이 적용될 수 있는 콘텐트 서비스 시스템의 구성을 도시하는 블록도이다.
도 1에 도시된 바와 같이, 콘텐트 서비스 시스템은 서버 도메인(Server Domain) 및 사용자 도메인(User Domain)으로 구분될 수 있다.
상기 서버 도메인은 콘텐트 서비스를 위한 서비스 및 네트워크 정책(Policy) 등을 운영하고 그 정책을 기반으로 콘텐트를 사용자 도메인으로 제공할 수 있다. 즉, 서버 도메인은 콘텐트 서비스를 제공하기 위한 서버들을 포함하는 도메인을 의미할 수 있다. 이러한 서버 도메인은 예컨대, 콘텐트의 제작, 판매, 유통, 정책 운영, 권한 제한 등 사용자 도메인으로의 콘텐트 제공 및 서비스의 운영 등을 수행할 수 있다.
상기 서버 도메인은 콘텐트를 제공하는 콘텐트 서버(200), 콘텐트 서비스를 위한 정책을 운영하는 콘텐트 정책 서버(300), 네트워크 정책을 운영하는 콘텐트 정책 서버(400) 등을 포함할 수 있다. 콘텐트 서버는 다수 개일 수 있다. 예를 들어, 서버 도메인은 콘텐트의 다운로드를 위한 콘텐트 다운로드 서버, 콘텐트의 스트리밍을 위한 콘텐트 스트리밍 서버 등을 포함할 수 있다.
사용자 도메인은 사용자의 디바이스(100)들을 포함할 수 있다. 상기 디바이스(100)는, 예컨대 PC, 셋톱박스 등과 같은 고정형 단말기일 수도 있고, 스마트폰, 휴대폰, 모바일 핸드셋, 태블릿, PDA(Personal Digital Assistance), 노트북 등과 같은 포터블 단말기일 수도 있다. 상기 디바이스(100)들은 UPnP, DLNA 등에 기반한 로컬 네트워크에 접속하고, 유선 또는 무선 통신을 통하여 상호 연동할 수 있다.
사용자의 디바이스(100)는 클라이언트 디바이스(Client Device) 또는 매개 디바이스(Intermediate Device)일 수 있다.
상기 클라이언트 디바이스는 적어도 하나의 네트워크 인터페이스 및 로컬 스토리지를 구비하는 물리적인 하드웨어 디바이스를 의미할 수 있다. 예컨대 상기 클라이언트 디바이스는 콘텐트를 소비(Consume)할 수 있는 모바일 핸드셋, 태블릿, 스마트폰, PC 등일 수 있다. 상기 클라이언트 디바이스(CD)는 콘텐트 서비스를 제공받기 위한 모듈들을 구비할 수 있다.
상기 매개 디바이스는 클라이언트 디바이스 행의(destined for) 어셋(Asset)의 집결(stage)하는 것에 사용될 수 있는 네트워크 상의 듀얼 롤 클라이언트/서버(Dual Role Client/Server) 디바이스일 수 있다. 상기 매개 디바이스는 어셋이 클라이언트 디바이스로 전달될 때까지 어셋을 일시적으로 홀드할 수 있다. 상기 매개 디바이스는 통상적으로는 콘텐트를 직접 소비하지는 않으나, 콘텐트를 직접 소비할 수도 있다.
도 2는 콘텐트 서비스 시스템의 클라이언트 디바이스의 상세 구조 및 관련 인터페이스를 설명하기 위한 블록도이다.
도 2에 도시된 바와 같이, 클라이언트 디바이스(CD)는 로컬 어플리케이션(Local Application)(110), 플레이어(Player)(130), 네트워크 정책 클라이언트(Network Policy Client)(140), 가상 스토리지 디바이스(Virtual Storage Device)(150), 큐/정책 엔진(QPE : Queue/Policy Engine)(120) 등을 포함할 수 있다.
상기 로컬 어플리케이션(110)은 콘텐트 서비스를 위한 어플리케이션을 의미할 수 있다. 예컨대 로컬 어플리케이션(110)은 사용자가 콘텐트 서비스를 제공받을 수 있도록 하기 위한 사용자 인터페이스, 서비스 메뉴, 서비스 선택, 콘텐트 선택 등을 제공하는 사용자 에이전트(User Agent)일 수 있다. 따라서 상기 로컬 어플리케이션(110)은 사용자 에이전트로 칭할 수도 있다.
상기 플레이어(130)는 콘텐트 서비스를 통하여 제공되는 콘텐트를 재생하기 위한 것으로서, 예컨대 다운로드 콘텐트 또는 스트리밍 콘텐트를 재생할 수 있는 미디어 플레이어일 수 있다. 상기 네트워크 정책 클라이언트(140)는 네트워크 정책 서버(400)와 통신하면서 네트워크 정책을 취득하고 취득된 네트워크 정책에 따라 클라이언트 디바이스(CD)를 제어할 수 있다.
상기 가상 스토리지 디바이스(150)는 캐시 오브젝트(Cache Object)를 통하여 액세스할 수 있는 로컬 저장소의 표현(representation)이다. 예컨대 가상 스토리지 디바이스(150)는 하드디스크와 같은 일반적인 로컬 저장소, 디바이스에 연결되는 USB 메모리, 플래시 메모리, 대몬(Demon)과 같은 가상 영역 등일 수 있다.
상기 큐/정책 엔진(120)는 클라이언트 디바이스(CD)에 구비되는 모듈로서 P1, S, D1, D2, Q2, D3, Q3 인터페이스 프로토콜들을 통하여 통신할 수 있다. 큐/정책 엔진(120)는 각 로컬 어플리케이션(110) 및 콘텐트 서버(200)를 대표하여(on behalf of) 큐(Queue)를 유지(maintaining)할 수 있으며, 스토리지와 인터페이싱하고, 큐 요청을 정책과 동기화하는 책임을 질 수 있다. 따라서 큐/정책 엔진은 콘텐트 공유 서비스를 위한 서비스 클라이언트라 칭할 수도 있다.
이러한 큐/정책 엔진(120), 즉 큐/정책 엔진은 큐 매니저(Queue Manger)(122), 정책 클라이언트(Policy Client)(126) 및 매개 디바이스 매니저(Intermediate Device Manager)(124) 등을 포함할 수 있다.
상기 큐 매니저(122)는 콘텐트의 다운로드 또는 스트리밍을 위한 큐를 운영할 수 있다. 예컨대 큐 매니저(122)는 스트림 큐 운영자(Stream Queue Manager), 다운로드 매니저(Download Manager)를 포함할 수도 있다. 상기 큐 매니저(122)는 매개 디바이스(IMD)로 큐 요청을 전송하고 그 응답을 매개 디바이스(IMD)로부터 수신할 수도 있고, 또는 매개 디바이스(IMD)로부터 큐 요청을 수신하고 그 응답을 송신할 수도 있다. 예를 들어, 큐 매니저(122)는 매개 디바이스(IMD)로 콘텐트 서버(200)로부터 특정 콘텐트를 다운로드할 것을 요청하는 큐 요청을 전송하고 그 응답을 수신할 수 있다. 큐 매니저(122)는 매개 디바이스(IMD)로 콘텐트 서버(200)로부터 다운로드 한 콘텐트를 클라이언트 디바이스(CD)로 전송해줄 것을 요청하는 큐 요청을 전송할 수도 있다.
정책 클라이언트(126)는 큐/정책 엔진(120)의 서브 시스템으로서 정책 오브젝트를 유지(Maintain)한다. 정책 클라이언트(126)는 콘텐트 정책 서버(300)로부터의 정책들에 따라 큐/정책 엔진(120)을 제어할 수 있다. 예를 들어, 정책 클라이언트(126)는 콘텐트 정책 서버(300)로부터 정책들을 리트리브(Retrieve)하고 큐 요청 행위를 조정(Adjust)할 수 있다.
상기 매개 디바이스 매니저(124)는 클라이언트 디바이스(CD)와 연동하는 매개 디바이스(IMD)들을 매니징할 수 있다. 예컨대, 매개 디바이스 매니저(124)는 네트워크에 연결된 매개 디바이스(IMD)를 디스커버리하고, 매개 디바이스(IMD)의 상태를 매니징할 수 있다. 매개 디바이스 매니저(124)는 매개 디바이스와 필요한 메시지를 송신 또는 수신할 수 있다.
도 3은 도 2에 도시되어 있는 인터페이스들을 설명하기 위한 도표를 나타낸다.
도 3에 도시된 바와 같이, 콘텐트 서비스 시스템과 관련되는 인터페이스는 P, Q, S 및 D 인터페이스 그룹으로 구분될 수 있다. 각각의 인터페이스는 클라이언트-서버 구조로 연동할 수 있다.
P 인터페이스 그룹은 큐/정책 엔진(120)과 콘텐트 정책 서버(300) 간을 링크 및 정책을 정의(define)할 수 있다. 이러한 P 인터페이스 그룹은 P1, P2 인터페이스를 포함할 수 있다. P1 인터페이스에서 서버는 콘텐트 정책 서버(300)이며 클라이언트는 큐/정책 엔진(120)일 수 있다. P2 인터페이스에서 서버는 네트워크 정책 클라이언트(140)이며 클라이언트는 큐/정책 엔진(120)일 수 있다. P4 인터페이스에서 서버는 콘텐트 서버(200)이며 클라이언트는 매개 디바이스(IMD)일 수 있다.
Q 인터페이스 그룹은 큐 요청 핸들링(Queue Request Handling)을 정의할 수 있다. Q 인터페이스 그룹은 콘텐트 서버(200), 매개 디바이스(IMD)들과 큐/정책 엔진(120) 간을 연동하는 프라이머리 커맨드 채널일 수 있다. Q 인터페이스 그룹은 로컬 어플리케이션(110)에 의하여 호출될 캐싱 기능(Caching Functionality)을 허용(Allow)할 수 있다. Q2 인터페이스에서 서버는 큐/정책 엔진(120)이고 클라이언트는 로컬 어플리케이션(110)일 수 있다. Q3 인터페이스에서는 서버가 큐/정책 엔진(120)이고 클라이언트는 매개 디바이스(IMD)일 수 있다. Q4 인터페이스에서 서버는 콘텐트 서버(200)이고 클라이언트는 매개 디바이스(IMD)일 수 있다.
S 인터페이스 그룹은 스토리지 및 캐시 커패빌리티를 큐/정책 엔진으로 추출(Abstract)할 수 있다. S 인터페이스에서 서버는 가상 스토리지 디바이스(150)이고 클라이언트는 큐/정책 엔진(120)일 수 있다.
D 인터페이스 그룹은 데이터의 전송을 위하여 사용될 수 있다. D1 인터페이스에서 서버는 콘텐트 서버(200)이고 클라이언트는 큐/정책 엔진(120)일 수 있다. D2 인터페이스에서 서버는 큐/정책 엔진(120)이고 클라이언트는 플레이어(130)일 수 있다. D3 인터페이스에서 서버는 매개 디바이스(IMD)이고 클라이언트는 큐/정책 엔진(120)일 수 있다. D4 인터페이스에서 서버는 콘텐트 서버(200)이고 클라이언트는 매개 디바이스(IMD)일 수 있다.
도 4는 바람직한 실시예에 따른 콘텐트 수신 방법과 관련되는 디바이스들의 연동을 설명하기 위한 블록도이다.
도 4에 도시된 바와 같이, 클라이언트 디바이스(CD)는 일 측으로는 DLNA나 UPNP 등을 기반으로 로컬 네트워크, 예컨대 홈 네트워크에 접속하고, 홈 네트워크 내의 홈 디바이스와 연동할 수 있다. 상기 홈 디바이스는 예컨대 NAS(Network Attached Storage), DMS(Digital Media Server), DMP(Digital Media Player), DMC(Digital Media Controller), DMR(Digital Media Renderer) 등일 수 있다. 다른 한편으로 상기 클라이언트 디바이스(CD)는 광역 네트워크를 통하여 서버 도메인의 서버들, 예컨대 콘텐트 다운로드 서버, 콘텐트 스트리밍 서버 등과 접속할 수 있다.
상기 클라이언트 디바이스(CD)는 홈 네트워크 내의 콘텐트 소스, 예컨대 NAS 등에 저장된 콘텐트를 검색할 수 있다. 본 실시예에서는 상기 홈 네트워크 내의 콘텐트 소스를 제 1 콘텐트 소스(CS1)로 칭하기로 한다. 그러나 이는 실시의 한 예일뿐 한정된 사항은 아니며, 상기 클라이언트 디바이스(CD)와 연동하는 홈 네트워크 내의 콘텐트 소스는 하나 또는 다수 개일 수 있다. 예를 들어, 클라이언트 디바이스(CD)는 홈 네트워크 내에서 다수 개의 콘텐트 소스를 검색할 수도 있다.한편으로, 상기 클라이언트 디바이스(CD)는 서버 도메인의 콘텐트 소스들에서 제공 가능한 콘텐트를 검색할 수 있다. 본 실시예에서는 클라이언트 디바이스가 제 2 콘텐트 소스(CS2) 및 제 3 콘텐트 소스(CS3)와 연동하는 예를 가정하여 설명하기로 한다. 상기 제 2 콘텐트 소스(CS2)는 예컨대 서버 도메인의 콘텐트 다운로드 서버일 수 있다. 상기 제 3 콘텐트 소스(CS3)는 예컨대 서버 도메인의 콘텐트 스트리밍 서버일 수 있다. 이는 실시의 한 예일뿐 한정된 사항은 아니며, 클라이언트 디바이스(CD)는 서버 도메인의 다양한 서버들과 연동할 수 있음은 물론이다.
상기 콘텐트는 멀티미디어, 예컨대 방송 프로그램, 영화, 뮤직비디오, 광고 등이거나, 음원, 이미지, 텍스트 등일 수 있다. 클라이언트 디바이스(CD)는 적어도 하나의 콘텐트 소스로부터 콘텐트 리스트를 취득하거나, 각각의 콘텐트 소스로부터 검색된 콘텐트들을 기반으로 콘텐트 리스트를 생성할 수 있다. 상기 클라이언트 디바이스(CD)는 콘텐트 소스들로부터 취득된 콘텐트 리스트를 취합하여 로컬 네트워크 내의 콘텐트 소스들에 저장된 콘텐트들의 리스트인 로컬 통합 콘텐트 리스트를 생성할 수도 있고, 로컬 네트워크 내의 콘텐트 소스 및 서버 도메인의 콘텐트 소스에 저장된 콘텐트들의 리스트를 통합한 통합 콘텐트 리스트를 생성할 수도 있다.
상기 클라이언트 디바이스(CD)는 다양한 사용자 인터페이스를 통하여 생성된 콘텐트 리스트를 표시할 수 있다. 사용자가 콘텐트를 시청하거나 저장하기 위하여 콘텐트 리스트에서 원하는 콘텐트를 선택하면, 클라이언트 디바이스(CD)는 연동된 콘텐트 서버들, 예컨대 제 1 콘텐트 서버(CS1), 제 2 콘텐트 서버(CS2), 제 3 콘텐트 서버(CS3) 중 적어도 어느 하나를 선택하고 선택된 콘텐트 서버로부터 해당 콘텐트를 수신하여 다운로드 또는 스트리밍 방식으로 재생하거나 저장할 수 있다.
상기 클라이언트 디바이스(CD)는 상기 콘텐트를 저장하는 다수 개의 콘텐트 소스를 검색하고, 각각의 검색된 콘텐트 소스로부터 해당 콘텐트를 획득할 수 있는 적어도 하나의 소스 접속 정보를 취득할 수 있다. 즉, 다수 개의 콘텐트 소스로부터 콘텐트를 제공할 수 있는 다수 개의 소스 접속 정보를 취득하는 것이다. 여기서, 소스 접속 정보는 소스의 범용 리소스 식별자(URI : Universal Resource Identifier)일 수 있다. 상기 소스 URI는 어셋(Asset)을 획득(Obtain)하기 위한 정보로서, D 인터페이스를 거쳐(via) 어셋을 리트리브(Retrieve)하는데 사용될 수 있다.
각각의 콘텐트 소스는 상기 콘텐트를 전송할 수 있는 소스 URI를 제공할 수 있다. 예를 들어, 제 1 콘텐트 소스(CS1)는 제 1 소스 URI, 제 2 콘텐트 소스(CS2)는 제 2 소스 URI, 제 3 콘텐트 소스(CS3)는 제 3 소스 URI를 제공할 수 있다. 한편, 각각의 콘텐트 소스는 상기 콘텐트를 전송할 수 있는 다수 개의 소스 URI를 제공할 수도 있다. 예를 들어, 홈 네트워크 내의 DLNA 또는 UPnP 디바이스인 제 1 콘텐트(CS1)는 하나의 콘텐트의 제공을 위하여, 상기 콘텐트를 프로그래시브 다운로드(Progressive) 방식으로 제공하는 소스 URI, 상기 콘텐트를 스트리밍 방식으로 제공하는 소스 URI, 트랜스코디드(Transcoded)된 콘텐트를 제공하기 위한 소스 URI 등을 제공할 수 있다. 즉 하나의 콘텐트 소스에서 다수 개의 소스 URI를 제공하는 것이다.
이와 같이, 클라이언트 디바이스(CD)에 의하여 상기와 같이 검색된 각각의 콘텐트 소스는 상기 콘텐트에 대응하여 적어도 하나(즉 하나 또는 다수 개)의 소스 URI를 제공할 수 있다.
상기 클라이언트 디바이스(CD)는 다수 개의 소스 접속 정보를 포함하는 적어도 하나의 큐 요청을 생성할 수 있다. 큐 요청 오브젝트는 다운로드를 위한 어셋을 큐잉하기 위한 메커니즘이라고 할 수 있다. 큐 요청은 Q2 및 Q3 인터페이스를 통하여 로컬 어플리케이션, 매개 디바이스 또는 콘텐트 서버에 의하여 큐/정책 엔진으로 보내진다. 큐 요청은 네트워크를 통하여 무엇이(What), 어디에서(Where), 언제(When), 어떻게(How) 어셋이 클라이언트 및 서버 간에 전송될 것인지에 대한 정보를 포함한다. 큐 요청은 어셋을 획득할 수 있는 적어도 하나의 소스 URI를 포함할 수 있다. 이러한 URI는 D 인터페이스를 거쳐 어셋을 리트리브하는데 사용된다.
상기 클라이언트 디바이스(CD)는, 다수 개의 소스 접속 정보에 대응하여, 다수 개의 소스 접속 정보를 포함하는 단일 큐 요청을 생성할 수 있다. 예를 들어, 클라이언트 디바이스(CD)는 제 1 콘텐트 소스(CS1)의 제 1 소스 접속 정보, 제 2 콘텐트 소스(CS2)의 제 2 소스 접속 정보, 제 3 콘텐트 소스(CS3)의 제 3 소스 접속 정보를 포함하는 큐 요청을 생성할 수 있다.
상기 클라이언트 디바이스(CD)는 상기 생성된 큐 요청에 포함된 소스 접속 정보 중 콘텐트를 수신하기 위한 소스 접속 정보를 선택할 수 있다. 상기 클라이언트 디바이스(CD)는 선택된 소스 접속 정보를 사용하여 해당 콘텐트 소스로부터 콘텐트를 수신할 수 있다.
상기 클라이언트 디바이스(CD)는 각각의 소스 접속 정보에 대응하는 전송 대역폭 정보, 사용자 인터페이스로부터 입력되는 선택 신호 등에 따라 다수 개의 소스 접속 정보 중 콘텐트를 수신하기 위한 소스 접속 정보를 선택한다.
전자와 같이 각각의 소스 접속 정보에 대응하는 대역폭 정보를 기반으로 하는 콘텐트를 수신할 소스 접속 정보를 선택하는 경우, 예컨대 클라이언트 디바이스(CD)는 각각의 콘텐트 소스에 미리 설정된 시간 동안 콘텐트를 전송할 것을 요청하고, 각각의 콘텐트 소스로부터의 콘텐트 다운로드 속도를 기반으로 대역폭을 추정(estimation)한 후, 그 대역폭 정보를 콘텐트 소스에 대응하는 소스 접속 정보에 대응시킬 수 있다. 클라이언트 디바이스(CD)는 다수 개의 소스 접속 정보에 대응하는 대역폭 정보를 분석하여, 예컨대 대역폭이 가장 큰 소스 접속 정보를 선택할 수 있다. 따라서 네트워크 상태가 가장 양호하고 신속한 전송이 가능한 콘텐트 소스로부터 콘텐트를 수신할 수 있다.
후자와 같이, 사용자 인터페이스로부터 입력된 선택 신호에 따라 소스 접속 정보를 선택하는 경우, 클라이언트 디바이스(CD)는 검색된 다수 개의 콘텐트 소스(또는 소스 접속 정보)를 포함하는 소스 리스트를 사용자 인터페이스를 통하여 표시하고, 사용자가 원하는 콘텐트 소스를 선택하면 선택된 콘텐트 소스에 대응하는 소스 접속 정보를 선택할 수도 있다. 따라서 사용자가 원하는 콘텐트 소스로부터 콘텐트를 수신할 수 있다. 한편, 클라이언트 디바이스(CD)는 각각의 콘텐트 소스에 대응하는 대역폭 정보를 상기 소스 리스트에 표시하고 사용자로 하여금 대역폭 정보를 참고하여 원하는 콘텐트 소스를 선택하도록 할 수도 있다.
한편, 상기 클라이언트 디바이스(CD)는, 다수 개의 소스 접속 정보에 대응하여, 각각 하나의 소스 접속 정보를 포함하는 큐 요청을 다수 개 생성할 수도 있다. 예를 들면, 클라이언트 디바이스(CD)는 제 1 콘텐트 소스(CS1)의 제 1 소스 접속 정보를 포함하는 제 1 큐 요청, 제 2 콘텐트 소스(CS2)의 제 2 소스 접속 정보를 포함하는 제 2 큐 요청, 제 3 콘텐트 소스(CS3)의 제 3 콘텐트 접속 정보를 포함하는 제 3 큐 요청을 각각 생성할 수 있다.
상기 각각의 큐 요청은 우선 순위를 포함할 수 있다. 이를 위하여 상기 클라이언트 디바이스(CD)는 각각의 소스 접속 정보에 대응하는 전송 대역폭 정보,사용자 인터페이스로부터 입력되는 우선 순위 정보, 콘텐트 전송 조건 정보 등을 기반으로 하여, 각각의 큐 요청에 대응되는 우선 순위를 설정할 수 있다.
예를 들어, 상기 클라이언트 디바이스(CD)는 각 소스 접속 정보에 대응하는 전송 대역폭 정보에 따라 대역폭이 큰 콘텐트 소스의 소스 접속 정보에 대응하는 큐 요청에는 높은 우선 순위를 할당하고, 대역폭이 낮은 콘텐트 소스의 소스 접속 정보에 대응하는 큐 요청에는 낮은 우선 순위를 할당할 수 있다. 또는 클라이언트 디바이스(CD)는 소스 리스트를 사용자 인터페이스를 통하여 표시하고 사용자가 우선 순위를 입력하면 입력된 우선 순위를 기반으로 하여 각각의 큐 요청에 우선 순위를 할당할 수 있다. 한편, 클라이언트 디바이스(CD)는 콘텐트 전송 조건 정보에 따라 큐 요청에 우선 순위를 할당할 수도 있다. 여기서 콘텐트 전송 조건 정보는 대역폭 정보, 프로그래시브 다운로드 지원 여부, 스트리밍 지원 여부, 트랜스코디드 콘텐트 스트리밍의 지원 여부 등일 수 있다. 상기 콘텐트 전송 조건 정보에 따른 우선 순위 정보는 클라이언트 디바이스에서 미리 설정할 수 있다.
각각의 큐 요청은 해당 큐 요청에 대한 우선 순위를 나타내는 큐 요청 우선 순위를 포함할 수 있다. 상기 큐 요청 우선 순위는 특정 범위 내의 정수 값, 예컨대 0에서 100까지의 정수 값일 수 있다. 이때 0은 특별한 의미를 나타내는 값일 수 있는데, 예를 들어 우선 순위가 설정되어 있지 않음을 의미하는 값일 수 있다. 예컨대 큐 요청에 큐 요청 우선 순위 필드가 0 값이라면 그 큐 요청은 우선 순위가 설정되지 않는 큐 요청일 수 있다. 큐 요청의 큐 요청 우선 순위 필드의 값이 100을 초과하는 값이라면 에러로서 무시될 수 있다. 한편 큐 요청의 큐 요청 우선 순위 필드의 값이 1에서 100까지의 수라면 이 값은 다른 큐 요청의 큐 요청 우선 순위의 값과 비교될 수 있다. 이때, 우선 순위의 값이 적을수록 높은 우선 순위를 나타낼 수 있다. 물론, 실시 예에 따라서는 숫자가 높을수록 높은 우선 순위를 나타내도록 정할 수도 있다.
상기 클라이언트 디바이스(CD)는 다수 개의 큐 요청에서 우선 순위가 가장 높은 큐 요청을 우선 수행할 수 있다. 예를 들어, 우선 순위가 가장 높은 큐 요청은 액티브(Active) 상태로 천이하고, 이보다 우선 순위가 낮은 큐 요청은 블락드(Blocked) 상태, 대기(Waiting) 상태, 서스펜디드(Suspended) 상태 중 어느 하나로 천이할 수 있다. 즉 클라이언트 디바이스는 우선 순위가 가장 높은 큐 요청을 먼저 수행하는 것이다.
이하에서는, 클라이언트 디바이스(CD)가 홈 디바이스인 제 1 콘텐트 소스(CS1)에 저장된 콘텐트 대신에 그 콘텐트와 동일한 콘텐트를 서버 도메인의 다운로드 서버인 제 2 콘텐트 소스(CS2) 또는 스트리밍 서버인 제 3 콘텐트 소스(CS3)로부터 수신하는 실시예들을 살펴보기로 한다. 이하의 설명은 실시의 한 예일뿐 클라이언트 디바이스(CD)는 홈 디바이스에 저장된 콘텐트 대신에 그 콘텐트와 동일한 콘텐트를 저장하고 있는 다른 홈 디바이스로부터 콘텐트를 수신하거나, 서버 도메인의 콘텐트 소스에 저장되어 있는 콘텐트 대신에 동일한 콘텐트를 저장하고 있는 홈 디바이스로부터 콘텐트를 수신할 수도 있다.
도 5는 본 발명의 바람직한 실시예에 따른 콘텐트 수신 방법을 나타내는 흐름도이다.
도 5에 도시된 바와 같이, 먼저, 클라이언트 디바이스(CD)의 로컬 어플리케이션(110)은 제 1 콘텐트 소스(CS1) 에 저장된 콘텐트들을 검색하고, 콘텐트 리스트를 표시할 수 있다. 사용자는 특정 입력 수단을 사용하여 표시된 콘텐트 리스트에서 시청을 원하는 콘텐트를 지정할 수 있다. 그러면 클라이언트 디바이스(CD)는 입력 수단으로부터 수신된 신호에 따라 콘텐트를 선택할 수 있다.
콘텐트가 선택되면, 로컬 어플리케이션(110)은 제 1 콘텐트 소스(CS1)로부터 해당 소스 접속 정보를 취득한다. 또한, 로컬 어플리케이션(110)은 선택된 콘텐트와 동일한 콘텐트를 다른 콘텐트 소스, 예컨대 제 2 콘텐트 소스(CS2) 및 제 3 콘텐트 소스(CS3) 등에서 검색하고, 검색된 콘텐트 소스들(CS2, CS3)로부터 다수 개의 소스 접속 정보를 취득할 수 있다. 즉 로컬 어플리케이션(110)은 다수 개의 콘텐트 소스(CS1, CS2, CS3)로부터 다수 개의 소스 접속 정보를 취득한다(단계:S1).
상기 소스 접속 정보는 소스 URI일 수 있다. 앞서도 언급한 바 있듯이, 상기 소스 URI는 어셋(Asset)을 획득(Obtain)하기 위한 정보로서, D 인터페이스를 거쳐(via) 어셋을 리트리브(Retrieve)하는데 사용된다. 예를 들면, 로컬 어플리케이션(110)은 제 1 콘텐트 소스(CS1)의 제 1 소스 URI, 제 2 콘텐트 소스(CS2)의 제 2 소스 URI, 제 3 콘텐트 소스(CS3)의 제 3 소스 URI를 취득할 수 있다. 한편 이는 실시의 한 예일뿐, 클라이언트 디바이스(CD)는 하나의 콘텐트 소스로부터 다수 개의 소스 URI를 취득할 수도 있고, 로컬 네트워크의 다수 개의 디바이스로부터 소스 URI를 취득할 수도 있다. 예를 들어, 클라이언트 디바이스(CD)는 홈 네트워크 내의 DLNA 또는 UPnP 디바이스인 제 1 콘텐트(CS1)로부터 다수 개의 소스 URI, 예컨대 상기 콘텐트를 프로그래시브 다운로드(Progressive) 방식으로 제공하는 소스 URI, 상기 콘텐트를 스트리밍 방식으로 제공하는 소스 URI, 트랜스코디드(Transcoded)된 콘텐트를 제공하기 위한 소스 URI 등을 취득할 수도 있다. 또한, 클라이언트 디바이스(CD)는 다수 개의 DLNA 또는 UPnP 콘텐트 소스로부터 다수 개의 URI를 취득할 수도 있다.이어서, 로컬 어플리케이션(110)은 취득된 다수 개의 소스 URI를 포함하는 큐 요청을 생성하고 생성된 큐 요청을 Q2 인터페이스를 통하여 큐/정책 엔진(120)으로 전송한다(단계:S2). 상기 큐 요청은 다수 개의 URI를 비롯하여, 코덱 타입 미디어 프로파일(Codec Type Media Profile), 컨테이너 타입(Container Type), MIME(Multipurpose Internet Mail Extension) 타입, 스토어 네임(Store Name), 큐 요청의 토털 길이, 콘텐트 정보, 정책 정보 등을 포함할 수 있다. 이때, 상기 다수 개의 소스 URI들은 동일한 어셋을 나타내어(refer to)야 하며, 이 어셋은 큐 요청의 라이프타임(Lifetime) 동안 변경(Modified)되지 않아야 한다.
큐 요청을 수신한 큐/정책 엔진(120)은 큐 요청에 포함된 소스 URI 중 적어도 어느 하나를 선택할 수 있다(단계:S3). 예를 들어, 큐/정책 엔진(120)은 다수 개의 소스 URI들 중 서버 도메인의 콘텐트 다운로드 서버인 제 2 콘텐트 서버(CS2)의 제 2 소스 URI를 선택할 수 있다. 클라이언트 디바이스(CD)는 선택된 제 2 소스 URI를 사용하여 제 2 콘텐트 서버(CS2)로 콘텐트 전송 요청을 전송하고(단계:S4), 제 2 콘텐트 서버(CS2)로부터 콘텐트를 다운로드할 수 있다(단계:S5).
이와 같이, 도 5에 도시된 실시예에 따르면, 클라이언트 디바이스(CD)는 홈 디바이스인 제 1 콘텐트 서버(CS1)에 저장된 콘텐트를 서버 도메인의 제 2 콘텐트 서버(CS2)로부터 다운로드하여 저장할 수 있다. 한편, 클라이언트 디바이스(CD)는 콘텐트 소스(CS1, CS2, CS3)와 클라이언트 디바이스(CD) 간의 대역폭, 사용자 인터페이스로부터의 입력 등을 기반으로 하여 콘텐트를 수신할 소스 접속 정보를 선택할 수도 있다. 이하에서는 이러한 실시예들을 구체적으로 살펴보기로 한다.
도 6은 본 발명의 바람직한 다른 실시예에 따른 콘텐트 수신 방법을 설명하기 위한 흐름도이다.
도 6에 도시된 바와 같이, 먼저, 클라이언트 디바이스(CD)의 로컬 어플리케이션(110)은 제 1 콘텐트 소스(CS1), 즉 로컬 네트워크의 NAS에 저장된 콘텐트들을 검색하고, 콘텐트 리스트를 표시할 수 있다. 사용자는 클라이언트 디바이스(CD)로 신호를 입력할 수 있는 입력 수단을 사용하여 표시된 콘텐트 리스트에서 시청을 원하는 콘텐트를 지정할 수 있다. 그러면 클라이언트 디바이스(CD)는 입력 수단으로부터 수신된 신호에 따라 콘텐트를 선택할 수 있다.
콘텐트가 선택되면, 로컬 어플리케이션(110)은 제 1 콘텐트 소스(CS1)로부터 해당 소스 접속 정보를 취득한다. 또한 로컬 어플리케이션(110)은 선택된 콘텐트와 동일한 콘텐트를 다른 콘텐트 소스, 예컨대 제 2 콘텐트 소스(CS2) 및 제 3 콘텐트 소스(CS3) 등에서 검색하고, 검색된 콘텐트 소스들(CS2, CS3)로부터 다수 개의 소스 접속 정보를 취득할 수 있다. 즉 로컬 어플리케이션(110)은 다수 개의 콘텐트 소스, 예컨대 제 1 콘텐트 소스(CS1), 제 2 콘텐트 소스(CS2) 및 제 3 콘텐트 소스(CS3)로부터 다수 개의 소스 접속 정보, 예컨대 제 1 소스 URI, 제 2 소스 URI, 제 3 소스 URI을 취득한다(단계:S11).
이어서, 클라이언트 디바이스(CD)는 각각의 소스 접속 정보를 사용하여 각 콘텐트로 서버(CS1, CS2, CS3)로 대역폭 테스트를 위한 콘텐트 다운로드를 요청하고(단계:S12, S15, S18), 각 콘텐트 서버(CS1, CS2, CS3)로부터 미리 설정된 시간, 예컨대 수초 동안 콘텐트의 일부를 다운로드할 수 있다(단계:S13, S16, S19). 그리고 로컬 어플리케이션(110)은 상기 시간 동안의 콘텐트 다운로드를 기반으로 하여 각 소스 접속 정보에 대응하는 대역폭을 추정(Estimation)할 수 있다(단계:S14, S17, S20).
예를 들어, 로컬 어플리케이션(110)은 제 1 소스 URI를 사용하여 제 1 콘텐트 소스(CS1)로 다운로드를 요청하고(단계:S12), 미리 설정된 시간 동안 콘텐트의 일부분을 다운로드한 후(단계:S13), 콘텐트의 다운로드 속도를 기반으로 하여 제 1 콘텐트 소스(CS1)와 클라이언트 디바이스(CD) 간의 전송 대역폭, 즉 제 1 소스 URI에 대응하는 대역폭을 추정할 수 있다(단계:S14). 마찬가지로, 상기 로컬 어플리케이션(110)은 제 2 소스 URI를 사용하여 제 2 콘텐트 소스(CS2)로 다운로드를 요청하고(단계:S15), 미리 설정된 시간 동안 콘텐트의 일부분을 다운로드한 후(단계:S16), 콘텐트의 다운로드 속도를 기반으로 하여 제 2 콘텐트 소스(CS2)와 클라이언트 디바이스(CD) 간의 전송 대역폭, 즉 제 2 소스 URI에 대응하는 대역폭을 추정할 수 있다(단계:S17). 또한, 상기 로컬 어플리케이션(110)은 제 3 소스 URI를 사용하여 제 3 콘텐트 소스(CS3)로 다운로드를 요청하고(단계:S18), 미리 설정된 시간 동안 콘텐트의 일부분을 다운로드한 후(단계:S19), 콘텐트의 다운로드 속도를 기반으로 하여 제 3 콘텐트 소스(CS3)와 클라이언트 디바이스(CD) 간의 전송 대역폭, 즉 제 3 소스 URI에 대응하는 대역폭을 추정할 수 있다(단계:S20).
상기 로컬 어플리케이션(110)은 추정된 각각의 대역폭 정보를 대응된 소스 URI에 대응시켜 클라이언트 디바이스(CD)의 메모리에 저장할 수 있다. 저장된 대역폭 정보는 큐/정책 엔진(120)에 의하여 조회될 수 있다. 한편, 상기 대역폭 정보는 큐 요청에 포함될 수도 있다.
다음으로, 상기 로컬 어플리케이션(110)은 취득된 다수 개의 소스 URI를 포함하는 큐 요청을 생성하고 생성된 큐 요청을 Q2 인터페이스를 통하여 큐/정책 엔진으로 전송한다(단계:S21). 상기 큐 요청은 다수 개의 URI를 비롯하여, 코덱 타입 미디어 프로파일(Codec Type Media Profile), 컨테이너 타입(Container Type), MIME(Multipurpose Internet Mail Extension) 타입, 스토어 네임(Store Name), 큐 요청의 토털 길이, 콘텐트 정보, 정책 정보 등을 포함할 수 있다. 상기 큐 요청은 로컬 어플리케이션(110)에 의하여 추정된 각 소스 URI별 대역폭 정보를 포함할 수도 있다. 상기 다수 개의 소스 URI들은 동일한 어셋을 나타내어(refer to)야 하며, 이 어셋은 큐 요청의 라이프타임(Lifetime) 동안 변경(Modified)되지 않아야 한다.
큐 요청을 수신한 큐/정책 엔진(120)은 각각의 소스 URI에 대응되는 대역폭 정보를 기반으로 하여 큐 요청에 포함된 소스 URI 중 적어도 어느 하나를 선택할 수 있다(단계:S22). 예를 들어, 큐/정책 엔진(120)은 다수 개의 소스 URI에 대응되는 대역폭 정보를 비교하여, 예컨대 대역폭이 가장 큰 서버 도메인의 콘텐트 스트리밍 서버인 제 3 콘텐트 소스(CS3)의 제 3 소스 URI을 선택할 수 있다. 상기 큐/정책 엔진(120)은 각각의 소스 URI에 대응되는 대역폭 정보가 큐 요청에 포함되어 있을 경우 큐 요청을 통하여 대역폭 정보를 획득하고, 큐 요청에 포함되어 있지 않을 경우 메모리에서 상기 대역폭 정보를 획득할 수 있다.
소스 URI를 선택한 큐/정책 엔진(120)은 선택된 소스 URI를 사용하여 선택된 콘텐트 소스에 콘텐트 전송 요청을 전송할 수 있다. 예를 들어, 제 3 소스 URI를 선택한 큐/정책 엔진(120)은 제 3 소스 URI를 사용하여 제 3 콘텐트 소스(CS3)로 콘텐트 전송 요청을 전송할 수 있다(단계:S23). 그러면 제 3 콘텐트 소스(CS3)는 요청된 콘텐트를 클라이언트 디바이스(CD)에게 적합하도록 실시간으로 트랜스코딩하고(단계:S24), 트랜스코딩된 콘텐트를 클라이언트 디바이스(CD)로 스트리밍할 수 있다(단계:S25). 상기 콘텐트 전송 요청은 상기 트랜스코딩을 위한 정보들, 예컨대 클라이언트 디바이스(CD)의 디바이스 커패빌리티 등을 포함할 수 있다.
상기와 같이, 도 6을 참조한 실시예에 따르면, 클라이언트 디바이스(CD)는 콘텐트 소스(CS1, CS2, CS3)와 클라이언트 디바이스(CD) 간의 대역폭을 기반으로 하여 콘텐트를 수신할 소스 접속 정보를 선택할 수 있다. 따라서 제 1 콘텐트 소스(CS1)와 클라이언트 디바이스(CD) 간에 통신 상태가 양호하지 못하다면, 클라이언트 디바이스(CD)는 통신 상태가 양호한 제 3 콘텐트 소스(CS3)로부터 콘텐트를 스트리밍 방식으로 신속하게 수신할 수 있다. 따라서 사용자는 클라이언트 디바이스(CD)에 의하여 재생되는 콘텐트를 수신 지연으로 인한 끊김 없이 시청할 수 있다.
한편, 본 발명의 바람직한 또 다른 실시예에 따르면, 클라이언트 디바이스(CD)는 사용자 인터페이스를 통하여 입력되는 선택 신호를 기반으로 콘텐트를 수신할 소스 접속 정보를 선택할 수도 있다. 예를 들어, 클라이언트 디바이스(CD)는 검색된 다수 개의 콘텐트 소스(또는 소스 접속 정보)를 포함하는 소스 리스트를 사용자 인터페이스를 통하여 표시하고, 사용자가 사용자 인터페이스를 통하여 원하는 콘텐트 소스를 선택하면 선택된 콘텐트 소스에 대응하는 소스 접속 정보를 선택할 수도 있다. 이 경우, 클라이언트 디바이스(CD)는 사용자가 원하는 콘텐트 소스로부터 콘텐트를 수신할 수 있다.
또한, 클라이언트 디바이스(CD)는 상기 검색되는 다수 개의 콘텐트 소스 또는 소스 접속 정보를 포함하는 소스 리스트를 사용자 인터페이스를 통하여 표시할 때, 각각의 콘텐트 소스에 대응하는 대역폭 정보를 상기 소스 리스트에 표시하고 사용자로 하여금 대역폭 정보를 참고하여 원하는 콘텐트 소스를 선택하도록 정보를 제공할 수도 있다.
이하에서는, 본 발명의 바람직한 또 다른 실시예로서 콘텐트 소스 및 소스 URI에 대한 검색 여부를 선택적으로 수행하는 케이스를 살펴본다. 도 7은 본 발명의 바람직한 또 다른 실시예에 따른 콘텐트 수신 방법을 설명하기 위한 흐름도이다.
도 7에 도시된 바와 같이, 먼저, 클라이언트 디바이스(CD)의 로컬 어플리케이션(110)은 제 1 콘텐트 소스(CS1), 즉 로컬 네트워크의 NAS에 저장된 콘텐트들을 검색하고, 콘텐트 리스트를 표시할 수 있다. 사용자는 입력 수단을 사용하여 표시된 콘텐트 리스트에서 시청을 원하는 콘텐트를 지정할 수 있다. 그러면 클라이언트 디바이스(CD)는 입력 수단으로부터 수신된 신호에 따라 콘텐트를 선택할 수 있다.
콘텐트가 선택되면, 로컬 어플리케이션(110)은 제 1 콘텐트 소스(CS1)로부터 상기 콘텐트를 제공할 수 있는 제 1 소스 URI를 취득한다. 이어서 클라이언트 디바이스(CD)는, 대역폭 테스트를 위하여, 제 1 소스 URI를 사용하여 제 1 콘텐트 소스로 콘텐트 다운로드를 요청하고(단계:S31), 정해진 시간 동안 콘텐트의 일부분을 다운로드한다(단계:S32).
상기 로컬 어플리케이션(110)은 상기 정해진 시간 동안의 콘텐트 다운로드를 기반으로 하여 제 1 소스 URI에 대응하는 대역폭을 추정하고(단계:S33), 추정된 제 1 소스 URI의 대역폭이 기반으로 상기 콘텐트와 동일한 저장하고 있는 다른 콘텐트 소스를 검색할 것인지의 여부를 판단한다(단계:S34).
예를 들어, 상기 로컬 어플리케이션(110)은 제 1 소스 URI의 대역폭이 설정된 기준 대역폭 이상인지의 여부를 판단하고, 만약 제 1 소스 URI의 대역폭이 기준 대역폭보다 작을 경우 다른 콘텐트 소스를 검색할 것을 결정할 수 있다. 한편 제 1 소스 URI의 대역폭이 설정된 기준 대역폭 이상일 경우, 상기 로컬 어플리케이션(110)은 제 1 소스 URI를 포함하는 큐 요청을 큐/정책 엔진(120)으로 전송하고, 큐/정책 엔진(120)은 제 1 소스 URI를 사용하여 제 1 콘텐트 소스(CS1)로부터 콘텐트를 수신할 수 있다.
다른 콘텐트 소스의 검색하는 것을 결정하면, 로컬 어플리케이션(110)은 로컬 네트워크 및 서버 도메인의 디바이스들을 검색하여 상기 콘텐트와 동일한 콘텐트를 제공할 수 있는 다른 콘텐트 소스, 예컨대 제 2 콘텐트 소스(CS2) 및 제 3 콘텐트 소스(CS3)를 찾을 수 있다. 그리고 찾은 콘텐트 소스들(CS2, CS3)로부터 다수 개의 소스 접속 정보, 예컨대 제 2 소스 URI 및 제 3 소스 URI를 취득할 수 있다(단계:S35).
이어서, 로컬 어플리케이션(110)은 상기 단계 S35를 통하여 취득한 각각의 소스 접속 정보를 사용하여 해당 콘텐트로 서버(CS2, CS3)로 콘텐트 다운로드를 요청하고(단계:S36, S39), 각 콘텐트 서버(CS2, CS3)로부터 미리 설정된 시간, 예컨대 수초 동안 콘텐트의 일부를 다운로드할 수 있다(단계:S37, S40). 그리고 로컬 어플리케이션(110)은 상기 시간 동안의 콘텐트 다운로드를 기반으로 하여 각 소스 접속 정보에 대응하는 대역폭을 추정(Estimation)할 수 있다(단계:S38, S41).
상기 로컬 어플리케이션(110)은 추정된 각각의 대역폭 정보를 대응된 소스 URI에 대응시켜 클라이언트 디바이스(CD)의 메모리에 저장할 수 있다. 저장된 대역폭 정보는 큐/정책 엔진(120)에 의하여 조회될 수 있다. 한편, 상기 대역폭 정보는 큐 요청에 포함될 수도 있다.
다음으로, 상기 로컬 어플리케이션(110)은 취득된 다수 개의 소스 URI를 포함하는 큐 요청을 생성하고 생성된 큐 요청을 Q2 인터페이스를 통하여 큐/정책 엔진(120)으로 전송한다(단계:S42). 상기 큐 요청은 다수 개의 URI를 비롯하여, 코덱 타입 미디어 프로파일(Codec Type Media Profile), 컨테이너 타입(Container Type), MIME(Multipurpose Internet Mail Extension) 타입, 스토어 네임(Store Name), 큐 요청의 토털 길이, 콘텐트 정보, 정책 정보 등을 포함할 수 있다. 상기 큐 요청은 로컬 어플리케이션에 의하여 추정된 각 소스 URI별 대역폭 정보를 포함할 수도 있다. 상기 다수 개의 소스 URI들은 동일한 어셋을 나타내어(refer to)야 하며, 이 어셋은 큐 요청의 라이프타임(Lifetime) 동안 변경(Modified)되지 않아야 한다.
큐 요청을 수신한 큐/정책 엔진(120)은 각각의 소스 URI에 대응되는 대역폭 정보를 기반으로 하여 큐 요청에 포함된 소스 URI 중 적어도 어느 하나를 선택할 수 있다(단계:S43). 예를 들어, 큐/정책 엔진(120)은 다수 개의 소스 URI에 대응되는 대역폭 정보를 비교하여 대역폭이 큰 서버 도메인의 콘텐트 스트리밍 서버인 제 3 콘텐트 소스(CS3)의 제 3 소스 URI을 선택할 수 있다. 상기 큐/정책 엔진(120)은 각각의 소스 URI에 대응되는 대역폭 정보가 큐 요청에 포함되어 있을 경우 큐 요청을 통하여 대역폭 정보를 획득하고, 큐 요청에 포함되어 있지 않을 경우 메모리에서 상기 대역폭 정보를 획득할 수 있다.
소스 URI를 선택한 큐/정책 엔진(120)은 선택된 소스 URI를 사용하여 선택된 콘텐트 서버(CS3)에 콘텐트 전송 요청을 전송할 수 있다. 예를 들어, 제 3 소스 URI를 선택한 큐/정책 엔진은 제 3 소스 URI를 사용하여 콘텐트 전송 요청을 전송할 수 있다(단계:S44). 그러면 제 3 콘텐트 소스(CS3)는 요청된 콘텐트를 클라이언트 디바이스(CD)에게 적합하도록 실시간으로 트랜스코딩하고(단계:S45), 트랜스코딩된 콘텐트를 클라이언트 디바이스(CD)로 스트리밍할 수 있다(단계:S46). 상기 콘텐트 전송 요청은 상기 트랜스코딩을 위한 정보들, 예컨대 클라이언트 디바이스(CD)의 디바이스 커패빌리티 등을 포함할 수 있다.
이상, 다수 개의 소스 URI를 포함하는 큐 요청을 기반으로 하여 콘텐트를 수신할 소스 URI를 선택하는 실시예들을 살펴보았다. 이하에서는, 다수 개의 소스 URI에 대응하는 다수 개의 큐 요청을 각 큐 요청에 할당되는 우선 순위를 기반으로 처리함으로써, 다수 개의 소스 URI 중 콘텐트를 수신할 소스 URI를 선택하는 실시예를 살펴보기로 한다.
도 8은 본 발명의 바람직한 또 다른 실시예에 따른 콘텐트 수신 방법을 설명하기 위한 흐름도이다.
도 8에 도시된 바와 같이, 먼저, 클라이언트 디바이스(CD)의 로컬 어플리케이션(110)은 제 1 콘텐트 소스(CS1), 즉 로컬 네트워크의 NAS에 저장된 콘텐트들을 검색하고, 콘텐트 리스트를 표시할 수 있다. 사용자는 입력 수단을 사용하여 표시된 콘텐트 리스트에서 시청을 원하는 콘텐트를 지정할 수 있다. 그러면 클라이언트 디바이스(CD)는 입력 수단으로부터 수신된 신호에 따라 콘텐트를 선택할 수 있다.
콘텐트가 선택되면, 로컬 어플리케이션(110)은 제 1 콘텐트 소스(CS1)로부터 해당 소스 접속 정보를 취득한다. 또한 로컬 어플리케이션(110)은 선택된 콘텐트와 동일한 콘텐트를 다른 콘텐트 소스, 예컨대 제 2 콘텐트 소스(CS2) 및 제 3 콘텐트 소스(CS3) 등에서 검색하고, 검색된 콘텐트 소스들(CS2, CS3)로부터 다수 개의 소스 접속 정보를 취득할 수 있다. 즉 로컬 어플리케이션(110)은 다수 개의 콘텐트 소스, 예컨대 제 1 콘텐트 소스(CS1), 제 2 콘텐트 소스(CS2) 및 제 3 콘텐트 소스(CS3)로부터 다수 개의 소스 접속 정보, 예컨대 제 1 소스 URI, 제 2 소스 URI, 제 3 소스 URI을 취득한다(단계:S51).
이어서, 클라이언트 디바이스(CD)는 취득된 다수 개의 소스 접속 정보를 포함하는 다수 개의 큐 요청을 생성하고, 각 소스 접속 정보의 대역폭 정보 또는 사용자 인터페이스로부터 입력되는 정보를 기반으로 하여, 각각의 큐 요청에 우선 순위를 할당할 수 있다(단계:S52).
예를 들어, 로컬 어플리케이션(110)은 제 1 소스 URI을 포함하는 제 1 큐 요청, 제 2 소스 URI을 포함하는 제 2 큐 요청, 제 3 소스 URI을 포함하는 제 3 큐 요청을 생성할 수 있다. 로컬 어플리케이션(110)은 도 6의 단계 S12 내지 S20 또는 도 7의 단계 S31 내지 S41을 수행하여, 제 1 소스 URI, 제 2 소스 URI, 제 3 소스 URI에 대응되는 제 1 대역폭, 제 2 대역폭, 제 3 대역폭을 추정할 수 있다. 이때, 제 2 대역폭이 가장 크고, 제 3 대역폭이 두 번째로 크고, 제 1 대역폭이 가장 작다고 가정하면, 로컬 어플리케이션(110)은 상기 대역폭이 큰 순서대로 우선 순위를 설정할 수 있다. 즉 제 2 큐 요청의 우선 순위를 가장 높게 설정하고 제 1 큐 요청의 우선 순위는 가장 낮게 설정한다. 로컬 어플리케이션(110)은 설정된 우선 순위의 정보를 각각의 큐 요청에 삽입한다. 상기 우선 순위의 정보를 큐 요청 우선 순위라 칭할 수 있다.
한편, 로컬 어플리케이션(110)은 취득된 다수 개의 콘텐트 소스 또는 소스 URI를 포함하는 사용자 인터페이스를 표시하고, 사용자 입력에 따라 사용자 인터페이스로부터 각각의 소스 URI에 대응하는 우선 순위가 입력되면 그 우선 순위에 따라 각 큐 요청의 우선 순위를 설정할 수도 있다. 상기 로컬 어플리케이션(110)은 설정된 우선 순위에 따른 큐 요청 우선 순위를 각각의 큐 요청에 삽입할 수 있다.
다음으로, 상기 로컬 어플리케이션(110)은 생성된 다수 개의 큐 요청, 예컨대 제 1 큐 요청, 제 2 큐 요청 및 제 3 큐 요청을 큐/정책 엔진(120)으로 전송할 수 있다(단계:S53, S54, S55). 상기 제 3 큐 요청은 제 3 소스 URI 및 제 3 큐 요청 우선 순위를 포함할 수 있다. 상기 제 2 큐 요청은 제 2 소스 URI 및 제 2 큐 요청 우선 순위를 포함할 수 있다. 상기 제 1 큐 요청은 제 1 소스 URI 및 제 1 큐 요청 우선 순위를 포함할 수 있다. 각각의 큐 요청은 코덱 타입 미디어 프로파일(Codec Type Media Profile), 컨테이너 타입(Container Type), MIME(Multipurpose Internet Mail Extension) 타입, 스토어 네임(Store Name), 큐 요청의 토털 길이, 콘텐트 정보, 정책 정보 등을 포함할 수 있다.
상기 다수 개의 큐 요청을 수신한 큐/정책 엔진(120)은 우선 순위를 기반으로 큐 요청을 처리한다(단계:S56). 상기 큐/정책 엔진(120)은 다수 개의 큐 요청 중에서 우선 순위가 가장 높은 큐 요청을 우선적으로 처리할 수 있다. 예를 들어, 우선 순위가 가장 높은 제 2 큐 요청은 액티브(Active) 상태로 천이하고, 이보다 우선 순위가 낮은 큐 요청은 블락드(Blocked) 상태, 대기(Waiting) 상태, 서스펜디드(Suspended) 상태 중 어느 하나로 천이할 수 있다. 즉 큐/정책 엔진은 우선 순위가 가장 높은 큐 요청을 우선적으로 처리한다. 나머지 큐 요청은 우선 순위가 가장 높은 큐 요청이 성공적으로 완료되거나 설정된 시간이 만료되는 등의 특정 조건에 따라 폐기될 수 있다. 그러나 우선 순위가 높은 큐 요청이 성공적으로 완료되지 못하면 그보다 우선 순위가 낮은 큐 요청이 액티브 상태로 천이하여, 수행될 수도 있다.
예를 들면, 큐/정책 엔진(120)은 우선 순위가 가장 높은 큐 요청, 예컨대 제 2 큐 요청에 따라 제 2 소스 URI를 사용하여 제 2 콘텐트 소스(CS2)에 콘텐트 전송 요청을 전송하고(단계:S57), 제 2 콘텐트 소스(CS2)로부터 콘텐트를 수신할 수 있다(단계:S58). 제 2 큐 요청에 대한 처리가 완료되면 제 3 큐 요청 또는 제 1 큐 요청은 수행되지 않아도 되므로 폐기될 수 있다. 만약 제 2 큐 요청에 대한 처리가 정상적으로 이루어지지 못하면 그 다음 우선 순위의 제 3 큐 요청에 따른 콘텐트 전송 요청이 수행될 수 있다.
도 9는 큐 요청의 라이프 사이클 및 상태 변화를 설명하기 위한 다이어그램을 도시하고 있다.
도 9에 도시된 바와 같이, 요청이 큐드(Queued)(ST1) 상태로 천이하기 위하여, 첫째로 요청이 유효하고 에러로부터 자유롭다면, 그 요청에는 큐 요청 ID가 할당된다. 유효하지 않은 요청은 큐에 위치할 수 없으며 큐 요청 ID가 할당되지 않는다. 큐 요청은 어떻게 및 언제 큐 요청이 처리되어야 하는지를 강제(Constrain)하는 기준 또는 룰을 설정하는 정책을 가질 수 있다. 무 정책(no policy)이 특정되었으면, 다운로드 및 캐시를 위한 행위는 마치 정책이 참의 상수로 세팅된 된 것 같게 된다.
요청의 정책 그리고 클라이언트 디바이스(CD)의 현재 운영 조건(Current Operating Condition)에 의존하여, 새롭게 제출된 큐드 요청은 블락드(Blocked)(ST2), 대기(Waiting)(ST3) 또는 액티브(Active)(ST4) 상태로 천이할 수 있다. 예를 들어, 만약 현재 클라이언트 디바이스(CD)의 운영 조건이 요청의 정책에 의하여 정의되는 기준을 만족하지 못하는 경우 큐 요청은 블락드(ST2) 상태로 천이된다. 만약 클라이언트 디바이스(CD)의 현재 운영 조건이 요청의 기준을 만족하나 다른 더 높은 우선 순위의 요청이 처리되는 경우 그 큐 요청은 대기(ST3) 상태로 천이한다. 즉 다른 더 높은 우선 순위의 요청이 대기 요청의 앞에 처리될 수 있다. 만약 클라이언트 디바이스(CD)의 현재 운영 조건이 요청의 정책을 만족하는 경우 큐 요청은 액티브(ST4) 상태로 천이되어야 하고, 그 요청은 다운로드를 위한 가장 높은 우선 순위의 요청이다.
만약, 더 높은 우선 순위의 요청을 처리하는 것이 요구되면, 액티브(ST4) 상태의 요청은 대기(ST3) 상태로 천이된다. 만약 클라이언트 디바이스(CD)의 현재 운영 조건에 의하여 요청의 정책이 정의하는 강요가 더 이상 만족하지 않거나, 또는 요청의 수행에 어플리케이션 인터액션(예컨대 상태 코드가 요구되는 HTTP 402 페이먼트)이 요구되는 에러가 유발되면 액티브(ST4) 상태의 요청은 블락드(ST2) 상태로 천이될 수 있다.
만약 하나의 요청이 수행을 위한 필수적인 시간에 할당되고, 그리고 정책이나 요청의 수행을 차단하는 클라이언트 디바이스 환경에 강요가 없으면 그때 액티브(ST4) 상태로 천이할 수 있다. 만약 다수 요청이 수행을 위한 필수적인 시간에 할당되고, 그리고 클라이언트 디바이스(CD)가 할당된 시간을 가지지 않는 요청을 일시 중단하는 클라이언트 사이드 제한에 기인하여 그들 모두를 서브할 수 없으면, 가장 우선 순위가 높은 요청은 액티브(ST4) 상태로 천이하게 된다. 특정한 시간에 할당된 더 높은 우선 순위 시간-크리티컬(higher priority time-critical) 요청을 무효로 하는 하는 것에 기인하여, 서브되지 않는 요청은 블락드(ST2) 상태로 천이할 수 있다. 수행을 위하여 필수적인 시간을 갖는 요청의 수행에 기인하여 일시 정지된 요청은 대기(Waiting) 상태로 천이할 수 있다.
이하, 이러한 큐 요청의 생성 과정을 설명한다. 먼저 로컬 어플리케이션(110)은 사용자의 요청 등에 응답하여 디퍼드(deferred) 전송 요청-큐 요청 객체를 생성한다. 로컬 어플리케이션(110)은 서버 또는 큐 요청 구조를 생성하는 다른 개체로부터 XML 큐 요청 구조를 리트리빙함에 의하여 큐 요청 객체를 생성할 수 있다. 큐 요청 XML 구조는 네트워크 정책 클라이언트(140)로부터 특정한 네트워크 룰을 특정하는 룰 오브젝트를 포함할 수 있으며, 룰 콘텐트 정책 서버에 위치하는 정책을 위한 URI 레퍼런스를 포함할 수 있다.
로컬 어플리케이션(110)은 Q2 인터페이스를 통하여 요청 매니저-제출 요청을 호출함에 의하여 큐 요청을 제출할 수 있다. 큐/정책 매니저(120)는 큐 요청을 리트리브하고, 이를 검증할 수 있다. 상기 검증은 가능한 정책 준수를 위한 체킹, 지지되는 D 인터페이스 스킴을 위한 체킹 및 큐 요청의 프로퍼티 검증 등을 수반할 수 있다. 만약 큐 요청이 검증되면, 큐/정책 엔진(120)은 큐 요청 상태를 서브미티드로 설정하고, 큐 요청 요청 ID를 할당하고, 그때 로컬 어플리케이션(110)의 호출을 리턴할 수 있다. 만약 큐 요청이 제출되지 못하면, 에러 코드가 리턴될 수 있다.
한편, 본 발명의 바람직한 또 다른 실시예에 따르면, 클라이언트 디바이스(CD)는 콘텐트 전송 조건 정보에 따라 우선 순위를 설정하고, 설정된 우선 순위에 따라 큐 요청을 처리함으로써 콘텐트를 수신하기 위한 소스 접속 정보를 선택할 수 있다. 여기서 콘텐트 전송 조건 정보는 대역폭 정보, 프로그래시브 다운로드 지원 여부, 스트리밍 지원 여부, 트랜스코디드 콘텐트 스트리밍의 지원 여부 등일 수 있다. 상기 콘텐트 전송 조건 정보에 따른 우선 순위 정보는 클라이언트 디바이스에서 미리 설정할 수 있다.
예를 들면, 콘텐트 리스트에서 특정 콘텐트가 선택되면, 콘텐트 소스 검색을 통하여 로컬 어플리케이션은 선택된 콘텐트를 저장하고 있는 제 1 콘텐트 소스, 제 2 콘텐트 소스 및 제 3 콘텐트 소스를 찾아내고, 다수 개의 소스 URI를 취득할 수 있다. 예컨대, 클라이언트 디바이스는 제 1 콘텐트 소스로부터 제 1 소스 URI, 제 4 소스 URI 및 제 5 소스 URI를, 제 2 콘텐트 소스로부터 제 2 소스 URI를, 제 3 콘텐트 소스로부터 제 3 소스 URI를 취득하였다고 가정한다.
로컬 어플라케이션은 각각의 콘텐트 소스 즉, 제 1 콘텐트 소스, 제 2 콘텐트 소스 및 제 3 콘텐트 소스로부터 각각의 소스 URI에 대응하는 콘텐트 전송 조건 정보, 예컨대 전송 대역폭 정보, 프로그래시브 다운로드 지원 여부, 스트리밍 지원 여부, 트랜스코디드 콘텐트 스트리밍의 지원 여부 등을 취득할 수 있다. 한편 클라이언트 디바이스에는 콘텐트 전송 조건 정보에 따른 우선 순위가 테이블 형태로 미리 저장되어 있다. 예를 들어, 상기 테이블은 "대역폭" > "프로그래시브 다운로드 지원"> "스트리밍 지원", "트랜스코디드 스티리밍 지원"과 같이 설정되어 있다고 가정한다.
상기 로컬 어플리케이션은 상기 취득된 각각의 소스 URI에 대응되는 콘텐트 전송 조건 정보에 따라 각각의 소스 URI에 대응되는 큐 요청에 대한 우선 순위를 설정할 수 있다. 예를 들어, 제 1 소스 URI가 대역폭이 가장 크고, 제 4 소스 URI는 프로그래시브 다운로드가 지원되고, 제 5 소스 URI는 스트리밍이 지원되고, 제 3 소스 URI는 트랜스코디드 스트리밍이 지원된다면, 로컬 어플리케이션은 제 1 소스 URI가 포함된 제 1 큐 요청에 가장 높은 우선 순위를, 제 4 URI가 포함된 제 4 큐 요청에 2 번째 높은 우선 순위를, 제 5 소스 URI가 포함된 제 5 큐 요청은 3번째 높은 우선 순위를, 제 3 소스 URI가 포함된 제 3 큐 요청은 가장 낮은 우선 순위로 할당할 수 있다.
한편, 로컬 어플리케이션은 취득된 다수 개의 콘텐트 소스 및 소스 URI를 포함하는 사용자 인터페이스를 표시하고, 상기 콘텐트 전송 조건 정보를 사용자 인터페이스에 표시할 수 있다. 이 경우, 사용자의 선택에 따라, 사용자 인터페이스를 통하여 입력되는 우선 순위 정보를 기반으로 우선 순위를 할당할 수도 있다.
로컬 어플리케이션은 생성된 다수 개의 큐 요청들을 큐/정책 엔진으로 전송할 수 있다. 그러면, 큐/정책 엔진은 우선 순위에 따라 큐 요청들을 처리할 수 있다. 따라서, 클라이언트 디바이스는 우선 순위가 가장 높은 제 1 소스 URI를 사용하여 콘텐트를 다운로드할 수 있으며, 만약 다운로드에 문제가 있을 경우 2번째 우선 순위의 제 4 소스 URI를 사용하여 콘텐트를 수신할 수 있게 된다.
한편, 앞서 설명한 실시예들, 예컨대 도 5 내지 도 8을 참조하여 설명한 실시예들에서 클라이언트 디바이스에서 콘텐트 소스를 선택할 때 각 콘텐트 소스와 관련된 커패빌리티 정보들, 예컨대 콘텐트 소스의 대상 콘텐트의 콘텐트 사이즈 정보, 콘텐트의 포맷 정보, 스트리밍 프로토콜 정보, 전송 방식, 콘텐트 소스와의 인터페이스에 대한 대역폭 정보 등을 수신하고 수신된 커패빌리티 정보를 기반으로 콘텐트 소스를 선택할 수도 있다. 클라이언트 디바이스는 콘텐트 소스로 특정한 커패빌리티 정보들을 요구하거나, 또는 콘텐트 소스로부터의 요청에 따라 클라이언트 디바이스의 커패빌리티 정보를 전송할 수도 있다. 이하에서는 콘텐트 소스와 클라이언트 디바이스 간에 전송되는 디바이스 커패빌리티 아이템을 설명하기로 한다.
도 10은 디바이스 커패빌리티 아이템을 설명하기 위한 도표를 나타내고 있다.
도 10에 도시된 바와 같이, 디바이스의 커패빌리티 카테고리는 디바이스 디스크립션(Device Description), 미디어 플레이(Media Play), 스토리지(Storage), 네트워크 인터페이스(Network Interface)로 분류될 수 있다.
상기 디바이스 디스크립션은 디바이스 식별자(Device ID), 디바이스 네임(Device Name), 디바이스 프렌들리 네임(Device Friendly Name), 사용자 식별자(User ID)를 포함할 수 있다. 상기 디바이스 식별자는 글로벌리(Globally) 유니크하게 디바이스를 식별하기 위한 식별자를 의미할 수 있다. 상기 디바이스 식별자의 값은 예컨대 URI 정보일 수 있다. 상기 디바이스 네임(Device Name)은 디바이스를 위한 유니버셜리(Universally)-유니크 식별자를 의미할 수 있다. 상기 디바이스 네임의 값은 예컨대 스트링 형태의 정보일 수 있다. 디바이스 프렌들리 네임은 엔드 유저(end user)를 위한 쇼트 디스크립션(Short Description)으로서, 그 값은 스트링 타입의 정보일 수 있다. 사용자 식별자는 엔드 유저를 식별하는 식별자로서, 사용자 식별자의 값은 스트링 타입의 정보일 수 있다.
상기 미디어 플레이는 콘텐트 타입(Content Type), 서포팅 미디어 컨테이너 프로파일(포맷)(Supporting Media Container Profile(Formats)), 서포팅 코덱 타입(Supporting Codec Type), 맥시멈 파일 사이즈(Maximum File Size) 등을 포함할 수 있다. 상기 콘텐트 타입은 예컨대 콘텐트의 MIME 타입일 수 있다. 상기 서포팅 미디어 컨테이너 프로파일은 지원 가능한 미디어 프로파일 타입을 나타낼 수 있다. 예컨대 서포팅 미디어 프로파일의 값은 스트링 형태의 정보로서 예컨대 고화질(HD : High Definition)을 의미하는'HD', 일반 화질(SD : Standard Definition)을 의미하는 'SD', 포터블 화질(PD : Portable Definition)을 의미하는 'PD'등으로 설정될 수 있다. 상기 서포팅 코덱 타입은 지원되는 코덱 타입들의 리스트로서, 그 값은 스트링 타입의 정보일 수 있다. 상기 맥시멈 파일 사이즈는 콘텐트의 맥시멈 사이즈를 나타내는 정보일 수 있다.
상기 스토리지는 스토리지 커패시티(Storage Capacity) 및 유시지(Usage)를 포함할 수 있다. 상기 스토리지 커패시티는 스토리지의 이용할 수 있는 총량(Available Amount)를 나타낼 수 있다. 상기 스토리지 커패시티는 디바이스의 스토리지 용량을 나타낼 수 있다. 상기 유시지는 현재 이용 가능한 스토리지의 총량(amount)를 나타낼 수 있다. 상기 스토리지 유시지의 값은 퍼센티지 값일 수 있다. 예를 들어, 상기 스토리지 유시지의 값이 '0'이면 스토리지가 완전히 비어있음(Completely Unoccupied)을 의미하고, '100'이면 스토리지가 완전히 사용중임(Fully Occupied)을 의미할 수 있다.
상기 네트워크 인터페이스는 엔트리의 네트워크 인터페이스 넘버(Network Interface Number of Entries), 네트워크 액세스 타입(Network Access Type), 서포팅 미디어 트랜스포트 프로토콜(Supporting Media Transport Protocol), 대역폭 제한(Bandwidth Limit) 등을 포함할 수 있다. 엔트리의 네트워크 인터페이스 넘버는 네트워크 인터페이스 개수를 나타낼 수 있다. 상기 네트워크 액세스 타입은 이용 가능한 네트워크 액세스 인터페이스 타입을 나타낼 수 있다. 상기 네트워크 액세스 타입의 값은 스트링 형태의 정보일 수 있다. 상기 네트워크 액세스 타입의 값은, 예컨대 'Ethernet', '801.11', 'Bluetooth', '3G' 'WiMAX' 등일 수 있다. 상기 서포팅 미디어 트랜스포트는 D3, D4, D1 인터페이스들을 위하여 지원되는 트랜스포트 프로토콜 타입을 나타낼 수 있다. 상기 미디어 트랜스포트의 값은 예컨대, 'HTTP', 'RTP' 등일 수 있다. 상기 대역폭 제한은 네트워크 인터페이스의 이용 가능한 대역폭을 나타낼 수 있다.
도 11은 콘텐트 소스에서 관리 및 제공되는 콘텐트 정보를 예시적으로 나타내는 도표이다.
도 11에 도시된 바와 같이, 콘텐트 소스에 의하여 관리 및 제공되는 콘텐트 정보는 크게 두 개의 카테고리, 예컨대 콘텐트 디스크립션(Content Description) 및 트랜스코딩(Transcoding)으로 구분될 수 있다.
상기 콘텐트 디스크립션은 콘텐트와 연계되는 콘텐트 메타데이터일 수 있다. 상기 콘텐트 디스크립션은 콘텐트를 식별하기 위한 콘텐트 식별자(Content ID), 콘텐트를 수신할 수 있는 소스의 위치 및 식별 정보를 나타내는 콘텐트 소스 URI(Content Source URI), 콘텐트의 MIME 타입을 나타내는 콘텐트 타입(Content Type), 다운로드 방식의 지원 여부를 나타내는 다운로드 서포트(Download Support), 스트리밍 방식의 지원 여부를 나타내는 스트리밍 서포트(Streaming Support), 콘텐트의 사이즈를 나타내는 콘텐트 사이즈(Content Size), 지원 가능한 미디어 프로파일 정보를 나타내는 서포팅 미디어 프로파일(Supporting Media Profile), 지원되는 코덱 타입을 나타내는 서포티드 코덱 타입(Supported Codec Type) 등을 포함할 수 있다.
상기 트랜스코딩은 트랜스코딩의 지원 여부를 나타내는 트랜스코딩 서포트(Transcoding Support), 서포티드 트랜스코딩 타입(Supported Transcoding Type), 트랜스코딩된 콘텐트의 사이즈를 나타내는 트랜스코디드 콘텐트 사이즈(Transcoded Content Size), 트랜스코딩에 의한 지연 시간을 나타내는 트랜스코딩 딜레이(Transcoding Delay) 등을 포함할 수 있다.
도 12는 클라이언트 디바이스에 저장 및 관리되는 콘텐트 선택 정보를 나타내는 도표이다.
도 12에 도시된 바와 같이, 클라이언트 디바이스에 저장 및 관리되는 콘텐트 선택 정보는 3 개의 카테고리, 예컨대 셀렉티드 콘텐트 디스크립션(Selected Content Description), 셀렉티드 트랜스코딩 정보(Selected Transcoding Information) 및 셀렉티드 네트워크 인터페이스(Selected Network Interface)로 분류될 수 있다.
상기 셀렉티드 콘텐트 디스크립션은 선택된 콘텐트와 연계되는 콘텐트 메타데이터일 수 있다. 상기 셀렉티드 콘텐트 디스크립션은 선택된 콘텐트를 식별하기 위한 콘텐트 식별자(Content ID), 선택된 콘텐트를 수신할 수 있는 소스의 위치 및 식별 정보를 나타내는 콘텐트 소스 URI(Content Source URI), 선택된 콘텐트의 MIME 타입을 나타내는 콘텐트 타입(Content Type), 다운로드 및 스트리밍을 선택하는 다운로드/스트리밍(Download/Streaming), 타겟 콘텐트의 사이즈를 나타내는 타겟 콘텐트 사이즈(Target Content Size), 선택된 콘텐트의 미디어 프로파일 정보를 나타내는 셀렉티드 미디어 프로파일(Selected Media Profile), 지원되는 코덱 타입을 나타내는 서포티드 코덱 타입(Supported Codec Type) 등을 포함할 수 있다. 상기 타겟 콘텐트 사이즈는 다운로드/스트리밍이 스트리밍으로 설정되는 경우 제로 값일 수 있다.
상기 셀렉티드 트랜스코딩 정보는 콘텐트의 트랜스코드 여부를 나타내는 트랜스코디드 콘텐트(Transcoded Content)를 포함할 수 있다. 만약 콘텐트가 트랜스코딩될 것을 필요로 한다면 상기 트랜스코디드 콘텐트의 값은 참(True)로 설정될 수 있다.
상기 셀렉티드 네트워크 인터페이스는 선택된 네트워크 인터페이스의 개수를 나타내는 셀렉티드 네트워크 인터페이스 넘버(Selected Network Interface Number), 네트워크 액세스 타입(Network Access Type), 셀렉티드 미디어 트랜스포트 프로토콜(Selected Media Transport Protocol), 어베일어블 대역폭 제한(Available Bandwidth Limit) 등을 포함할 수 있다.
이상 본 발명에 대하여 그 바람직한 실시예를 예시하여 설명하였지만 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구 범위에 기재된 본 발명의 기술적 사항 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시켜 실시할 수 있음을 이해할 수 있을 것이다. 따라서, 본 발명의 앞으로의 실시예들의 변경은 본 발명의 기술을 벗어날 수 없을 것이다.

Claims (17)

  1. 클라이언트 디바이스에 의하여 수행되며,
    선택된 콘텐트를 저장하는 다수 개의 소스를 검색하여 다수 개의 소스 접속 정보를 취득하는 단계;
    상기 다수 개의 소스 접속 정보를 포함하는 적어도 하나의 큐 요청을 생성하는 단계;
    상기 적어도 하나의 큐 요청을 기반으로 하여, 상기 다수 개의 소스 접속 정보 중 어느 하나의 소스 접속 정보를 선택하는 단계; 및
    상기 선택된 소스 접속 정보를 사용하여 상기 선택된 콘텐트를 수신하는 단계를 포함하는 것을 특징으로 하는 콘텐트 수신 방법.
  2. 제 1 항에 있어서, 상기 적어도 하나의 큐 요청은,
    제 1 소스 접속 정보 및 제 2 소스 접속 정보를 포함하는 제 1 큐 요청을 포함하는 것을 특징으로 하는 콘텐트 수신 방법.
  3. 제 2 항에 있어서, 상기 다수 개의 소스 접속 정보 중 어느 하나의 소스 접속 정보를 선택하는 단계는,
    각각의 소스 접속 정보에 대응하는 전송 대역폭 정보 및 사용자 인터페이스로부터 입력되는 선택 신호 중 어느 하나를 기반으로 하여, 상기 제 1 소스 접속 정보 및 상기 제 2 소스 접속 정보 중 어느 하나를 선택하는 단계를 포함하는 것을 특징으로 하는 콘텐트 수신 방법.
  4. 제 2 항에 있어서, 상기 제 1 소스 접속 정보 및 제 2 소스 접속 정보를 사용하여 제 1 소스 및 제 2 소스로 상기 콘텐트를 전송할 것을 요청하는 콘텐트 다운로드 요청을 전송하는 단계;
    상기 제 1 소스 및 제 2 소스로부터 미리 설정된 시간 동안 각각 상기 콘텐트를 다운로드 하는 단계; 및
    상기 설정된 시간 동안의 콘텐트 다운로드를 분석하여, 상기 제 1 소스 접속 정보 및 상기 제 2 소스 접속 정보에 각각 대응하는 전송 대역폭을 추정(estimation)하는 단계를 더 포함하는 것을 특징으로 하는 콘텐트 수신 방법.
  5. 제 4 항에 있어서, 상기 다수 개의 소스 접속 정보 중 어느 하나의 소스 접속 정보를 선택하는 단계는,
    상기 제 1 소스 접속 정보에 대응하는 전송 대역폭 정보 및 상기 제 2 소스 접속 정보에 대응하는 전송 대역폭 정보를 기반으로 하여, 전송 대역폭이 더 큰 소스 접속 정보를 선택하는 단계를 포함하는 것을 특징으로 하는 콘텐트 수신 방법.
  6. 제 1 항에 있어서, 상기 적어도 하나의 큐 요청은,
    제 1 소스 접속 정보 및 제 1 큐 요청 우선 순위를 포함하는 제 1 큐 요청; 및
    제 2 소스 접속 정보 및 제 2 큐 요청 우선 순위를 포함하는 제 2 큐 요청을 포함하는 것을 특징으로 하는 콘텐트 수신 방법.
  7. 제 6 항에 있어서, 각각의 소스 접속 정보에 대응하는 전송 대역폭 정보 및 사용자 인터페이스로부터 입력되는 우선 순위 정보 중 어느 하나를 기반으로 하여, 상기 제 1 큐 요청 우선 순위 및 상기 제 2 큐 요청 우선 순위를 설정하는 단계를 더 포함하는 것을 특징으로 하는 콘텐트 수신 방법.
  8. 제 6 항에 있어서, 상기 제 1 소스 접속 정보 및 상기 제 2 소스 접속 정보를 사용하여 제 1 소스 및 제 2 소스로 각각 상기 콘텐트를 전송할 것을 요청하는 콘텐트 다운로드 요청을 전송하는 단계;
    상기 제 1 소스 및 상기 제 2 소스로부터 미리 설정된 시간 동안 각각 상기 콘텐트를 다운로드 하는 단계;
    상기 설정된 시간 동안의 콘텐트 다운로드를 분석하여, 상기 제 1 소스 접속 정보 및 및 상기 제 2 소스 접속 정보에 각각 대응하는 전송 대역폭을 추정(estimation)하는 단계; 및
    상기 제 1 소스 접속 정보에 대응하는 전송 대역폭 및 상기 제 2 소스 접속 정보에 대응하는 전송 대역폭에 따라 상기 제 1 큐 요청 우선 순위 및 상기 제 2 큐 요청 우선 순위를 설정하는 단계를 더 포함하는 것을 특징으로 하는 콘텐트 수신 방법.
  9. 제 6 항에 있어서, 상기 다수 개의 소스 접속 정보 중 어느 하나의 소스 접속 정보를 선택하는 단계는,
    상기 제 1 큐 요청 및 상기 제 2 큐 요청 중 우선 순위가 높은 큐 요청을 액티브 상태로 천이하는 단계; 및
    상기 제 1 큐 요청 및 상기 제 2 큐 요청 중 우선 순위가 낮은 큐 요청은 블락드 상태, 대기 상태 및 서스펜디드 상태 중 어느 하나의 상태로 천이하는 단계를 포함하는 것을 특징으로 하는 콘텐트 수신 방법.
  10. 제 9 항에 있어서, 상기 선택된 콘텐트를 다운로드 하기 위하여, 상기 액티브 상태로 천이한 큐 요청에 포함된 소스 접속 정보를 사용하는 단계를 더 포함하는 것을 특징으로 하는 콘텐트 수신 방법.
  11. 제 1 항에 있어서, 상기 다수 개의 소스 접속 정보는 사용자 도메인의 디바이스에 저장된 콘텐트로 접속하기 위한 범용 리소스 식별자(URI : Universal Resource Identifier) 및 서버 도메인의 디바이스에 저장된 콘텐트로 접속하기 위한 범용 리소스 식별자 중 적어도 어느 하나를 포함하는 것을 특징으로 하는 콘텐트 수신 방법.
  12. 선택된 콘텐트를 저장하는 다수 개의 소스를 검색하여 다수 개의 소스 접속 정보를 취득하고, 상기 다수 개의 소스 접속 정보를 포함하는 적어도 하나의 큐 요청을 생성하는 어플리케이션; 및
    상기 적어도 하나의 큐 요청을 기반으로 하여, 상기 다수 개의 소스 접속 정보 중 어느 하나의 소스 접속 정보를 선택하고, 상기 선택된 소스 접속 정보를 사용하여 상기 선택된 콘텐트를 수신하는 큐 및 정책 엔진을 포함하는 것을 특징으로 하는 콘텐트 수신 장치.
  13. 제 12 항에 있어서, 상기 적어도 하나의 큐 요청은,
    제 1 소스 접속 정보 및 제 2 소스 접속 정보를 포함하는 제 1 큐 요청을 포함하는 것을 특징으로 하는 콘텐트 수신 장치.
  14. 제 13 항에 있어서, 상기 큐 및 정책 엔진은,
    각각의 상기 소스 접속 정보에 대응하는 전송 대역폭 정보 및 사용자 인터페이스로부터 입력되는 선택 신호 중 어느 하나를 기반으로 하여, 상기 제 1 소스 접속 정보 및 상기 제 2 소스 접속 정보 중 어느 하나를 선택하는 것을 특징으로 하는 콘텐트 수신 장치.
  15. 제 12 항에 있어서, 상기 적어도 하나의 큐 요청은,
    제 1 소스 접속 정보 및 제 1 큐 요청 우선 순위를 포함하는 제 1 큐 요청; 및
    제 2 소스 접속 정보 및 제 2 큐 요청 우선 순위를 포함하는 제 2 큐 요청을 포함하는 것을 특징으로 하는 콘텐트 수신 장치.
  16. 제 15 항에 있어서, 상기 어플리케이션은,
    각각의 소스 접속 정보에 대응하는 전송 대역폭 정보 및 사용자 인터페이스로부터 입력되는 우선 순위 정보 중 어느 하나를 기반으로 하여, 상기 제 1 큐 요청 우선 순위 및 상기 제 2 큐 요청 우선 순위를 설정하는 것을 특징으로 하는 콘텐트 수신 장치.
  17. 제 15 항에 있어서, 상기 큐 및 정책 엔진은,
    상기 제 1 큐 요청 및 상기 제 2 큐 요청 중 우선 순위가 높은 큐 요청을 액티브 상태로 천이하고, 상기 제 1 큐 요청 및 상기 제 2 큐 요청 중 우선 순위가 낮은 큐 요청은 블락드 상태, 대기 상태 및 서스펜디드 상태 중 어느 하나의 상태로 천이하는 것을 특징으로 하는 콘텐트 수신 장치.
PCT/KR2012/004649 2011-08-18 2012-06-13 콘텐트 수신 방법 및 장치 WO2013024966A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/239,089 US20140215071A1 (en) 2011-08-18 2012-06-13 Method and device for receiving content

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201161524775P 2011-08-18 2011-08-18
US61/524,775 2011-08-18

Publications (1)

Publication Number Publication Date
WO2013024966A1 true WO2013024966A1 (ko) 2013-02-21

Family

ID=47715264

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2012/004649 WO2013024966A1 (ko) 2011-08-18 2012-06-13 콘텐트 수신 방법 및 장치

Country Status (2)

Country Link
US (1) US20140215071A1 (ko)
WO (1) WO2013024966A1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9408050B2 (en) * 2013-01-31 2016-08-02 Hewlett Packard Enterprise Development Lp Reducing bandwidth usage of a mobile client
US9240966B2 (en) * 2013-06-19 2016-01-19 Twilio, Inc. System and method for transmitting and receiving media messages
US20150120326A1 (en) * 2013-10-31 2015-04-30 Lexmark International Technology, S.A. System and Methods for Controlling User Access to Content from One or More Content Source
US9935999B1 (en) 2015-09-28 2018-04-03 Snap Inc. File download manager
US10178171B2 (en) * 2016-04-21 2019-01-08 Samsung Electronics Company, Ltd. Content management system for distribution of content
WO2020084905A1 (ja) * 2018-10-26 2020-04-30 ソニー株式会社 情報処理装置及び情報処理方法
US11201946B1 (en) 2018-12-31 2021-12-14 Facebook, Inc. Systems and methods for digital media delivery prioritization
US20240049309A1 (en) * 2022-08-04 2024-02-08 Bayerische Motoren Werke Aktiengesellschaft Appratus, method, and computer-redable medium for managing a queue of media resources received from mobile devices

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004502356A (ja) * 2000-06-27 2004-01-22 バンブー・メディアキャスティング・インコーポレイテッド 帯域幅スケーラを含むマルチキャスト伝送システム
KR20040025994A (ko) * 2002-09-17 2004-03-27 삼성전자주식회사 멀티미디어 스트리밍 장치 및 방법
KR20040028760A (ko) * 2001-05-16 2004-04-03 야후! 인크. 다수개의 정보 소스의 흐름 제어
KR20100059686A (ko) * 2008-11-26 2010-06-04 톰슨 라이센싱 콘텐트를 수신하기 위한 방법 및 장치

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4274710B2 (ja) * 2001-06-28 2009-06-10 株式会社日立製作所 通信中継装置
US7421411B2 (en) * 2001-07-06 2008-09-02 Nokia Corporation Digital rights management in a mobile communications environment
US7640347B1 (en) * 2002-05-02 2009-12-29 F5 Networks, Inc. Method and system for inserting POST data into the GET request to apply normal caching rules
US7546475B2 (en) * 2003-05-13 2009-06-09 Hewlett-Packard Development Company, L.P. Power-aware adaptation in a data center
US7400251B2 (en) * 2005-05-23 2008-07-15 International Business Machines Corporation Methods for managing electronic asset tags for asset devices
JP5073308B2 (ja) * 2007-02-08 2012-11-14 株式会社エヌ・ティ・ティ・ドコモ コンテンツ取引管理サーバ装置、コンテンツ提供サーバ装置、端末装置及びそのプログラム
US8543592B2 (en) * 2008-05-30 2013-09-24 Microsoft Corporation Related URLs for task-oriented query results
US8805963B2 (en) * 2010-04-01 2014-08-12 Apple Inc. Real-time or near real-time streaming
EP2407897A1 (en) * 2010-07-12 2012-01-18 Accenture Global Services Limited Device for determining internet activity
US9026644B2 (en) * 2011-03-10 2015-05-05 Verizon Patent And Licensing Inc. Anomaly detection and identification using traffic steering and real-time analytics

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004502356A (ja) * 2000-06-27 2004-01-22 バンブー・メディアキャスティング・インコーポレイテッド 帯域幅スケーラを含むマルチキャスト伝送システム
KR20040028760A (ko) * 2001-05-16 2004-04-03 야후! 인크. 다수개의 정보 소스의 흐름 제어
KR20040025994A (ko) * 2002-09-17 2004-03-27 삼성전자주식회사 멀티미디어 스트리밍 장치 및 방법
KR20100059686A (ko) * 2008-11-26 2010-06-04 톰슨 라이센싱 콘텐트를 수신하기 위한 방법 및 장치

Also Published As

Publication number Publication date
US20140215071A1 (en) 2014-07-31

Similar Documents

Publication Publication Date Title
WO2013024966A1 (ko) 콘텐트 수신 방법 및 장치
WO2013008994A1 (ko) 디바이스 디스커버리 방법 및 콘텐트 다운로드 방법
WO2010018991A2 (en) Apparatus and method for sharing a bookmark with other user in a home network
WO2012011726A2 (en) Method and apparatus for providing drm service
WO2013047997A1 (ko) 라이트 체크를 기반으로 하는 콘텐트 다운로드 방법, 디바이스 및 시스템
WO2011021909A2 (en) Method and apparatus for providing contents via network, method and apparatus for receiving contents via network, and method and apparatus for backing up data via network, backup data providing device, and backup system
WO2012047064A2 (ko) Drm 서비스 제공 방법 및 장치
WO2011115424A2 (ko) 컨텐츠 출력 시스템 및 그 시스템에서 코덱 정보 공유 방법
WO2012148227A2 (en) Method and apparatus for providing drm service
WO2012138183A2 (en) Apparatus and method for providing content using a network condition-based adaptive data streaming service
KR20080107308A (ko) 컨텐트 디렉토리 서비스와 제어 포인트간의 컨텐트를동기화하는 방법
WO2017051941A1 (ko) P2p 연결을 이용한 클라우드 서비스 트래픽의 절감 방법 및 그 장치
WO2012093877A2 (en) Apparatus and method for generating bookmark in streaming service system
WO2010087669A2 (en) Method and apparatus for sharing content in an internet broadcasting system
KR100782836B1 (ko) 컨텐츠 관리 방법, 장치 및 저장매체와 이를 이용한 적응적컨텐츠 재생 방법
WO2010055998A2 (ko) 관련 컨텐츠 제공 시스템, 제공 방법, 서비스 서버, 종단 단말기 및 저장 매체
WO2010143855A2 (ko) 원격 사용자 인터페이스 제공 방법 및 그 장치
WO2012081950A2 (ko) 복수의 클라이언트 간의 어플리케이션 자동 공유 방법 및 장치
WO2015192472A1 (zh) 一种多媒体资源管理方法、云服务器及电子设备
WO2013133537A1 (ko) 사용자 단말기에 디바이스 제어 정보를 제공하는 방법 및 시스템과 이를 이용하여 어플리케이션을 실행하는 방법 및 사용자 단말기
WO2013154364A1 (ko) 스트리밍 재생 방법 및 이를 이용한 컴퓨팅 장치
WO2013125920A1 (ko) 로케이션 기반의 언솔리시티드 다운로드 방법, 장치 및 시스템
WO2012111924A2 (ko) 컨텐츠 관리 목록 제공 방법 및 이를 수행하는 장치
WO2019117625A1 (en) Apparatus and method for sharing content
KR20140049449A (ko) 홈 네트워크에서의 애플리케이션 이동성 관리 장치

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12823439

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 14239089

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12823439

Country of ref document: EP

Kind code of ref document: A1