WO2018043111A1 - 情報処理装置、情報処理方法、及び、情報処理システム - Google Patents

情報処理装置、情報処理方法、及び、情報処理システム Download PDF

Info

Publication number
WO2018043111A1
WO2018043111A1 PCT/JP2017/029340 JP2017029340W WO2018043111A1 WO 2018043111 A1 WO2018043111 A1 WO 2018043111A1 JP 2017029340 W JP2017029340 W JP 2017029340W WO 2018043111 A1 WO2018043111 A1 WO 2018043111A1
Authority
WO
WIPO (PCT)
Prior art keywords
proxy
service
information processing
slave
master
Prior art date
Application number
PCT/JP2017/029340
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 US16/319,524 priority Critical patent/US10979495B2/en
Priority to CA3034586A priority patent/CA3034586A1/en
Priority to JP2018537100A priority patent/JPWO2018043111A1/ja
Priority to MX2019002343A priority patent/MX2019002343A/es
Priority to EP17846119.0A priority patent/EP3506115B1/en
Priority to BR112019003507A priority patent/BR112019003507A8/pt
Priority to KR1020197004682A priority patent/KR102345869B1/ko
Publication of WO2018043111A1 publication Critical patent/WO2018043111A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1031Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/211Schema design and management
    • 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/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1014Server selection for load balancing based on the content of a request
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1023Server selection for load balancing based on a hash applied to IP addresses or costs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/566Grouping or aggregating service requests, e.g. for unified processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2408Traffic characterised by specific attributes, e.g. priority or QoS for supporting different services, e.g. a differentiated services [DiffServ] type of service

Definitions

  • the present technology relates to an information processing apparatus, an information processing method, and an information processing system, and in particular, an information processing apparatus, an information processing method, and an information processing apparatus that can perform appropriate load distribution when a plurality of proxies are installed.
  • the present invention relates to an information processing system.
  • proxy server proxy
  • a proxy server is installed between a server that distributes content via the Internet and a client device that reproduces the content, thereby improving response performance to requests from the client device.
  • This technology has been made in view of such a situation, and is to enable appropriate load balancing when a plurality of proxies are installed.
  • the information processing device is a proxy that receives a stream of content distributed for each of a plurality of services and transmits the content stream to a client device connected to a network, and serves as a master proxy for a slave proxy
  • the information processing apparatus includes a processing unit that functions and determines a service charge range corresponding to a predetermined policy for each proxy.
  • the information processing apparatus may be an independent apparatus or may be an internal block constituting one apparatus.
  • the information processing method according to the first aspect of the present technology is an information processing method corresponding to the information processing apparatus according to the first aspect of the present technology described above.
  • the proxy receives a stream of content distributed for each of a plurality of services, and transmits the stream to a client apparatus connected to a network. It functions as a master proxy for slave proxies, and for each proxy, a service responsibility range corresponding to a predetermined policy is determined.
  • An information processing system includes a first information processing device in which a master proxy operates, one or more second information processing devices in which a slave proxy operates, and one or more client devices.
  • the first information processing apparatus receives a stream of content distributed for each of a plurality of services and transmits it to the client apparatus connected to the network
  • a proxy that functions as the master proxy for the slave proxy, and that includes a processing unit that determines a service responsibility range in accordance with a predetermined policy for each proxy
  • the second information processing apparatus Receives a stream of content distributed for each of a plurality of services, A proxy that transmits to the connected client device, functions as the slave proxy for the master proxy, and processes a stream of content distributed by a service according to a range of responsibility determined by the master proxy Is an information processing system.
  • the first information processing apparatus in which the master proxy operates receives a stream of content distributed for each of a plurality of services
  • the client apparatus connected to the network receives A proxy that transmits, functions as the master proxy for the slave proxy, and for each proxy, a range of service according to a predetermined policy is determined, and content distributed for each of a plurality of services is determined.
  • Receiving the stream, the client connected to the network A proxy that sent the winding device, wherein the function as a slave proxy for the master proxy streams of contents distributed by the service in accordance with the assigned range determined by the master proxy is processed.
  • appropriate load distribution can be performed when a plurality of proxies are installed.
  • FIG. It is a figure which shows the example of topology in case a network is home LAN etc.
  • FIG. It is a figure which shows the example of the topology in case the network is the radio
  • FIG. 1 is a diagram illustrating a configuration of an embodiment of a transmission system to which the present technology is applied.
  • the system refers to a logical collection of a plurality of devices.
  • the transmission system 1 includes a FW proxy device 10-1 to 10-N (N: an integer of 1 or more), a client device 20-1 to 20-M (M: an integer of 1 or more), and a broadcast server 40. It is comprised including.
  • the FW proxy devices 10-1 to 10-N and the client devices 20-1 to 20-M are connected to a network 30 such as a home LAN (Local Area Network) built in the end user home 2. And can communicate with each other.
  • a network 30 such as a home LAN (Local Area Network) built in the end user home 2. And can communicate with each other.
  • the FW proxy device 10-1 is installed between a device connected to the network 30 and a broadcast transmission path 60 including the broadcast server 40, the transmitting station 50, and the like, and functions as a forward proxy (forward gateway proxy) (gateway function). )have.
  • the FW proxy device 10-1 includes a dedicated server for providing a forward proxy function, a television receiver, a set top box (STB), a network storage, and the like.
  • the FW proxy device 10-1 receives the broadcast wave transmitted from the broadcast server 40 via the transmitting station 50, and transmits the content stream obtained from the broadcast wave to the client device 20-1 connected to the network 30. Through 20-M.
  • the FW proxy devices 10-2 to 10-N like the FW proxy device 10-1, are configured by a dedicated server, a television receiver, and the like, and have a function as a forward proxy.
  • the FW proxy devices 10-2 to 10-N transmit (transfer) the content stream obtained from the broadcast wave from the broadcast server 40 to any of the client devices 20-1 to 20-M connected to the network 30. To do.
  • FW proxy devices 10-1 to 10-N connected to the network 30, one of the FW proxy devices 10 functions as a master proxy, and the other FW proxy devices 10 Has a master-slave relationship that functions as a slave proxy. Since the FW proxy devices 10-1 to 10-N have a master-slave relationship, a service responsibility range is assigned to each FW proxy device 10 by the FW proxy device 10 in which the master proxy operates.
  • FW proxy devices 10-1 to 10-N are simply referred to as the FW proxy device 10 when it is not necessary to distinguish between them.
  • the FW proxy device 10 having a function as a master proxy is referred to as a master proxy device 10M, while the FW proxy device 10 having a function as a slave proxy is referred to as a slave proxy device 10S. To distinguish.
  • the master proxy device 10M and the slave proxy device 10S will be referred to as FW proxy devices 10 when it is not necessary to distinguish them. That is, the FW proxy device 10 is either the master proxy device 10M or the slave proxy device 10S.
  • the client device 20-1 is a receiver that receives and plays back a content stream transmitted (transferred) from any of the FW proxy devices 10-1 to 10-N via the network 30. That is, the client device 20-1 can reproduce the content distributed via the broadcast via any one of the FW proxy devices 10-1 to 10-N according to the operation of the end user.
  • the client device 20-1 is configured as a fixed receiver such as a television receiver, a set top box, or a personal computer, or a mobile receiver such as a smartphone, a mobile phone, or a tablet computer. Further, the client device 20-1 may be a wearable computer such as a head mounted display (HMD).
  • HMD head mounted display
  • the client devices 20-2 to 20-M are composed of fixed receivers or mobile receivers used in the home, and any of the FW proxy devices 10-1 to 10-N.
  • the content stream distributed via the broadcast is received and reproduced.
  • the client devices 20-1 to 20-M are simply referred to as the client device 20 when it is not necessary to distinguish them.
  • the detailed configuration of the client device 20 will be described later with reference to FIG.
  • the broadcast server 40 is a server provided by a broadcaster such as a broadcast station, for example, and is connected to a transmission facility installed at the transmitting station 50 via a predetermined line such as a dedicated line.
  • the broadcast server 40 processes content files (data) such as programs and CMs and control information (signaling), and transmits the data obtained as a result to a transmission facility in the transmitting station 50 via a dedicated line. Then, the transmission facility in the transmission station 50 performs necessary processing (modulation processing, etc.) on the data from the broadcast server 40, so that the broadcast wave obtained as a result is transmitted via the broadcast transmission path 60 to the end. Received by the FW proxy device 10 in the user home 2.
  • the FW proxy device 10 is not limited to the end user home 2, but for example, It may be installed in a cable operator's head end, a mobile network base station, or the like so as to cover a wider area.
  • the client device 20 is installed not at the same end user's home but at each end user's home that subscribes to cable television services. Will be.
  • the client device 20 is a device that is owned indoors or outdoors by an end user with a mobile service contract.
  • the FW proxy device 10 and the client device 20 may be in-vehicle devices mounted on a vehicle such as an automobile. Further, in the transmission system 1 of FIG. 1, communication performed between devices and servers connected to the network 30 is communication in which wireless communication and wired communication are mixed as well as wireless communication and wired communication, that is, a certain section. Then, wireless communication may be performed, and wired communication may be performed in other sections.
  • FIG. 2 is a diagram illustrating a configuration example of the master proxy device 10M in the FW proxy device 10 of FIG.
  • the master proxy device 10M includes a processing unit 100, a tuner 101, a communication I / F 102, and a storage unit 103.
  • the processing unit 100 includes, for example, a CPU (Central Processing Unit) and a microprocessor.
  • the processing unit 100 performs various kinds of arithmetic processing and processing such as operation control of each unit.
  • the tuner 101 performs necessary processing (demodulation processing or the like) on the broadcast wave received via the antenna, and supplies the resulting multiplexed stream to the processing unit 100.
  • the processing unit 100 processes the multiplexed stream supplied from the tuner 101 and supplies the resulting content stream to the communication I / F 102.
  • the communication I / F 102 includes, for example, a communication interface circuit.
  • the communication I / F 102 receives data transmitted from the client device 20 connected to the network 30 and supplies the data to the processing unit 100. Further, the communication I / F 102 transmits the content stream supplied from the processing unit 100 to the client device 20 via the network 30.
  • the storage unit 103 includes, for example, a semiconductor memory, a hard disk drive (HDD: Hard Disk Drive), or the like.
  • the storage unit 103 stores various data according to control from the processing unit 100.
  • the processing unit 100 includes a master proxy 111, a UPnP / SSDP server 112, a proxy application manager 113, a local web server 114, and an SLS processing system 115.
  • the master proxy 111 is a service that operates on the master proxy device 10M, and functions as a master proxy for the slave proxy that operates on the slave proxy device 10S.
  • the master proxy 111 performs a process of assigning a service responsibility range to itself (master proxy) or slave proxy.
  • the master proxy 111 performs processing related to the service within the assigned range in accordance with the assigned range of the service assigned by itself.
  • the master proxy 111 notifies the request from the client device 20 to the slave proxy in charge of the target service. Details of processing performed by the master proxy 111 will be described later with reference to FIGS.
  • the UPnP / SSDP server 112, the proxy application manager 113, and the local web server 114 are services that operate on the master proxy device 10M.
  • the UPnP / SSDP server 112, the proxy application manager 113, and the local web server 114 establish a master / slave relationship between the master proxy 111 and a slave proxy operating in the slave proxy device 10S connected to the network 30. Process. Details of this processing will be described later with reference to FIGS.
  • the UPnP / SSDP server 112 performs processing for establishing a connection between the master proxy 111 and the client device 20 connected to the network 30. Details of this processing will be described later with reference to FIG.
  • the SLS processing system 115 performs processing related to SLS (Service Layer Signaling) which is control information acquired via broadcasting.
  • SLS Service Layer Signaling
  • a desired content stream (a content stream distributed by the service in charge) is obtained from the multiplexed stream. Details of the SLS will be described later with reference to FIG.
  • the master proxy device 10M is configured as described above.
  • FIG. 3 is a diagram illustrating a configuration example of the slave proxy device 10S in the FW proxy device 10 of FIG.
  • the slave proxy device 10S includes a processing unit 150, a tuner 151, a communication I / F 152, and a storage unit 153. Note that the tuners 151 to 153 are configured in the same manner as the tuners 101 to 103 in FIG.
  • the processing unit 150 includes, for example, a CPU, a microprocessor, and the like.
  • the processing unit 150 performs various types of arithmetic processing and processing such as operation control of each unit.
  • the processing unit 150 includes a slave proxy 161 and an SLS processing system 162.
  • the slave proxy 161 is a service that operates on the slave proxy device 10S, and functions as a slave proxy for the master proxy 111 that operates on the master proxy device 10M.
  • the slave proxy 161 performs processing related to the service in the service area in accordance with the service service area assigned by the master proxy 111. Details of processing performed by the slave proxy 161 will be described later with reference to FIGS.
  • the SLS processing system 162 performs processing related to SLS, which is control information acquired via broadcasting. By processing the SLS by the SLS processing system 162, a desired content stream (content stream distributed by the service in charge) is obtained from the multiplexed stream. Details of the SLS will be described later with reference to FIG.
  • the slave proxy device 10S is configured as described above.
  • FIG. 4 is a diagram illustrating a configuration example of the client device 20 of FIG.
  • the client device 20 includes a processing unit 200, a communication I / F 201, a display unit 202, and a speaker 203.
  • the processing unit 200 includes, for example, a CPU, a microprocessor, and the like.
  • the processing unit 200 performs various types of arithmetic processing and processing such as operation control of each unit.
  • the communication I / F 201 includes, for example, a communication interface circuit.
  • the communication I / F 201 requests content distributed by a desired service to the master proxy apparatus 10M connected to the network 30 according to control from the processing unit 200.
  • the communication I / F 201 receives a stream of content transmitted (transferred) from the master proxy device 10M or the slave proxy device 10S via the network 30 and supplies the content stream to the processing unit 200.
  • the processing unit 200 processes a stream of content supplied from the communication I / F 201, supplies video data to the display unit 202, and supplies audio data to the speaker 203 among the data obtained as a result.
  • the display unit 202 includes a display such as an LCD (Liquid Crystal Display) or an OELD (Organic Electroluminescence Display).
  • the display unit 202 displays a video corresponding to the video data supplied from the processing unit 200.
  • the speaker 203 outputs sound corresponding to the audio data supplied from the processing unit 200.
  • an operation signal according to an end user operation on the touch panel is supplied to the processing unit 200, and the processing unit 200 responds to the operation signal.
  • an input unit such as a physical button is provided so that an operation signal corresponding to an end user operation on the input unit is supplied to the processing unit 200. Good.
  • the processing unit 200 includes an application 211 and a browser 212.
  • a renderer function is provided by the application 211 and the browser 212.
  • the application 211 performs processing for the client device 20 connected to the network 30 to establish a connection with the master proxy 111 operating in the master proxy device 10M. Details of processing performed by the application 211 will be described later with reference to FIG.
  • the browser 212 is a content stream supplied from the communication I / F 201, processes data received via broadcasting by the master proxy device 10M or the slave proxy device 10S, and reproduces the content.
  • the browser 212 has a function as a DASH player, and details thereof will be described later with reference to FIG. Details of processing performed by the browser 212 will be described later with reference to FIGS.
  • the client device 20 is configured as described above.
  • FIG. 5 is a diagram illustrating an example of a protocol stack of the IP transmission scheme of the present technology.
  • ATSC Advanced Television Systems Committee
  • IP transmission method can be adopted as in ATSC 3.0 and the like.
  • the lowest hierarchy is a physical layer.
  • the physical layer corresponds to the frequency band of the broadcast wave allocated for the service (channel).
  • the upper layer of the physical layer is the data link layer.
  • the upper layers of the data link layer are an IP (Internet Protocol) layer and a UDP (User Datagram Protocol) layer.
  • IP Internet Protocol
  • UDP User Datagram Protocol
  • the IP layer and the UDP layer are layers corresponding to the network layer and the transport layer in the communication hierarchical model, and the IP packet and the UDP packet are specified by the IP address and the port number.
  • LLS Low Level Signaling
  • SLS Service Layer Signaling
  • the LLS includes metadata such as SLT (Service List).
  • the SLT metadata includes basic information indicating the configuration of a stream or service in a broadcast network, such as information necessary for service (channel) channel selection.
  • the SLT metadata is transmitted by being included in a UDP / IP packet that is an IP packet including a UDP packet. However, a UDP / IP packet storing SLT metadata is transmitted with a special IP address and port number.
  • ROUTE Real-time Object Delivery Service Unidirectional Transport
  • FLUTE FLUTE
  • SLS is service level control information and provides information and attributes necessary for searching and selecting components belonging to the target service.
  • SLS includes metadata such as USBD (User Service Bundle Description), S-TSID (Service-based Transport Session Instance Description), and MPD (Media Presentation Description).
  • USBD User Service Bundle Description
  • S-TSID Service-based Transport Session Instance Description
  • MPD Media Presentation Description
  • USBD metadata includes information such as where to obtain other metadata.
  • the S-TSID metadata is an extension of LSID (LCT Session Instance Description) for ATSC 3.0, and is ROUTE protocol control information. Further, the S-TSID metadata can specify EFDT (Extended FDT) transmitted in the ROUTE session. EFDT is an extension of FDT (File Delivery Table) introduced in FLUTE, and is control information for transfer.
  • MPD metadata is video and audio file control information used for streaming delivery in conformity with MPEG-DASH.
  • MPEG-DASH is a streaming distribution standard according to OTT-V (Over The Top Video), and is a standard related to adaptive streaming distribution using a streaming protocol based on HTTP (Hypertext Transfer Protocol).
  • the MPEG-DASH standard defines a manifest file for describing metadata, which is control information for video and audio files, and a file format for transmitting moving image content.
  • the former manifest file is called MPD (Media Presentation Description), and the latter file format is also called a segment format.
  • the MP4 file format can be used as the streaming file format.
  • the MP4 file format is a derived format of ISO BMFF (ISO Base Media File Format) defined in ISO / IEC 14496-12.
  • the segment transmitted in the ROUTE session is composed of an initialization segment (IS: Initialization Segment) and a media segment (MS: Media Segment).
  • the initialization segment includes initialization information such as a data compression method.
  • the media segment stores video, audio, and subtitle stream data. That is, this media segment corresponds to a DASH segment (DASH segment file).
  • stream data of service components (video, audio, subtitles, etc.) constituting content such as a program is transmitted by a ROUTE session in units of DASH segments conforming to the ISO BMFF standard.
  • NRT content is content that is once stored in the receiver storage and then played.
  • files other than NRT content for example, files of applications and electronic service guides (ESG: Electronic Service Guide)
  • ESG Electronic Service Guide
  • SLT metadata as LLS and metadata such as USBD, S-TSID, and MPD as SLS should be text data described in a markup language such as XML (Extensible Markup Language). Can do.
  • the upper layer of the physical layer is a data link layer (Data Link Layer).
  • the upper layer of the data link layer is an IP layer corresponding to the network layer.
  • An upper layer adjacent to the IP layer is a TCP (Transmission Control Protocol) layer corresponding to the transport layer, and an upper layer adjacent to the TCP layer is an HTTP layer corresponding to the application layer.
  • TCP Transmission Control Protocol
  • protocols such as TCP / IP that operate on communication lines such as the Internet are implemented by these layers.
  • control information includes all control information such as control information transmitted in the above-described ROUTE session.
  • NRT content is content acquired through communication, and includes, for example, an application.
  • DASH DASH segments
  • VOD Video On Demand
  • a one-way broadcasting layer and a part of a two-way communication layer become a common protocol, so Can transmit the stream data of the service components that make up the content in units of DASH segments according to the ISO BMFF standard.
  • a broadcast-type broadcast server 40 is provided on the transmission side, and the configuration corresponding to only one-way broadcast-type streaming distribution is shown.
  • the present technology can also support streaming distribution in a bidirectional communication system. A configuration corresponding to streaming distribution in such a bidirectional communication system will be described later with reference to FIG.
  • FW proxy devices 10-1 to 10-N are installed in the network 30 as in the transmission system 1 shown in FIG. 1, the destination of the DASH segment request from the client device 20 is sent. However, if it is fixed to a specific FW proxy device 10, other FW proxy devices 10 (for example, FW proxy devices 10 additionally installed later) will not function.
  • the master proxy device 10M when a plurality of FW proxy devices 10-1 to 10-N are installed, the master proxy device 10M establishes a relationship between the master and the slave between the FW proxy devices 10.
  • the DASH segment request from the client device 20 is appropriately redirected.
  • the load for each FW proxy device 10 that is either the master proxy device 10M or the slave proxy device 10S is appropriately distributed.
  • the relationship between the master and the slave between the FW proxy devices 10 may be set manually each time the FW proxy device 10 is added to the network 30, or the FW proxy devices 10 may be connected to each other, for example, You may determine by performing negotiation according to capability attributes (processing capability, storage capability, etc.).
  • the master proxy device 10 when the FW proxy device 10 that is first connected to the network 30 is set as the master proxy device 10M, and then the FW proxy device 10 is added, the master FW proxy device 10 is added according to the capability attribute of the FW proxy device 10.
  • the proxy device 10M may be determined.
  • the master proxy device 10M may be fixed, and the same FW proxy device 10 may always play the role.
  • the number of master proxy devices 10M is not limited to one, and a plurality of master proxy devices 10M may be installed. By providing a plurality of master proxy devices 10M, the processing load of each master proxy 111 can be distributed.
  • the master FW proxy device 10 uses, for example, SSDP (Simple Service Discovery Protocol) of Universal Plug and Play (UPnP: Universal Plug and Play), etc.
  • SSDP Simple Service Discovery Protocol
  • UFP Universal Plug and Play
  • An API Application Programming Interface
  • the assigned service assigned range is assigned to each FW proxy device 10 (slave proxy device 10S) as a slave through the API.
  • the master proxy device 10M generates a database for allocating the service charge range (hereinafter referred to as proxy-service charge range database), so that each FW proxy device 10 (the master proxy 111 operating on the FW proxy device 10 and the slave) A service charge range is assigned to the proxy 161).
  • proxy-service charge range database a database for allocating the service charge range
  • UPnP is a protocol that enables participation in the target network simply by connecting a device.
  • SSDP is one of the protocols used in UPnP, and is used to search for and respond to devices on the network.
  • the master proxy device 10M When the master proxy device 10M receives a DASH segment request from the client device 20, the master proxy device 10M refers to the proxy-service charge range database, identifies the responsible FW proxy device 10, and performs redirection to the FW proxy device 10. Do.
  • the FW proxy device 10 that has received the redirection receives a stream of content distributed via broadcast within the range of the assigned service, and transmits the content stream to the client device 20 via the network 30.
  • the master proxy device 10M assigns a service charge range to the FW proxy device 10 according to various policies (rules) when generating the proxy-service charge range database.
  • a policy for example, all the services that can be received in the target area are mechanically assigned to the plurality of FW proxy devices 10, or the access frequency is taken into consideration of the end user viewing history.
  • High service groups can be allocated so that the load is preferentially distributed.
  • various rules can be selected, such as grouping services that can be received simultaneously.
  • the unit for grouping services can be, for example, a broadcast stream ID (BSID: “Broadcast” Stream ”ID) unit.
  • BSID Broadcast
  • Stream ID data transmitted in a frequency band (for example, 6 MHz) specified by the broadcast stream ID can be acquired at a time. Details of the broadcast stream ID are described in, for example, “Table 6.2 6.2 SLT XML Format” of Non-Patent Document 1 below.
  • Non-patent document 1 ATSC Candidate Standard: Signaling, Delivery, Synchronization, and Error Protection (A / 331) Doc. S33-174r15 January 2016
  • the same master proxy device 10M (the master proxy 111 operating in the same) among the FW proxy devices 10 connected to the network 30 is shared.
  • the service charge ranges of each of the one or more slave proxy devices 10S (the slave proxy 161 operating in) are reset.
  • FIG. 6 shows an overview of the flow of proxy service area allocation and segment request redirection processing performed when the present technology is applied.
  • the master proxy device 10M (the master proxy 111 operating in the network proxy) is connected to the network 30.
  • the service responsibility range of the master proxy 111 and the slave proxy 161 operating in the FW proxy device 10 is determined (S2).
  • a proxy-service charge range database storing data related to the service range handled by each FW proxy device 10 is generated, and the service charge range is notified to each FW proxy device 10. .
  • each FW proxy device 10 prepares for service tuning in accordance with the service charge range from the master proxy device 10M.
  • the master proxy device 10M (the master proxy 111 operating on the client device 20) receives the DASH segment from the client device 20.
  • the request is redirected (S3).
  • the master proxy device 10M refers to the proxy-service charge range database to determine the FW proxy device 10 that should be in charge of processing the DASH segment request from the client device 20, and sends it to the FW proxy device 10 On the other hand, a DASH segment request from the client device 20 is transmitted (redirection).
  • the new slave proxy device 10S and the client device 20 are connected in that order to the network 30 in which the master proxy device 10M is present, and distributed by the client device 20 via broadcast. A case where the reproduction of the content to be instructed is described.
  • steps S111 to S117 is executed by the master proxy device 10M, and the processing of steps S121 to S130 is executed by the newly added slave proxy device 10S.
  • steps S101 to S105 is executed by the client device 20.
  • step S122 the slave proxy 161 confirms the presence of the master proxy 111 operating in the master proxy device 10M.
  • a presence confirmation message is transmitted by multicast to a device connected to the network 30 via / F152.
  • step S122 the message transmitted by the slave proxy device 10S is received by the master proxy device 10M via the network 30.
  • step S111 the master proxy 111 generates a setting management API according to the message received from the slave proxy device 10S, and notifies the slave proxy device 10S via the network 30 as a response.
  • step S111 the setting management API transmitted by the master proxy apparatus 10M is received by the slave proxy apparatus 10S via the network 30.
  • step S123 the slave proxy 161 controls the tuner 151 to scan the service.
  • a service scan result indicating a service receivable by the slave proxy apparatus 10S is obtained from SLT metadata transmitted as LLS.
  • the rescan process is performed by the tuner 101 (S112).
  • a service scan result indicating a service receivable by the master proxy apparatus 10M is obtained from SLT metadata transmitted as LLS.
  • the service that can be received by the master proxy apparatus 10M does not change frequently, once the service scan is performed, the service scan result can be continuously used.
  • the master proxy device 10M is a movable device such as a mobile receiver or an in-vehicle device, the service that can be received is likely to change depending on the current area, so the service scan is performed again. There is a need.
  • step S124 the slave proxy 161 notifies the master proxy 111 operating in the master proxy apparatus 10M of the service scan result obtained in the process of step S123. Further, the slave proxy 161 requests a service charge range from the master proxy 111 (S125).
  • slave proxy 161 may include the service scan result in the request for the service charge range and transmit it simultaneously.
  • the service scan result and the service charge range request transmitted by the slave proxy device 10S are received by the master proxy device 10M.
  • step S113 the master proxy 111 determines a service charge range based on the service scan result.
  • the service scan result of the master proxy apparatus 10M itself and the service scan result of the new slave proxy apparatus 10S are obtained as the service scan results. Then, the master proxy 111 uses these service scan results to determine the service charge range of each FW proxy device 10 according to a predetermined policy (rule).
  • all the services that can be received in the target area are mechanically allocated to the plurality of FW proxy devices 10, or the access frequency is taken into consideration of the end user viewing history.
  • the access frequency is taken into consideration of the end user viewing history.
  • the service responsibility range corresponding to the policy is determined using the capability attribute. May be. Thereby, for example, for the FW proxy device 10 having a high processing capability, it is possible to expand the range of the service in charge.
  • the capability attribute for example, processing capability
  • a proxy-service charge range database in which each FW proxy device 10 (master proxy 111 or slave proxy 161) is associated with a service charge range is generated and stored in the storage unit 103.
  • step S114 the master proxy 111 notifies the slave proxy 161 of information indicating the service charge range determined in the process of step S113 (hereinafter referred to as service charge range information).
  • step S114 the service charge range information transmitted by the master proxy device 10M is received by the slave proxy device 10S.
  • step S126 the slave proxy 161 controls the tuner 151 on the basis of the service charge range information received from the master proxy device 10M, and prepares for tuning of the service in its own charge range. Here, preparation for channel selection of each service indicated by the service charge range information is performed.
  • the master proxy device 10M is also prepared for tuning of the service in its own range (S115).
  • service tuning may be performed in advance for the service in the assigned range (S127 in FIG. 8).
  • step S103 the application 211 requests the service-MPD table from the master proxy 111.
  • step S103 the service-MPD table request transmitted by the client device 20 is received by the master proxy device 10M via the network 30.
  • step S116 the master proxy 111 generates a service-MPD table in response to the table request received from the client device 20, and returns the service-MPD table to the client device 20 via the network 30 as a response.
  • the service-MPD table is a table in which services and MPD metadata are associated with each other.
  • the service-MPD table is generated from the SLS.
  • the service-MPD table is generated by the master proxy 111, but the service-MPD table may be generated by the SLS processing system 115.
  • step S116 the service-MPD table transmitted by the master proxy device 10M is received by the client device 20 via the network 30.
  • step S104 the application 211 refers to the service-MPD table received from the master proxy apparatus 10M, and requests the DASH segment from the master proxy 111 based on the MPD metadata corresponding to the desired service.
  • step S104 the DASH segment request transmitted by the client apparatus 20 is received by the master proxy apparatus 10M via the network 30.
  • step S117 the master proxy 111 determines allocation of the DASH segment request received from the client device 20 to the slave proxy 161 with reference to the proxy-service charge range database, and performs redirection according to the determination result. .
  • the master proxy 111 redirects the DASH segment request from the client device 20 (the application 211) to the appropriate slave proxy 161.
  • the request for the redirected DASH segment is directly notified from the master proxy 111 to the slave proxy 161.
  • the master proxy 111 notifies the slave proxy 161 indirectly via the client device 20, so to speak. Details of segment request redirection will be described later with reference to FIGS.
  • step S117 the DASH segment request redirected by the master proxy apparatus 10M is received by the slave proxy apparatus 10S in which the slave proxy 161 determined to be appropriate is operating.
  • step S1208 the slave proxy 161 determines whether pre-service tuning is being performed.
  • “NO” is determined in the determination process of step S128, and the process proceeds to step S129. .
  • step S129 the slave proxy 161 controls the tuner 101 based on the DASH segment request received from the master proxy apparatus 10M, and tunes the service.
  • the DASH segment file corresponding to the DASH segment request is acquired from the broadcast server 40 via the broadcast.
  • step S127 when there is a surplus of resources and advance service tuning has been performed, the service stream in the assigned range obtained from the broadcast server 40 via broadcast has been developed. Therefore, the process of step S129 is skipped. In this case, a DASH segment file corresponding to the DASH segment request is acquired from the expanded stream.
  • step S130 the slave proxy 161 returns the DASH segment file received from the broadcast server 40 to the client device 20 connected to the network 30 via the communication I / F 102.
  • step S130 the DASH segment file transmitted (transferred) by the slave proxy apparatus 10S is received by the client apparatus 20 via the network 30.
  • the browser 212 reproduces the DASH segment file received from the slave proxy device 10S (S105).
  • the client device 20 reproduces content such as a program distributed via broadcasting.
  • step S151 as in step S122 of FIG. 7, the slave proxy 161 operating in the new slave proxy apparatus 10S confirms the presence of the master proxy 111 operating in the master proxy apparatus 10M.
  • An M-SEARCH request is sent by multicast to the device connected to.
  • This M-SEARCH request is an HTTP request, and is used when searching for a device connected to the network 30 using a protocol that is SSDP.
  • step S151 the M-SEARCH request transmitted by the slave proxy device 10S is received by the master proxy device 10M via the network 30.
  • step S141 the UPnP / SSDP server 112 generates a device description URL in response to the M-SEARCH request received from the slave proxy device 10S, and uses the slave proxy device as an M-SEARCH response via the network 30. Send to 10S.
  • This M-SEARCH response is a response to an M-SEARCH request, and includes a device description URL as LOCATION.
  • This device description URL is a URL of an XML format file.
  • the M-SEARCH response transmitted by the master proxy apparatus 10M in the process of step S141 is received by the slave proxy apparatus 10S via the network 30.
  • step S152 the slave proxy 161, based on the M-SEARCH response (device description URL) received from the master proxy device 10M, the local web server 114 operating on the master proxy device 10M connected to the network 30. Request a device description.
  • This device description request is an HTTP request, and the content according to the device description URL of the M-SEARCH response is described as the target resource of the GET method.
  • step S152 the device description request transmitted by the slave proxy device 10S is received by the master proxy device 10M via the network 30.
  • step S142 the local web server 114 generates a device description in response to the device description request received from the slave proxy device 10S, and transmits it as a response to the slave proxy device 10S via the network 30.
  • FIG. 10 is a diagram illustrating an example of a device description response.
  • serviceList element a list of services supported by the master proxy apparatus 10M is described.
  • serviceList element one or a plurality of service elements are described.
  • the service element information about one service among the supported services is described.
  • the service element is an upper element such as a serviceType element, a serviceId element, an SCPDURL element, and a controlURL element.
  • the serviceType element describes “urn: atsc: proxy” as the service type, which means that it is an ATSC 3.0 service proxy service.
  • the serviceType element describes “urn: atsc: configMan” as the service type, which means that it is an ATSC 3.0 configuration management service.
  • controlURL element “http://192.168.1.1:23456/getServiceScope” is described as the URL of the setting management API.
  • This URL is information for calling the Web API for the master proxy 111 to acquire service charge range information.
  • each service element since the address of the service description for the ACR client service is usually described in the SCPDURL element, the service description is acquired by the GET method defined by HTTP. In that case, the action is called by sending an action message to the URL described in the controlURL element by SOAP (Simple Object Access Access Protocol) defined by UPnP.
  • SOAP Simple Object Access Access Protocol
  • this technology proposes a method for disseminating the URL of the Web API using a method different from UPnP so that the Web API can be called more easily. That is, in this technique, as shown in FIG. 10, nothing is described as the value of the SCPDURL element (the contents of the SCPDURL element are left empty), and only when nothing is described in the SCPDURL element. Web API URL can be described directly in controlURL element.
  • the contents of the SCPDURL element are emptied as described above, for example, a dummy character string is described in the controlURL element. It may be.
  • step S142 the device description response transmitted by the master proxy apparatus 10M is received by the slave proxy apparatus 10S that transmitted the device description request.
  • the service charge range information is acquired from the master proxy 111 operating in the master proxy device 10M based on the device description response received from the master proxy device 10M.
  • the slave proxy 161 requests a service charge range from the master proxy 111 based on the URL of the device description response setting management API. Note that the processing of the slave proxy 161 corresponds to the processing of step S125 in FIG.
  • FIG. 11 is a diagram illustrating an example of a service charge range request.
  • service charge scope information that is “getServiceScope” is described as the target resource of the GET method.
  • HOST “192.168.1.1:23456” is described as the host name.
  • the target of the GET method is “getServiceScope” according to the contents (contents of the controlURL element) described in the device description response.
  • the IP address of the master proxy apparatus 10M that is “192.168.1.1” and the port number of the master proxy 111 that is “23456” are described as HOST.
  • Such a service charge range request is received by the master proxy apparatus 10M connected to the network 30. Then, the master proxy 111 generates service charge range information in response to the service charge range request received from the slave proxy device 10S, and transmits it as a response to the slave proxy device 10S via the network 30. Note that the processing of the master proxy 111 corresponds to the processing of steps S113 and S114 in FIG.
  • service scan result obtained by the process of step S123 may be described in the body of the service charge range request.
  • FIG. 12 is a diagram illustrating an example of a service charge range response.
  • service charge range information In the body part of the service charge range response, a list of service IDs such as “ServiceId-A” and “ServiceId-B” is described as service charge range information. This list is a list in which character strings indicating service IDs are listed with line feeds.
  • the master proxy 111 assigns the service A with the service ID “ServiceId-A” and the service B with the service ID “ServiceId-B” as the service charge range of the slave proxy 161.
  • Such a service charge range response is received by the slave proxy device 10S connected to the network 30.
  • the slave proxy device 10S prepares for service tuning based on the service charge range response (service charge range information) received from the master proxy device 10M.
  • preparation for receiving the streams of service A and service B is performed by the slave proxy apparatus 10S.
  • processing of the slave proxy 161 corresponds to the processing of step S126 in FIG.
  • the master proxy apparatus 10M also prepares for service tuning (S115 in FIG. 7).
  • the service charge range is assigned to the slave proxy apparatus 10S.
  • FIG. 13 shows a more specific example of the service charge range assignment.
  • service 1 Service-1
  • service 2 Service-2
  • service 3 Service-3
  • service 4 Service-4
  • service 5 Service-5
  • service 6 Service-6
  • Service-7 Service-7
  • each service stream is identified by a service ID.
  • Each service stream is transmitted as a broadcast stream (BS) that is identified by a broadcast stream ID. Further, in each service stream, a PLP (Physical Layer Layer) stream identified by the PLP ID is transmitted.
  • BS broadcast stream
  • PLP Physical Layer Layer
  • broadcast stream 1 a stream of service 1 including PLP-1 and PLP-2 and a stream of service 2 including PLP3 are transmitted.
  • broadcast stream 2 a stream of service 3 including PLP-1 and a stream of service 4 including PLP-2, PLP-3, and PLP-4 are transmitted.
  • broadcast stream 3 (BS-3), a stream of service 5 including PLP-1 and a stream of service 6 including PLP-2 are transmitted.
  • broadcast stream 4 (BS-4), the stream of the service 7 including PLP-1 is transmitted.
  • the master proxy 111 operating in the master proxy apparatus 10M determines a service responsibility range of the master proxy 111 and the slave proxy 161 based on these service scan results.
  • services 1 to 4 are assigned to the service charge range of the master proxy 111
  • services 5 to 7 are assigned to the service charge range of the slave proxy 161.
  • the service management range assignment is realized by the setting management API notified from the master proxy 111 to the slave proxy 161.
  • a new slave proxy device 10S-2 is further connected to the network 30 in which the master proxy device 10M and the slave proxy device 10S-1 exist.
  • slave proxy 161 that operates in the slave proxy device 10S-1
  • slave proxy 161-1 abbreviated as “slave proxy 1” in the drawing
  • slave proxy 161-2 abbreviated as “slave proxy 2” in the drawing
  • steps S191 to S196 are executed by the master proxy apparatus 10M.
  • the processing of steps S201 to S204 is executed by the slave proxy device 10S-1, and the processing of steps S211 to S216 is executed by the slave proxy device 10S-2.
  • step S212 the slave proxy 161-2 checks the presence of the master proxy 111 via the communication I / F 152. Then, a presence confirmation message is transmitted by multicast to the devices connected to the network 30.
  • the master proxy 111 In steps S191 and S192, the master proxy 111 generates a setting management API according to the message transmitted by multicast, and the slave proxy device 10S-1 and the slave proxy device 10S-2 via the network 30. Notify (re-notify).
  • the slave proxy 161-2 controls the tuner 151 according to the notification from the master proxy apparatus 10M, and scans the service.
  • a service scan result indicating a service receivable by the slave proxy apparatus 10S-2 is obtained from SLT metadata transmitted as LLS.
  • the service is rescanned according to the notification from the master proxy device 10M, and the service scan result is obtained (S201). Also, in the master proxy apparatus 10M in which the master proxy 111 operates, the service is rescanned and the service scan result is obtained (S193).
  • the master proxy device 10M and the slave proxy device 10S-1 perform the service scan at the timing when the slave proxy device 10S-2 performs the service scan.
  • the slave proxy 161-2 When the service scan (S213) is completed, the slave proxy 161-2 notifies the master proxy 111 of the service scan result and requests a service charge range (S214, S215).
  • the slave proxy 161-1 notifies the master proxy 111 of the service scan result and requests a service charge range (S202, S203).
  • the service scan result and the service charge range request transmitted by the slave proxy devices 10S-1 and 10S-2 are received by the master proxy device 10M.
  • step S194 the master proxy 111 determines a service charge range based on the service scan result.
  • the service scan result of the master proxy apparatus 10M itself, the service scan result of the existing slave proxy apparatus 10S-1, and the service scan result of the new slave proxy apparatus 10S-2 are obtained as the service scan results. . Then, the master proxy 111 uses these service scan results to determine the service charge range of each FW proxy device 10 according to a predetermined policy (rule).
  • a proxy-service charge range database in which each FW proxy device 10 (master proxy 111 or slave proxy 161-1, 161-2) is associated with a service charge range is generated and stored in the storage unit 103. Details of the policy will be described later with reference to FIGS.
  • step S195 the master proxy 111 notifies the slave proxy 161-1 and the slave proxy 161-2 of the service charge range obtained by the process in step S194.
  • the tuner 151 is controlled on the basis of the service charge range information from the master proxy device 10M to prepare for tuning of the service in its own charge range. Performed (S216).
  • the slave proxy device 10S-1 in which the slave proxy 161-2 operates preparation for tuning of the service in its own service range is performed according to the service service range information from the master proxy device 10M (S204). ). Further, the master proxy apparatus 10M also prepares for tuning of the service in its own range (S196).
  • each FW proxy device 10 connected to the network 30 is ready for tuning of the service in its own area, and in response to the DASH segment request from the client device 20, The FW proxy device 10 is compatible.
  • FIG. 15 shows a more specific example of assignment of the service charge range.
  • the relationship among the broadcast stream, service stream, and PLP stream in FIG. 15 is the same as in FIG.
  • services 1 and 2 are assigned to the service charge range of the master proxy 111
  • services 3 to 6 are assigned to the service charge range of the slave proxy 161-1
  • Services 5 to 7 are assigned to the service charge range of the slave proxy 161-2.
  • the services 5 and 6 are overlapped by the slave proxy 161-1 and the slave proxy 161-2, but for example, the services 5 and 6 may be selected (tuned). In the case of a large size, such assignment range can be assigned. However, as in the example of FIG. 13, the master proxy 111 and the slave proxy 161 may not have overlapping service areas.
  • segment request redirection process is the same as the process shown in FIG. 8, and therefore, the description thereof is omitted here.
  • step S221 the UPnP / SSDP server 112 generates a device description URL in response to the M-SEARCH request received from the slave proxy device 10S-2, and sends it as a NOTIFY message via the network 30 to the slave proxy device. 10S-1.
  • FIG. 17 is a diagram showing an example of the NOTIFY message.
  • the IP address assigned to the master proxy device 10M is “192.168.1.1” in the device description URL. ", And port number" 12345 "assigned to the local web server 114 is described.
  • step S231 the slave proxy 161-1 operates in the master proxy apparatus 10M connected to the network 30 based on the NOTIFY message (device description URL) from the master proxy apparatus 10M. Request a device description from the local web server 114.
  • This device description request is an HTTP request, and the content corresponding to the device description URL of the NOTIFY message is described as the target resource of the GET method.
  • step S222 the local web server 114 generates a device description in response to the device description request from the slave proxy device 10S-1, and sends it as a response to the slave proxy device 10S-1 via the network 30. Send.
  • the contents of the device description response are as shown in FIG.
  • the slave proxy device 10S-1 acquires the service charge range information from the master proxy 111 based on the device description response received from the master proxy device 10M.
  • automatic setting methods include a method using a DHCP (Dynamic Host Configuration Protocol) server and a method using a WPAD (Web Proxy Auto Discovery).
  • automatic setting using a proxy setting script prepares a proxy automatic configuration script file written in a script language such as JavaScript (registered trademark) and places the file on the web server, while changing the URL of the file.
  • the URL of the script for automatic setting of the browser 212 may be set.
  • the browser 212 When using WPAD, the browser 212 itself can automatically perform setting by automatically detecting and downloading the location (URL) of the script file for proxy setting.
  • WPAD in general, find the entry with the name "wpad” by using the DHCPINFORM message of the DHCP server and the method using DNS (Domain) Name System), and download the proxy setting script from there. A method has been implemented.
  • the client device 20 finds a master proxy device 10M in which the master proxy 111 is operating in the network 30, and the master proxy 111 waits for a request and an IP address and port number (hereinafter, proxy standby address / We propose a method to acquire (also called port).
  • this Web API is an interface for calling services.
  • SSDP Universal Plug and Play
  • SSDP an XML format file that describes functions and information that can be provided by a device is used as a device description that is exchanged when discovering a public service.
  • this file a device description describing the target device itself and a service description as an action of each service installed on the target device are described.
  • the description of the master proxy 111 can describe the URL of the Web API that returns the IP address and port number (proxy waiting address / port) on which the master proxy 111 waits for a request. To do.
  • the browser 212 can be used by a general client device 20 that does not implement the broadcast service.
  • Proxy proxy address / port can be set as proxy.
  • a certain script (Web API) is launched in the browser 212 of a general client device 20 (general end device such as a smartphone or a tablet computer) that does not implement a broadcast service
  • the server corresponds to the broadcast service.
  • the master proxy device 10M is discovered, and the proxy standby address / port of the master proxy 111 operating there can be set as the proxy of the browser 212.
  • SSDP has been described as an example of a protocol for searching for and responding to devices on the network.However, similar functions can be realized by using other protocols such as DIAL (Discovery and Launch). it can.
  • DIAL is a protocol that uses UPnP to discover DIAL-compatible devices on the network and launch specified applications.
  • FIG. 18 is a flowchart for explaining the flow of the master proxy setting process corresponding to the process of step S102 of FIG.
  • the UPnP / SSDP server 112 has a port number of “12345”
  • the proxy application manager 113 has a port number of “23456”
  • the master proxy 111 has Are assigned port numbers of “34567”.
  • steps S281 to S282 and the process of step S291 are executed by the master proxy apparatus 10M.
  • the processing of steps S271 to S274 is executed by the client device 20.
  • step S271 the application 211 confirms the presence of the master proxy 111 operating in the master proxy apparatus 10M with respect to a device (server) connected to the network 30 via the communication I / F 201. Send a SEARCH request by multicast.
  • step S271 the M-SEARCH request transmitted by the client device 20 is received by the master proxy device 10M via the network 30.
  • step S281 the UPnP / SSDP server 112 generates a device description URL in response to the M-SEARCH request received from the client apparatus 20, and transmits it as an M-SEARCH response to the client apparatus 20 via the network 30. .
  • step S281 the M-SEARCH response transmitted by the master proxy apparatus 10M is received by the client apparatus 20 that transmitted the M-SEARCH request.
  • step S272 the application 211 requests the device description from the UPnP / SSDP server 112 based on the M-SEARCH response (the device description URL) received from the master proxy apparatus 10M.
  • step S272 the device description request transmitted by the client apparatus 20 is received by the master proxy apparatus 10M via the network 30.
  • step S282 the UPnP / SSDP server 112 (local web server 114) generates a device description in response to the device description request received from the client device 20, and sends it to the client device 20 via the network 30 as a response. Send.
  • serviceType element “urn: atsc: proxy” is described as the service type, which means that it is a proxy service of the ATSC 3.0 service.
  • serviceId element “urn: UPnP: serviceId: 1234” is described as the service ID and represents the service ID of the proxy service.
  • step S282 the device description response transmitted by the master proxy apparatus 10M is received by the client apparatus 20 that transmitted the device description request.
  • step S273 the application 211 sets the proxy standby address / port to the proxy application manager 113 based on the device description response (the proxy standby address / port acquisition Web API URL) received from the master proxy device 10M. Request.
  • FIG. 19 is a diagram showing an example of a proxy standby address / port request.
  • the target proxy standby address / port that is "getATSC3.0ProxyAddressPort" is described as the target resource of the GET method.
  • “192.168.1.1:23456” is described as the host name.
  • the target of the GET method is “getATSC3.0ProxyAddressPort” according to the contents described in the device description response (the contents of the controlURL element).
  • the IP address of the master proxy apparatus 10M that is “192.168.1.1” and the port number of the proxy application manager 113 that is “23456” are described.
  • the proxy standby address / port request transmitted by the client apparatus 20 is received by the master proxy apparatus 10M via the network 30 in the process of step S273.
  • step S291 the proxy application manager 113 generates a proxy standby address / port in response to the proxy standby address / port request received from the client device 20, and transmits it as a response to the client device 20 via the network 30.
  • FIG. 20 is a diagram showing an example of the proxy standby address / port response.
  • the body part of the response includes “192.168.1.1” that is the IP address assigned to the master proxy device 10M and “34567” that is the port number assigned to the master proxy 111. "Is described.
  • the proxy application manager 113 receives a request to the Web API (proxy standby address / port request), but the master proxy 111 main body receives the request and performs processing. You may make it do.
  • step S291 the proxy standby address / port response transmitted by the master proxy apparatus 10M is received by the client apparatus 20 that has transmitted the proxy standby address / port request.
  • step S274 the application 211 updates the proxy automatic configuration script and starts (restarts) the browser 212 based on the proxy standby address / port response (its IP address and port number) received from the master proxy apparatus 10M. Reflect the configuration change by.
  • the application 211 In the client device 20, the application 211 generates a proxy automatic configuration script file based on the IP address and port number (ATSC3.0ProxyAddressPort (192.168.1.1:34567)) obtained as the proxy standby address / port from the proxy standby address / port response. rewrite.
  • IP address and port number ATSC3.0ProxyAddressPort (192.168.1.1:34567)
  • the proxy automatic configuration script file is rewritten by the proxy standby address / port by the application 211, and the browser 212 is activated (reactivated). Then, setting (automatic setting) of the IP address and port number of the master proxy 111 is performed by the proxy automatic configuration script file referred to by the browser 212.
  • the browser 212 can access the master proxy 111 operating in the master proxy device 10M via the network 30.
  • FIG. 21 is a diagram illustrating an example of assignment of a mechanical service area.
  • broadcast stream 1 In broadcast stream 1 (BS-1), streams 1 to 4 are transmitted.
  • broadcast stream 2 In the broadcast stream 2 (BS-2), streams of services 5 to 7 are transmitted.
  • broadcast stream 3 In the broadcast stream 3 (BS-3), streams of services 8 to 10 are transmitted.
  • the streams of services 11 to 14 are transmitted. Further, in the broadcast stream 5 (BS-5), the streams of services 15 to 19 are transmitted.
  • the master proxy 111 operating in the master proxy apparatus 10M determines the service responsibility range of the master proxy 111 and the slave proxies 161-1 and 161-2 according to a predetermined policy. decide.
  • a service charge range is mechanically assigned to the master proxy 111 and the slave proxies 161-1 and 161-2 in units of broadcast streams (for example, a unit of a frequency band of 6 MHz).
  • services 1 to 4 of the broadcast stream 1 (BS-1) are assigned to the service charge range of the master proxy 111. Also, services 5 to 7 of the broadcast stream 2 (BS-2) and services 8 to 10 of the broadcast stream 3 (BS-3) are assigned to the service charge range of the slave proxy 161-1.
  • services 11 to 14 of the broadcast stream 4 (BS-4) and services 15 to 19 of the broadcast stream 5 (BS-5) are assigned to the service charge range of the slave proxy 161-2.
  • the unit for assigning the service charge range mechanically is not limited to the broadcast stream unit, for example, a service unit. Other units may be used.
  • the service charge range is mechanically determined in a predetermined unit such as a broadcast stream unit or a service unit with respect to the master proxy 111 and the slave proxy 161. Can be used.
  • FIG. 22 is a diagram showing an example of assignment of a responsible range according to the access frequency of a service.
  • the master proxy 111 operating in the master proxy apparatus 10M determines the service responsibility range of the master proxy 111 and the slave proxies 161-1 and 161-2 according to a predetermined policy. decide.
  • a service charge range is assigned to the master proxy 111 and slave proxies 161-1 and 161-2 in consideration of the viewing history of the end user's content.
  • FIG. 22 shows a graph showing the access frequency for each service (squares with hatching in the figure). This indicates that the service is frequent. For example, in the broadcast stream 1 (BS-1), the access frequency of the services 1 and 3 is high and the access frequency of the service 4 is low. Further, the access frequency of the service 2 is an intermediate frequency between those services.
  • BS-1 broadcast stream 1
  • the access frequency of the services 1 and 3 is high and the access frequency of the service 4 is low.
  • the access frequency of the service 2 is an intermediate frequency between those services.
  • services 1 to 4 of the broadcast stream 1 (BS-1) and services 5 of the broadcast stream 2 (BS-2) 5 6 is assigned to the service charge range of the master proxy 111.
  • service 7 of broadcast stream 2 (BS-2), services 8 and 10 of broadcast stream 3 (BS-3), services 11 and 12 of broadcast stream 4 (BS-4), and broadcast stream 5 (BS The service 15 of -5) is assigned to the service charge range of the slave proxy 161-1.
  • the service 9 of the broadcast stream 3 (BS-3), the services 13 and 14 of the broadcast stream 4 (BS-4), and the services 16 to 19 of the broadcast stream 5 (BS-5) are slave slaves 161-2. Assigned to the service area.
  • services with high access frequency such as services 1 and 3 of broadcast stream 1, service 6 of broadcast stream 2, services 11 and 12 of broadcast stream 4, and services 15, 17 and 19 of broadcast stream 5 are provided.
  • the master proxy 111 and the slave proxies 161-1 and 161-2 are allocated almost equally, and the load is distributed according to the access frequency of the service.
  • the service charge so that a service with high access frequency is preferentially load-balanced with respect to the master proxy 111 and the slave proxy 161. Rules that assign ranges can be used.
  • FIG. 23 is a diagram illustrating an example of assignment of a responsible range for each broadcast stream (BS) according to the access frequency of the service.
  • the master proxy 111 operating in the master proxy apparatus 10M determines the service responsibility range of the master proxy 111 and the slave proxies 161-1 and 161-2 according to a predetermined policy. decide.
  • a service charge range is assigned to the master proxy 111 and slave proxies 161-1 and 161-2 in consideration of the viewing history of the end user's content.
  • FIG. 23 a graph (a hatched square in the figure) representing the access frequency (total of service access frequencies) for each broadcast stream (BS) is shown.
  • a broadcast stream having a wider direction width indicates a broadcast stream having a higher access frequency.
  • the broadcast stream 5 has the highest access frequency among the broadcast streams 1 (BS-1) to 5 (BS-5), and the access frequency decreases in the order of the broadcast streams 1, 4, 2, and 3.
  • services 1 to 4 of the broadcast stream 1 (BS-1) and services 11 to 14 of the broadcast stream 4 (BS-4) are assigned to the service charge range of the slave proxy 161-1.
  • the services 15 to 19 of the broadcast stream 5 (BS-5) are assigned to the service charge range of the slave proxy 161-2.
  • the broadcast stream 5 having the highest access frequency is assigned to the slave proxy 161-2, and the remaining broadcast streams 1 to 4 are almost equally distributed to the master proxy 111 and the slave proxy 161-1. Allocation is performed and load distribution is performed according to the access frequency of the broadcast stream.
  • a service is performed so that a broadcast stream having a high access frequency is preferentially load-balanced with respect to the master proxy 111 and the slave proxy 161. Rules can be used to assign areas of responsibility.
  • the stream data of the service group transmitted in the broadcast stream having the same broadcast stream ID can be processed (acquired) at the same time, by performing load distribution according to the access frequency of the broadcast stream, the stream is distributed. Services that can simultaneously acquire these data will be aggregated. Then, a group of services that can simultaneously acquire stream data can be collected, for example, to speed up channel zapping.
  • the broadcast stream 5 with a high access frequency is assigned to the slave proxy 161-1 and the slave proxy 161-2 (the two FW proxy devices 10), and the remaining broadcast streams 1 to 4 are Assigned to the master proxy 111.
  • the access frequency of a specific broadcast stream is extremely high, appropriate load distribution is performed.
  • policies for determining the service charge range has been described above. However, these policies are only examples, and other policies may be used as long as the service charge range capable of optimal load distribution can be assigned. A policy may be used.
  • the end user can set which of these policies is used. For example, by causing the policy setting screen to be presented to the FW proxy device 10 or the client device 20, the end user operates the setting screen (user interface (UI: User Interface)), A desired policy can be set.
  • the policy setting is not limited to an end user operation, and for example, past data may be stored and set using a method such as machine learning.
  • each FW proxy device 10 when each FW proxy device 10 exists in a close position, the service scan result for each FW proxy device 10 is likely to be the same, but depending on the operation, each FW proxy device 10 may be located at a remote position. In such a case, the service scan result for each FW proxy device 10 may not be the same, and such a positional relationship may be taken into consideration.
  • a slave proxy device 10S or a dedicated server may be installed and managed.
  • the master proxy 111 acquires viewing history information from another server connected to the network 30 when the service charge range is determined.
  • the service charge range is also assigned to the master proxy 111.
  • the service charge range assignment process, the request redirection process, and the like are performed without assigning the service charge range to the master proxy 111. Only processing may be performed.
  • the master proxy apparatus 10M in which the master proxy 111 operates does not need to receive a content stream, and therefore, a dedicated server or the like that does not have a tuner can be used.
  • FIG. 25 is a diagram illustrating an example of a topology when the network 30 is a home LAN or the like.
  • a master proxy device 10M, a slave proxy device 10S-1, a slave proxy device 10S-2, a client device 20-1, a client device are connected to a network 30 such as a home LAN in the end user home 2. 20-2 and the client device 20-3 are connected.
  • the master proxy 111 operating in the master proxy apparatus 10M causes the slave proxy 161-1 operating in the slave proxy apparatus 10S-1 and the slave proxy 161-2 operating in the slave proxy apparatus 10S-2 to A service area is assigned.
  • services 1 to 14 are assigned to the master proxy 111 as a service charge range.
  • services 15 to 19 are assigned to the slave proxy 161-1 and services 15 to 19 are assigned to the slave proxy 161-2.
  • the allocation of the service charge range is the same as the allocation according to the access frequency for each broadcast stream shown in FIG.
  • the master proxy 111 refers to the proxy-service charge range database and determines that the master proxy 111 is responsible for the request for the DASH segment of the service 7.
  • the DASH segment file of service 7 distributed via broadcast is processed and transmitted to the client device 20-1.
  • the content distributed by the service 7 is reproduced in the client device 20-1.
  • the request for the DASH segment of the service 15 is transmitted to the master proxy device 10M.
  • the master proxy 111 determines that the slave proxy 161-1 (or the slave proxy 161-2) is in charge of the DASH segment request of the service 15 with reference to the proxy-service charge range database.
  • the master proxy 111 redirects the request for the DASH segment of the service 15 to the slave proxy 161-1.
  • the slave proxy device 10S-1 the DASH segment file of the service 15 distributed via broadcasting is processed and transmitted to the client device 20-2. As a result, the content distributed by the service 15 is reproduced in the client device 20-2.
  • the request for the DASH segment of the service 15 is transmitted to the master proxy device 10M.
  • the master proxy 111 determines that the slave proxy 161-2 (or the slave proxy 161-1) is in charge of the DASH segment request of the service 15 with reference to the proxy-service charge range database.
  • the master proxy 111 redirects the DASH segment request of the service 15 to the slave proxy 161-2.
  • the slave proxy apparatus 10S-2 the DASH segment file of the service 15 distributed via the broadcast is processed and transmitted to the client apparatus 20-3. As a result, the content distributed by the service 15 is reproduced in the client device 20-3.
  • the master proxy device 10M and the slave proxy devices 10S-1 and 10S-2. May be installed in, for example, a cable operator head end or a mobile network base station, to cover a wider area (wide LAN segment).
  • client devices 20-1 to 20- such as a television receiver or a personal computer are used.
  • 3 is installed not in the same end user's home but in each end user's home which has contracted the service of the cable television.
  • client devices 20-1 to 20-3 such as smartphones and tablet computers are used. Is a device that is owned indoors or outdoors by an end user with a mobile service contract.
  • FIG. 26 is a diagram illustrating an example of topology when the network 30 is wireless communication between vehicles.
  • a master proxy device 10M, a slave proxy device 10S-1, and a slave proxy device 10S-2 as in-vehicle devices installed in each vehicle are connected to a network 30 by wireless communication between the vehicles. ing.
  • the network 30 is connected to client devices 20-4 to 20-12 such as smartphones and head-mounted displays possessed by the end user.
  • a master proxy 111 operating in a master proxy device 10M in a certain car makes a slave proxy 161-1 operating in a slave proxy device 10S-1 in another car and a slave proxy in another car.
  • a service charge range is assigned to the slave proxy 161-2 operating on the device 10S-2.
  • services 1 to 4 are assigned to the master proxy 111 as a service charge range.
  • services 5 to 10 are assigned to the slave proxy 161-1, and services 11 to 19 are assigned to the slave proxy 161-2.
  • the request for the DASH segment of the service 1 is transmitted to the master proxy device 10M.
  • the master proxy 111 determines that it (master proxy 111) is in charge of the request for the DASH segment of the service 1 with reference to the proxy-service charge range database.
  • the DASH segment file of service 1 distributed via broadcasting is processed and transmitted to the client device 20-5.
  • the content distributed by the service 1 is reproduced in the client device 20-5.
  • the request for the DASH segment of the service 10 is transmitted to the master proxy device 10M.
  • the master proxy 111 refers to the proxy-service charge range database and determines that the slave proxy 161-1 is responsible for the DASH segment request of the service 10.
  • the master proxy 111 redirects the request for the DASH segment of the service 10 to the slave proxy 161-1.
  • the slave proxy device 10S-1 the DASH segment file of the service 10 distributed via broadcasting is processed and transmitted to the client device 20-8. As a result, the content distributed by the service 10 is reproduced in the client device 20-8.
  • the request for the DASH segment of the service 15 is transmitted to the master proxy device 10M.
  • the master proxy 111 refers to the proxy-service charge range database and determines that the slave proxy 161-2 is responsible for the DASH segment request of the service 15.
  • the master proxy 111 redirects the DASH segment request of the service 15 to the slave proxy 161-2.
  • the slave proxy device 10S-2 the DASH segment file of the service 15 distributed via broadcast is processed and transmitted to the client device 20-11. As a result, the content distributed by the service 15 is reproduced in the client device 20-11.
  • FIG. 27 shows another configuration example of the transmission system.
  • the transmission system 6 in FIG. 27 differs from the transmission system 1 in FIG. 1 in that a communication system communication server 70 is provided on the transmission side in addition to the broadcast system broadcast server 40.
  • the FW proxy apparatus 10 has a communication function (communication I / F (not shown)) connectable to the Internet 80 as well as a reception function for receiving broadcast waves transmitted via the broadcast transmission path 60.
  • the FW proxy device 10 is connected to the communication server 70 via the Internet 80 and can perform communication.
  • the FW proxy device 10 transmits a request from the client device 20 connected to the network 30 to the communication server 70 connected to the Internet 80. Further, the FW proxy device 10 receives the content stream transmitted from the communication server 70 via the Internet 80 and transmits (transfers) the content stream to the client device 20 connected to the network 30.
  • the master proxy device 10M in which the master proxy 111 operates assigns a service responsibility range to each FW proxy device 10. It is as described above.
  • the client device 20 connected to the network 30 passes through the broadcast or communication via the FW proxy device 10 (master proxy device 10M or slave proxy device 10S) in accordance with an end user operation or the like.
  • the content distributed by can be played back.
  • the communication server 70 is a server provided by, for example, a broadcaster such as a broadcasting station or other operators, and is connected to the Internet 80.
  • the communication server 70 processes content files such as programs and CMs and control information in response to a request from the FW proxy device 10, and transmits the resulting data via the Internet 80 (streaming distribution).
  • the broadcast server 40 and the communication server 70 may distribute not only contents such as programs but also applications and the like.
  • the application is distributed via broadcast or communication, and is received by the client device 20 via the FW proxy device 10.
  • the FW proxy device 10 has shown a configuration in which at least a stream of content distributed via broadcasting is processed.
  • the communication server 70 may be provided, and the FW proxy device 10 may process only the content stream distributed via communication.
  • the client device 20 reproduces only the content distributed via communication.
  • ATSC Advanced Television System
  • DVB Digital Video Broadcasting
  • the present invention is not limited to the IP transmission method and is applied to other methods such as an MPEG2-TS (Transport Stream) method. You may do it.
  • Digital broadcasting standards include terrestrial broadcasting, satellite broadcasting using broadcasting satellites (BS: Broadcasting : Satellite) and communication satellites (CS: Communications Satellite), cable TV (CATV: CommonVAntennantTeleVision), etc. It can be applied to standards such as cable broadcasting.
  • BS Broadcasting : Satellite
  • CS Communications Satellite
  • CATV CommonVAntennantTeleVision
  • the DASH player can be used in, for example, an application developed in a markup language such as HTML5 (HyperText Markup Language 5) or a script language such as JavaScript (registered trademark), or in a programming language such as Java (registered trademark). It can be a developed application. Further, this application is not limited to an application executed by a browser, but may be executed as a so-called native application in an operating system (OS: Operating System) environment or the like.
  • OS Operating System
  • the application may not only explicitly display some information but also be operated in a non-display (in the background) (may be started without being recognized by the end user).
  • the content can include any content such as an electronic book, a game, and an advertisement.
  • FIG. 28 is a diagram illustrating a configuration example of the hardware of a computer that executes the above-described series of processing by a program.
  • a CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • An input / output interface 1005 is further connected to the bus 1004.
  • An input unit 1006, an output unit 1007, a recording unit 1008, a communication unit 1009, and a drive 1010 are connected to the input / output interface 1005.
  • the input unit 1006 includes a keyboard, a mouse, a microphone, and the like.
  • the output unit 1007 includes a display, a speaker, and the like.
  • the recording unit 1008 includes a hard disk, a nonvolatile memory, and the like.
  • the communication unit 1009 includes a network interface or the like.
  • the drive 1010 drives a removable recording medium 1011 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.
  • the CPU 1001 loads the program recorded in the ROM 1002 or the recording unit 1008 to the RAM 1003 via the input / output interface 1005 and the bus 1004 and executes the program. A series of processing is performed.
  • the program executed by the computer 1000 can be provided by being recorded on a removable recording medium 1011 as a package medium, for example.
  • the program can be provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting.
  • the program can be installed in the recording unit 1008 via the input / output interface 1005 by attaching the removable recording medium 1011 to the drive 1010.
  • the program can be received by the communication unit 1009 via a wired or wireless transmission medium and installed in the recording unit 1008.
  • the program can be installed in the ROM 1002 or the recording unit 1008 in advance.
  • the processing performed by the computer according to the program does not necessarily have to be performed in chronological order in the order described as the flowchart. That is, the processing performed by the computer according to the program includes processing executed in parallel or individually (for example, parallel processing or object processing).
  • the program may be processed by a single computer (processor) or may be distributedly processed by a plurality of computers.
  • the present technology can take the following configurations.
  • a proxy that receives a stream of content distributed for each of a plurality of services and transmits it to a client device connected to the network.
  • the proxy functions as a master proxy for a slave proxy and is predetermined for each proxy.
  • An information processing apparatus including a processing unit that determines a service charge range according to a policy.
  • the information processing apparatus determines a service charge range so that a stream with high access frequency is preferentially load-balanced.
  • the processing unit determines a service charge range so that a stream with high access frequency is preferentially load-balanced.
  • the processing unit notifies, for each slave proxy, range information indicating a service handled by each slave proxy.
  • the processing unit notifies the slave proxy of the responsible range information when an API (Application Programming Interface) for acquiring the responsible range information is executed by the slave proxy.
  • the processor is Generate a database that associates each proxy with the service area, When a service request is received from the client device, the service request is redirected to the proxy in charge of the service by referring to the database (1) to (10) The information processing apparatus described in 1.
  • the information processing apparatus according to any one of (1) to (11), wherein the policy is set by an end user. (13) In the information processing apparatus in which the master proxy operates and the other information processing apparatus in which the slave proxy operates, preparation for receiving a service corresponding to the own service area when the service service area is determined The information processing apparatus according to any one of (1) to (12). (14) The information processing apparatus according to any one of (1) to (13), wherein a plurality of other information processing apparatuses on which the slave proxy operates are installed on the network. (15) It further comprises a receiver for receiving broadcast waves, The information processing apparatus according to any one of (1) to (14), wherein the processing unit transmits the stream of the content distributed via broadcast to the client apparatus via the network.
  • the information processing apparatus is A proxy that receives a stream of content distributed for each of a plurality of services and transmits it to a client device connected to the network.
  • the proxy functions as a master proxy for a slave proxy and is predetermined for each proxy.
  • An information processing method including a step of determining a service responsibility range according to a policy.
  • the first information processing apparatus includes: A proxy that receives a stream of content distributed for each of a plurality of services and transmits the stream to the client device connected to the network, and functions as the master proxy for the slave proxy, It has a processing unit that determines the scope of service in accordance with a predetermined policy,
  • the second information processing apparatus A proxy that receives a stream of content distributed for each of a plurality of services and transmits the content stream to the client device connected to the network, and functions as the slave proxy for the master proxy, and is determined by the master proxy
  • An information processing system comprising a processing unit that processes a stream of content distributed by a service according to the assigned range.
  • 1,6 transmission system 10-1 to 10-M, 10 FW proxy device, 10M master proxy device, 10S slave proxy device, 20-1 to 20-M, 20 client device, 30 network, 40 broadcast server, 50 transmitting stations, 60 broadcast transmission paths, 70 communication servers, 80 Internet, 100 processing units, 101 tuners, 102 communication I / Fs, 103 storage units, 111 master proxies, 112 UPnP / SSDP servers, 113 proxy application managers, 114 locals Web server, 115 SLS processing system, 150 processing unit, 151 tuner, 152 communication I / F, 153 storage unit, 161 slave proxy, 162 SLS processing system, 200 processing unit, 201 I / F, 202 display unit, 203 a speaker, 211 application, 212 browser 1000 computer, 1001 CPU

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本技術は、プロキシを複数設置する場合に、適切な負荷分散を行うことができるようにする情報処理装置、情報処理方法、及び、情報処理システムに関する。 情報処理装置が、複数のサービスごとに配信されるコンテンツのストリームを受信して、ネットワークに接続されたクライアント装置に送信するプロキシであって、スレーブプロキシに対するマスタプロキシとして機能し、各プロキシに対して、あらかじめ定められたポリシに応じたサービスの担当範囲を決定することで、プロキシを複数設置する場合に、適切な負荷分散を行うことができるようになる。本技術は、例えば、家庭内LANやケーブルオペレータのヘッドエンド、モバイル網の基地局等のネットワークに接続されるFWプロキシ装置に適用することができる。

Description

情報処理装置、情報処理方法、及び、情報処理システム
 本技術は、情報処理装置、情報処理方法、及び、情報処理システムに関し、特に、プロキシを複数設置する場合に、適切な負荷分散を行うことができるようにした情報処理装置、情報処理方法、及び、情報処理システムに関する。
 インターネットを介してコンテンツを配信するサーバと、当該コンテンツを再生するクライアント装置との間に、プロキシサーバ(プロキシ)を設置することで、クライアント装置からの要求に対する応答性能を高める技術が提案されている(例えば、特許文献1参照)。
特開2015-49650号公報
 ところで、クライアント装置が接続されるネットワークに、複数のプロキシが設置される場合に、プロキシごとの負荷を適切に分散させたいという要請があるが、現状では、そのような要請に応えるための技術方式は確立されていない。
 本技術はこのような状況に鑑みてなされたものであり、プロキシを複数設置する場合に、適切な負荷分散を行うことができるようにするものである。
 本技術の第1の側面の情報処理装置は、複数のサービスごとに配信されるコンテンツのストリームを受信して、ネットワークに接続されたクライアント装置に送信するプロキシであって、スレーブプロキシに対するマスタプロキシとして機能し、各プロキシに対して、あらかじめ定められたポリシに応じたサービスの担当範囲を決定する処理部を備える情報処理装置である。
 本技術の第1の側面の情報処理装置は、独立した装置であってもよいし、1つの装置を構成している内部ブロックであってもよい。また、本技術の第1の側面の情報処理方法は、上述した本技術の第1の側面の情報処理装置に対応する情報処理方法である。
 本技術の第1の側面の情報処理装置、及び、情報処理方法においては、複数のサービスごとに配信されるコンテンツのストリームを受信して、ネットワークに接続されたクライアント装置に送信するプロキシであって、スレーブプロキシに対するマスタプロキシとして機能し、各プロキシに対して、あらかじめ定められたポリシに応じたサービスの担当範囲が決定される。
 本技術の第2の側面の情報処理システムは、マスタプロキシが稼働する第1の情報処理装置と、スレーブプロキシが稼働する1又は複数の第2の情報処理装置と、1又は複数のクライアント装置とが、ネットワークを介して接続された情報処理システムにおいて、前記第1の情報処理装置は、複数のサービスごとに配信されるコンテンツのストリームを受信して、前記ネットワークに接続された前記クライアント装置に送信するプロキシであって、前記スレーブプロキシに対する前記マスタプロキシとして機能し、各プロキシに対して、あらかじめ定められたポリシに応じたサービスの担当範囲を決定する処理部を備え、前記第2の情報処理装置は、複数のサービスごとに配信されるコンテンツのストリームを受信して、前記ネットワークに接続された前記クライアント装置に送信するプロキシであって、前記マスタプロキシに対する前記スレーブプロキシとして機能し、前記マスタプロキシにより決定された担当範囲に応じたサービスにより配信されるコンテンツのストリームを処理する処理部を備える情報処理システムである。
 本技術の第2の側面の情報処理システムにおいては、マスタプロキシが稼働する第1の情報処理装置と、スレーブプロキシが稼働する1又は複数の第2の情報処理装置と、1又は複数のクライアント装置とが、ネットワークを介して接続された情報処理システムにおいて、前記第1の情報処理装置によって、複数のサービスごとに配信されるコンテンツのストリームを受信して、前記ネットワークに接続された前記クライアント装置に送信するプロキシであって、前記スレーブプロキシに対する前記マスタプロキシとして機能し、各プロキシに対して、あらかじめ定められたポリシに応じたサービスの担当範囲が決定され、複数のサービスごとに配信されるコンテンツのストリームを受信して、前記ネットワークに接続された前記クライアント装置に送信するプロキシであって、前記マスタプロキシに対する前記スレーブプロキシとして機能し、前記マスタプロキシにより決定された担当範囲に応じたサービスにより配信されるコンテンツのストリームが処理される。
 本技術の第1の側面、及び、第2の側面によれば、プロキシを複数設置する場合に、適切な負荷分散を行うことができる。
 なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
本技術を適用した伝送システムの一実施の形態の構成を示す図である。 マスタ・プロキシ装置の構成例を示す図である。 スレーブ・プロキシ装置の構成例を示す図である。 クライアント装置の構成例を示す図である。 本技術のIP伝送方式のプロトコルスタックの例を示す図である。 本技術の概要を説明するフローチャートである。 プロキシのサービス担当範囲の割り当てと、セグメントリクエストのリダイレクションの一連の処理の流れを説明するフローチャートである。 プロキシのサービス担当範囲の割り当てと、セグメントリクエストのリダイレクションの一連の処理の流れを説明するフローチャートである。 スレーブプロキシからの存在確認に応じたマスタプロキシによる設定管理APIの通知の詳細を説明するフローチャートである。 デバイスディスクリプションレスポンスの例を示す図である。 サービス担当範囲リクエストの例を示す図である。 サービス担当範囲レスポンスの例を示す図である。 マスタプロキシによるサービス担当範囲の割り当ての例を示す図である。 さらに新たなスレーブプロキシが追加された場合におけるサービス担当範囲の割り当て処理の流れを説明するフローチャートである。 マスタプロキシによるサービス担当範囲の割り当ての例を示す図である。 マスタプロキシによる既存のスレーブプロキシに対する設定管理APIの再通知の詳細を説明する。 NOTIFYメッセージの例を示す図である。 マスタプロキシ設定処理の流れを説明するフローチャートである。 プロキシ待ち受けアドレス/ポートリクエストの例を示す図である。 プロキシ待ち受けアドレス/ポートレスポンスの例を示す図である。 機械的なサービス担当範囲の割り当ての例を示す図である。 サービスのアクセス頻度に応じた担当範囲の割り当ての例を示す図である。 サービスのアクセス頻度に応じたBSごとの担当範囲の割り当ての例を示す図である。 サービスのアクセス頻度に応じたBSごとの担当範囲の割り当ての例を示す図である。 ネットワークが、家庭内LAN等の場合におけるトポロジの例を示す図である。 ネットワークが、車両間の無線通信の場合におけるトポロジの例を示す図である。 伝送システムの他の構成例を示す図である。 コンピュータの構成例を示す図である。
 以下、図面を参照しながら本技術の実施の形態について説明する。なお、説明は以下の順序で行うものとする。
1.システムの構成
2.本技術の概要
3.マスタプロキシとスレーブプロキシの関係によるFWプロキシ装置の負荷分散
(1)新規のスレーブ・プロキシ装置が追加される場合の例
(2)新規のスレーブ・プロキシ装置がさらに追加される場合の例
(3)クライアント装置によるマスタプロキシの発見・接続の例
4.マスタプロキシとスレーブプロキシの実装例
(1)機械的なサービス担当範囲の割り当ての例
(2)サービスのアクセス頻度に応じた担当範囲の割り当ての例
(3)サービスのアクセス頻度に応じたBSごとの担当範囲の割り当ての例
(4)マスタプロキシとスレーブプロキシのトポロジの例
5.変形例
6.コンピュータの構成
<1.システムの構成>
(伝送システムの構成例)
 図1は、本技術を適用した伝送システムの一実施の形態の構成を示す図である。なお、システムとは、複数の装置が論理的に集合したものをいう。
 図1において、伝送システム1は、FWプロキシ装置10-1乃至10-N(N:1以上の整数)、クライアント装置20-1乃至20-M(M:1以上の整数)、及び放送サーバ40を含んで構成される。
 伝送システム1において、FWプロキシ装置10-1乃至10-Nと、クライアント装置20-1乃至20-Mとは、エンドユーザ宅2に構築された家庭内LAN(Local Area Network)等のネットワーク30を介して、相互に接続され、通信を行うことが可能である。
 FWプロキシ装置10-1は、ネットワーク30に接続されたデバイスと、放送サーバ40や送信所50などからなる放送伝送路60との間に設置され、フォワードプロキシ(Forward Proxy)としての機能(ゲートウェイ機能)を有している。FWプロキシ装置10-1は、フォワードプロキシ機能を提供するための専用のサーバや、テレビ受像機やセットトップボックス(STB:Set Top Box)、ネットワークストレージなどから構成される。
 FWプロキシ装置10-1は、送信所50を介して、放送サーバ40から送信されてくる放送波を受信し、放送波から得られるコンテンツのストリームを、ネットワーク30に接続されたクライアント装置20-1乃至20-Mのいずれかに送信(転送)する。
 FWプロキシ装置10-2乃至10-Nは、FWプロキシ装置10-1と同様に、専用のサーバやテレビ受像機などから構成され、フォワードプロキシとしての機能を有している。FWプロキシ装置10-2乃至10-Nは、放送サーバ40からの放送波から得られるコンテンツのストリームを、ネットワーク30に接続されたクライアント装置20-1乃至20-Mのいずれかに送信(転送)する。
 ここで、詳細は後述するが、ネットワーク30に接続されるFWプロキシ装置10-1乃至10-Nにおいては、いずれかのFWプロキシ装置10が、マスタプロキシとして機能し、それ以外のFWプロキシ装置10が、スレーブプロキシとして機能するマスタ・スレーブ関係を有している。そして、FWプロキシ装置10-1乃至10-Nが、マスタ・スレーブ関係を有することで、マスタプロキシが稼働するFWプロキシ装置10によって、各FWプロキシ装置10に対し、サービスの担当範囲が割り当てられる。
 なお、FWプロキシ装置10-1乃至10-Nを、特に区別する必要がない場合、単に、FWプロキシ装置10と称するものとする。
 また、以下の説明では、マスタプロキシとしての機能を有するFWプロキシ装置10を、マスタ・プロキシ装置10Mと称する一方で、スレーブプロキシとしての機能を有するFWプロキシ装置10を、スレーブ・プロキシ装置10Sと称して区別する。
 なお、マスタ・プロキシ装置10Mの詳細な構成は、図2を参照して後述する。また、スレーブ・プロキシ装置10Sの詳細な構成は、図3を参照して後述する。また、以下の説明では、マスタ・プロキシ装置10Mとスレーブ・プロキシ装置10Sを、特に区別する必要がない場合には、FWプロキシ装置10と称するものとする。つまり、FWプロキシ装置10は、マスタ・プロキシ装置10M又はスレーブ・プロキシ装置10Sのいずれかとなる。
 クライアント装置20-1は、ネットワーク30を介してFWプロキシ装置10-1乃至10-Nのいずれから送信(転送)されてくるコンテンツのストリームを受信して再生する受信機である。すなわち、クライアント装置20-1は、エンドユーザの操作などに応じて、FWプロキシ装置10-1乃至10-Nのいずれかを介して、放送経由で配信されるコンテンツを再生することができる。
 クライアント装置20-1は、テレビ受像機やセットトップボックス、パーソナルコンピュータなどの固定受信機、あるいは、スマートフォンや携帯電話機、タブレット型コンピュータなどのモバイル受信機として構成される。さらに、クライアント装置20-1は、ヘッドマウントディスプレイ(HMD:Head Mounted Display)などのウェアラブルコンピュータであってもよい。
 クライアント装置20-2乃至20-Mは、クライアント装置20-1と同様に、家庭内で使用される固定受信機又はモバイル受信機などから構成され、FWプロキシ装置10-1乃至10-Nのいずれかを介して、放送経由で配信されるコンテンツのストリームを受信して再生する。
 なお、以下の説明では、クライアント装置20-1乃至20-Mを、特に区別する必要がない場合、単に、クライアント装置20と称するものとする。また、クライアント装置20の詳細な構成は、図4を参照して後述する。
 放送サーバ40は、例えば、放送局などの放送事業者により提供されるサーバであって、送信所50に設置される送出設備と、専用線などの所定の回線を介して接続される。
 放送サーバ40は、番組やCM等のコンテンツのファイル(データ)や制御情報(シグナリング)を処理し、その結果得られるデータを、専用線を介して送信所50内の送出設備に送信する。そして、送信所50内の送出設備は、放送サーバ40からのデータに対し、必要な処理(変調処理等)を施すことで、その結果得られる放送波が、放送伝送路60を介して、エンドユーザ宅2内のFWプロキシ装置10により受信される。
 なお、図1の伝送システムでは、FWプロキシ装置10とクライアント装置20が、エンドユーザ宅2内に配置される場合を説明したが、FWプロキシ装置10は、エンドユーザ宅2内に限らず、例えば、ケーブルオペレータのヘッドエンドや、モバイル網の基地局などに設置されるようにして、より広範囲は領域をカバーできるようにしてもよい。
 すなわち、例えば、FWプロキシ装置10が、ケーブルオペレータのヘッドエンドに設置される場合、クライアント装置20は、同一のエンドユーザ宅内ではなく、ケーブルテレビのサービスを契約している各エンドユーザ宅内に設置されることになる。また、例えば、FWプロキシ装置10が、モバイル網の基地局に設置される場合、クライアント装置20は、モバイルサービスを契約しているエンドユーザが、屋内又は屋外で所持しているデバイスとなる。
 また、FWプロキシ装置10やクライアント装置20は、自動車等の車両に搭載される車載機器であってもよい。さらに、図1の伝送システム1において、ネットワーク30に接続されるデバイスやサーバの間で行われる通信は、無線通信及び有線通信は勿論、無線通信と有線通信とが混在した通信、すなわち、ある区間では無線通信が行われ、他の区間では有線通信が行われるようなものであってもよい。
(マスタ・プロキシ装置の構成)
 図2は、図1のFWプロキシ装置10のうち、マスタ・プロキシ装置10Mの構成例を示す図である。
 図2において、マスタ・プロキシ装置10Mは、処理部100、チューナ101、通信I/F102、及び記憶部103から構成される。
 処理部100は、例えば、CPU(Central Processing Unit)やマイクロプロセッサ等から構成される。処理部100は、各種の演算処理や、各部の動作制御などの処理を行う。
 チューナ101は、アンテナを介して受信された放送波に対し、必要な処理(復調処理等)を施し、その結果得られる多重化ストリームを、処理部100に供給する。処理部100は、チューナ101から供給される多重化ストリームを処理し、その結果得られるコンテンツのストリームを、通信I/F102に供給する。
 通信I/F102は、例えば、通信インターフェース回路等から構成される。通信I/F102は、ネットワーク30に接続されたクライアント装置20から送信されてくるデータを受信し、処理部100に供給する。また、通信I/F102は、処理部100から供給されるコンテンツのストリームを、ネットワーク30を介して、クライアント装置20に送信する。
 記憶部103は、例えば、半導体メモリやハードディスクドライブ(HDD:Hard Disk Drive)等から構成される。記憶部103は、処理部100からの制御に従い、各種のデータを記憶する。
 処理部100は、マスタプロキシ111、UPnP/SSDPサーバ112、プロキシアプリマネージャ113、ローカルウェブサーバ114、及びSLS処理系115を含む。
 マスタプロキシ111は、マスタ・プロキシ装置10Mで稼働するサービスであって、スレーブ・プロキシ装置10Sで稼働するスレーブプロキシに対するマスタプロキシとして機能する。
 マスタプロキシ111は、自身(マスタプロキシ)やスレーブプロキシに対し、サービスの担当範囲を割り当てる処理を行う。マスタプロキシ111は、自身が割り当てたサービスの担当範囲に従い、担当範囲のサービスに関する処理を行う。
 また、マスタプロキシ111は、クライアント装置20からのリクエストを、対象のサービスを担当するスレーブプロキシに通知する。なお、マスタプロキシ111により行われる処理の詳細は、図7及び図8などを参照して後述する。
 UPnP/SSDPサーバ112、プロキシアプリマネージャ113、及びローカルウェブサーバ114は、マスタ・プロキシ装置10Mで稼働するサービスである。
 UPnP/SSDPサーバ112、プロキシアプリマネージャ113、及びローカルウェブサーバ114は、マスタプロキシ111と、ネットワーク30に接続されるスレーブ・プロキシ装置10Sで稼働するスレーブプロキシとの間のマスタ・スレーブ関係を確立するための処理を行う。この処理の詳細は、図9及び図16などを参照して後述する。
 また、UPnP/SSDPサーバ112、プロキシアプリマネージャ113、及びローカルウェブサーバ114は、マスタプロキシ111と、ネットワーク30に接続されるクライアント装置20との接続を確立するための処理を行う。この処理の詳細は、図18などを参照して後述する。
 SLS処理系115は、放送経由で取得される制御情報であるSLS(Service Layer Signaling)に関する処理を行う。SLS処理系115によりSLSが処理されることで、多重化ストリームから、所望のコンテンツのストリーム(担当範囲のサービスで配信されるコンテンツのストリーム)が得られる。なお、SLSの詳細は、図5を参照して後述する。
 マスタ・プロキシ装置10Mは、以上のように構成される。
(スレーブ・プロキシ装置の構成)
 図3は、図1のFWプロキシ装置10のうち、スレーブ・プロキシ装置10Sの構成例を示す図である。
 図3において、スレーブ・プロキシ装置10Sは、処理部150、チューナ151、通信I/F152、及び記憶部153から構成される。なお、チューナ151乃至記憶部153は、図2のチューナ101乃至記憶部103と同様に構成されるため、ここではその説明は省略する。
 処理部150は、例えば、CPUやマイクロプロセッサ等から構成される。処理部150は、各種の演算処理や、各部の動作制御などの処理を行う。
 処理部150は、スレーブプロキシ161及びSLS処理系162を含む。
 スレーブプロキシ161は、スレーブ・プロキシ装置10Sで稼働するサービスであって、マスタ・プロキシ装置10Mで稼働するマスタプロキシ111に対するスレーブプロキシとして機能する。
 スレーブプロキシ161は、マスタプロキシ111により割り当てられたサービスの担当範囲に従い、担当範囲のサービスに関する処理を行う。なお、スレーブプロキシ161により行われる処理の詳細は、図7及び図8などを参照して後述する。
 SLS処理系162は、放送経由で取得される制御情報であるSLSに関する処理を行う。SLS処理系162によりSLSが処理されることで、多重化ストリームから、所望のコンテンツのストリーム(担当範囲のサービスで配信されるコンテンツのストリーム)が得られる。なお、SLSの詳細は、図5を参照して後述する。
 スレーブ・プロキシ装置10Sは、以上のように構成される。
(クライアント装置の構成)
 図4は、図1のクライアント装置20の構成例を示す図である。
 図4において、クライアント装置20は、処理部200、通信I/F201、表示部202、及びスピーカ203から構成される。
 処理部200は、例えば、CPUやマイクロプロセッサ等から構成される。処理部200は、各種の演算処理や、各部の動作制御などの処理を行う。
 通信I/F201は、例えば、通信インターフェース回路等から構成される。
 通信I/F201は、処理部200からの制御に従い、ネットワーク30に接続されたマスタ・プロキシ装置10Mに対し、所望のサービスで配信されるコンテンツを要求する。また、通信I/F201は、ネットワーク30を介して、マスタ・プロキシ装置10M又はスレーブ・プロキシ装置10Sから送信(転送)されてくるコンテンツのストリームを受信し、処理部200に供給する。
 処理部200は、通信I/F201から供給されるコンテンツのストリームを処理し、その結果得られるデータのうち、ビデオデータを、表示部202に供給し、オーディオデータを、スピーカ203に供給する。
 表示部202は、例えば、LCD(Liquid Crystal Display)やOELD(Organic Electroluminescence Display)等のディスプレイから構成される。表示部202は、処理部200から供給されるビデオデータに対応する映像を表示する。スピーカ203は、処理部200から供給されるオーディオデータに対応する音声を出力する。
 なお、表示部202が、タッチパネルの機能を有している場合には、当該タッチパネルに対するエンドユーザの操作に応じた操作信号が処理部200に供給され、処理部200は、当該操作信号に応じた処理を行う。また、図4には図示していないが、物理的なボタン等の入力部を設けて、当該入力部に対するエンドユーザの操作に応じた操作信号が、処理部200に供給されるようにしてもよい。
 処理部200は、アプリケーション211及びブラウザ212を含む。アプリケーション211及びブラウザ212により、レンダラ機能が提供される。
 アプリケーション211は、ネットワーク30に接続されるクライアント装置20が、マスタ・プロキシ装置10Mで稼働するマスタプロキシ111との接続を確立するための処理を行う。なお、アプリケーション211で行われる処理の詳細は、図18などを参照して後述する。
 ブラウザ212は、通信I/F201から供給されるコンテンツのストリームであって、マスタ・プロキシ装置10M又はスレーブ・プロキシ装置10Sにより放送経由で受信されたデータを処理し、コンテンツを再生する。
 なお、ブラウザ212は、DASHプレーヤとしての機能を有するが、その詳細は、図5を参照して後述する。また、ブラウザ212で行われる処理の詳細は、図8や図18などを参照して後述する。
 クライアント装置20は、以上のように構成される。
(本技術のプロトコルスタック)
 図5は、本技術のIP伝送方式のプロトコルスタックの例を示す図である。
 デジタル放送の伝送方式として、現状では、MPEG2-TS(Transport Stream)方式が広く普及しているが、今後は、通信の分野で用いられているIP(Internet Protocol)パケットをデジタル放送に用いたIP伝送方式が普及することが想定されている。
 例えば、次世代地上波放送規格の1つであるATSC(Advanced Television Systems Committee)3.0においても、IP伝送方式を採用して、より高度なサービスを提供できるようにすることが期待されている。本技術においても、ATSC3.0等と同様に、IP伝送方式を採用することができる。
 図5において、最も下位の階層は、物理層(Physical Layer)とされる。ATSC3.0等のIP伝送方式のデジタル放送では、一方向の放送を利用した伝送に限らず、一部のデータを、双方向の通信を利用して伝送する場合があるが、放送(Broadcast)を利用する場合、その物理層は、サービス(チャネル)のために割り当てられた放送波の周波数帯域等が対応することになる。
 物理層(Physical Layer)の上位の階層は、データリンク層(Data Link Layer)とされる。また、データリンク層の上位の階層は、IP(Internet Protocol)層とUDP(User Datagram Protocol)層とされる。IP層とUDP層は、通信の階層モデルにおけるネットワーク層とトランスポート層に相当する層であり、IPアドレスとポート番号により、IPパケットとUDPパケットが特定される。
 ここで、ATSC3.0では、制御情報(シグナリング)として、LLS(Low Level Signaling)とSLS(Service Layer Signaling)を用いることが想定されている。LLSは、SLSよりも下位の層で伝送される制御情報である。SLSは、サービス単位の制御情報である。すなわち、ATSC3.0では、トランスポート層の制御情報が、LLSとSLSの2階層で伝送される。
 LLSには、SLT(Service List Table)等のメタデータが含まれる。SLTメタデータは、サービス(チャネル)の選局に必要な情報など、放送ネットワークにおけるストリームやサービスの構成を示す基本情報を含む。このSLTメタデータは、UDPパケットを含むIPパケットであるUDP/IPパケットに含めて伝送される。ただし、SLTメタデータを格納したUDP/IPパケットは、特別なIPアドレスとポート番号で伝送されることになる。
 IP層とUDP層に隣接する上位の階層は、ROUTE(Real-time Object Delivery over Unidirectional Transport)とされる。ROUTEは、ストリーミングファイル転送用のプロトコルであって、FLUTE(File Delivery over Unidirectional Transport)を拡張したものである。
 このROUTEセッションにより、サービスごとに、SLSのファイル(Signaling)や、NRT(Non Real Time)コンテンツのファイル(NRT)、DASHセグメントファイル(DASH)などが伝送される。
 ここで、SLSは、サービスレベルの制御情報であり、対象のサービスに属するコンポーネントの探索と選択に必要な情報や属性などを提供するものである。SLSは、USBD(User Service Bundle Description),S-TSID(Service-based Transport Session Instance Description),MPD(Media Presentation Description)等のメタデータを含む。
 USBDメタデータは、他のメタデータの取得先などの情報を含む。
 S-TSIDメタデータは、LSID(LCT Session Instance Description)をATSC3.0向けに拡張したものであって、ROUTEプロトコルの制御情報である。また、S-TSIDメタデータは、ROUTEセッションで伝送されるEFDT(Extended FDT)を特定することができる。EFDTは、FLUTEで導入されていたFDT(File Delivery Table)を拡張したものであって、転送用の制御情報である。
 MPDメタデータは、MPEG-DASHに準拠したストリーミング配信を行うために用いられる、ビデオやオーディオのファイルの制御情報である。
 ここで、MPEG-DASHは、OTT-V(Over The Top Video)に従ったストリーミング配信規格であって、HTTP(Hypertext Transfer Protocol)をベースとしたストリーミングプロトコルを用いたアダプティブストリーミング配信に関する規格である。
 このMPEG-DASHの規格では、ビデオやオーディオのファイルの制御情報であるメタデータを記述するためのマニフェストファイルと、動画のコンテンツを伝送するためのファイルフォーマットが規定されている。ここでは、前者のマニフェストファイルが、MPD(Media Presentation Description)と称され、後者のファイルフォーマットは、セグメントフォーマットとも称される。
 また、トランスポート・プロトコルとして、ROUTEを用いる場合には、ストリーミングのファイルフォーマットとして、MP4ファイルフォーマットを用いることができる。MP4ファイルフォーマットは、ISO/IEC 14496-12で規定されているISO BMFF(ISO Base Media File Format)の派生フォーマットである。
 ROUTEセッションで伝送されるセグメントは、イニシャライゼイションセグメント(IS:Initialization Segment)と、メディアセグメント(MS:Media Segment)から構成される。イニシャライゼイションセグメントは、データ圧縮方式等の初期化情報を含んでいる。また、メディアセグメントは、ビデオやオーディオ、字幕のストリームのデータを格納している。すなわち、このメディアセグメントが、DASHセグメント(DASHセグメントファイル)に相当するものである。
 このように、番組等のコンテンツを構成するサービスコンポーネント(ビデオやオーディオ、字幕等)のストリームデータは、ISO BMFFの規格に準じたDASHセグメント単位で、ROUTEセッションにより伝送されることになる。
 なお、NRTコンテンツは、受信機のストレージに一旦蓄積された後で再生が行われるコンテンツである。また、NRTコンテンツ以外のファイル(例えば、アプリケーションや電子サービスガイド(ESG:Electronic Service Guide)のファイル)がROUTEセッションで伝送されるようにしてもよい。
 また、LLSとしてのSLTメタデータや、SLSとしてのUSBD,S-TSID,MPD等のメタデータは、例えば、XML(Extensible Markup Language)等のマークアップ言語により記述されたテキスト形式のデータとすることができる。
 一方で、双方向の通信(Broadband)を利用する場合、その物理層(Physical Layer)の上位の階層は、データリンク層(Data Link Layer)とされる。また、データリンク層の上位の階層は、ネットワーク層に相当するIP層とされる。IP層に隣接する上位階層は、トランスポート層に相当するTCP(Transmission Control Protocol)層とされ、さらに、TCP層に隣接する上位階層は、アプリケーション層に相当するHTTP層とされる。
 すなわち、これらの階層によって、インターネット等の通信回線で稼働するTCP/IPなどのプロトコルが実装される。
 HTTP層に隣接する上位階層のうち、一部の階層は、制御情報(Signaling)と、NRTコンテンツ(NRT)とされる。この制御情報としては、上述したROUTEセッションで伝送される制御情報など、すべての制御情報が含まれる。また、NRTコンテンツは、通信経由で取得されるコンテンツであって、例えば、アプリケーションが含まれる。
 HTTP層に隣接する上位階層のうち、上述した階層以外の他の階層は、DASHセグメント(DASH)とされる。すなわち、双方向の通信系のストリーミング配信では、VOD(Video On Demand)番組等のコンテンツを構成するサービスコンポーネント(ビデオやオーディオ、字幕等)のストリームデータが、ISO BMFFの規格に準じたDASHセグメント単位で伝送されることになる。
 以上のように、本技術のIP伝送方式のプロトコルスタックにおいては、一方向の放送系の階層と、双方向の通信系の階層の一部が共通のプロトコルとなって、一方向の放送と双方向の通信で、コンテンツを構成するサービスコンポーネントのストリームデータを、ISO BMFFの規格に準じたDASHセグメント単位で伝送することができる。
 そのため、一方向の放送系のストリーミング配信と、双方向の通信系のストリーミング配信の双方を行う場合において、上位の階層のプロトコルが共通化されているため、各装置での実装の負担や処理の負担を軽減することができる。
 なお、図1の伝送システム1では、送信側に、放送系の放送サーバ40が設けられ、一方向の放送系のストリーミング配信のみに対応した構成を示したが、図5のプロトコルスタックに示したように、本技術は、双方向の通信系のストリーミング配信にも対応することができる。このような双方向の通信系のストリーミング配信に対応した構成については、図27を参照して後述するものとする。
<2.本技術の概要>
 ところで、図1に示した伝送システム1のような、ネットワーク30に、複数のFWプロキシ装置10-1乃至10-Nが設置されている環境では、クライアント装置20からのDASHセグメントのリクエストの送付先が、特定のFWプロキシ装置10に固定されてしまうと、それ以外のFWプロキシ装置10(例えば後から追加で設置されたFWプロキシ装置10)が機能しなくなる。
 また、クライアント装置20で実行されるブラウザ212のプロキシ設定を利用することで、各クライアント装置20が接続するFWプロキシ装置10をそれぞれ異なるように手動で設定することも可能ではあるが、管理が煩雑となり、FWプロキシ装置10ごとの負荷が容易に分散されない可能性がある。
 このように、複数のFWプロキシ装置10-1乃至10-Nが設置されている環境において、FWプロキシ装置10ごとの負荷を、適切に分散させたいという要請があるが、現状では、そのような要請に応えるための技術方式は確立されていない。
 そこで、本技術では、複数のFWプロキシ装置10-1乃至10-Nが設置される場合に、FWプロキシ装置10の間に、マスタとスレーブとの関係を持たせて、マスタ・プロキシ装置10Mによって、クライアント装置20からのDASHセグメントのリクエストが、適切にリダイレクションされるようにする。これにより、ネットワーク30において、マスタ・プロキシ装置10M又はスレーブ・プロキシ装置10SのいずれかとなるFWプロキシ装置10ごとの負荷が、適切に分散されることになる。
 このFWプロキシ装置10の間のマスタとスレーブとの関係は、FWプロキシ装置10がネットワーク30に追加される度に、手動で設定してもよいし、あるいはFWプロキシ装置10同士が、例えば各自の能力属性(処理能力やストレージ能力等)等に応じたネゴシエーションを行うことで決定してもよい。
 ここでは、例えば、ネットワーク30に最初に接続したFWプロキシ装置10をマスタ・プロキシ装置10Mとし、その後、FWプロキシ装置10が追加された場合には、FWプロキシ装置10の能力属性に応じて、マスタ・プロキシ装置10Mを決定すればよい。ただし、マスタ・プロキシ装置10Mは固定とし、常に同一のFWプロキシ装置10が、その役割を担うようにしてもよい。また、マスタ・プロキシ装置10Mは、1つに限らず、複数設置するようにしてもよい。複数のマスタ・プロキシ装置10Mを設けることで、各マスタプロキシ111の処理の負荷を分散させることができる。
 マスタとなったFWプロキシ装置10(マスタ・プロキシ装置10M)は、例えば、ユニバーサルプラグアンドプレイ(UPnP:Universal Plug and Play)のSSDP(Simple Service Discovery Protocol)等を利用して、サービス(チャネル)の担当範囲を調整するためのAPI(Application Programming Interface)を公開し、当該APIを通じて、スレーブとなった各FWプロキシ装置10(スレーブ・プロキシ装置10S)に、サービス担当範囲を割り当てる。
 ここでは、マスタ・プロキシ装置10Mによって、サービス担当範囲を割り当てるためのデータベース(以下、プロキシ-サービス担当範囲データベースという)が生成されることで、各FWプロキシ装置10(で稼働するマスタプロキシ111とスレーブプロキシ161)に対し、サービス担当範囲が割り当てられる。
 なお、UPnPは、デバイスを接続するだけで、対象のネットワークに参加することを可能にするプロトコルである。また、SSDPは、UPnPで用いられるプロコトルの1つで、ネットワーク上のデバイスの探索や応答を行うためのものである。
 マスタ・プロキシ装置10Mは、クライアント装置20から、DASHセグメントのリクエストを受けた場合、プロキシ-サービス担当範囲データベースを参照して、担当のFWプロキシ装置10に特定し、当該FWプロキシ装置10にリダイレクションを行う。そして、リダイレクションを受けたFWプロキシ装置10は、割り当てられたサービスの範囲内で、放送経由で配信されるコンテンツのストリームを受信し、ネットワーク30を介してクライアント装置20に送信する。
 なお、マスタ・プロキシ装置10Mは、プロキシ-サービス担当範囲データベースを生成する際に、各種のポリシ(規則)に従い、FWプロキシ装置10に対し、サービス担当範囲が割り当てられるようにする。
 このようなポリシとしては、例えば、複数のFWプロキシ装置10に対し、対象のエリア内で受信可能な全サービスを機械的に割り当てたり、あるいは、エンドユーザの視聴履歴を考慮に入れて、アクセス頻度の高いサービス群が優先的に負荷分散されるように割り当てたりすることができる。さらには、サービス(チャネル)のザッピングの高速化を図るために、同時に受信可能なサービス群をまとめるなど、様々な規則を選択できるようにする。
 なお、サービス群をまとめる単位としては、例えば、ブロードキャストストリームID(BSID: Broadcast Stream ID)単位とすることができる。FWプロキシ装置10において、ブロードキャストストリームIDで指定される周波数帯域(例えば6MHz)で伝送されるデータは一度に取得することができる。このブロードキャストストリームIDについては、例えば、下記の非特許文献1の「Table 6.2 SLT XML Format」などに、その詳細が記述されている。
 非特許文献1:ATSC Candidate Standard:Signaling, Delivery, Synchronization, and Error Protection(A/331) Doc. S33-174r15 January 2016
 また、新しいFWプロキシ装置10がネットワーク30に接続された場合には、当該ネットワーク30に接続されるFWプロキシ装置10のうち、同一のマスタ・プロキシ装置10M(で稼働するマスタプロキシ111)を共有している1又は複数のスレーブ・プロキシ装置10S(で稼働するスレーブプロキシ161)のそれぞれのサービス担当範囲の再設定が行われる。
 ここで、図6には、本技術を適用した場合に行われる、プロキシのサービス担当範囲の割り当てと、セグメントリクエストのリダイレクションの処理の流れの概要を示している。
 すなわち、ネットワーク30において、新規のFWプロキシ装置10が接続され、ネットワーク30に参加してきたとき(S1)、マスタ・プロキシ装置10M(で稼働するマスタプロキシ111)は、ネットワーク30に接続された複数のFWプロキシ装置10で稼働するマスタプロキシ111とスレーブプロキシ161が受け持つサービスの担当範囲を決定する(S2)。
 このとき、マスタ・プロキシ装置10Mでは、各FWプロキシ装置10が担当するサービス範囲に関するデータを格納したプロキシ-サービス担当範囲データベースが生成され、各FWプロキシ装置10に対し、サービス担当範囲が通知される。これにより、各FWプロキシ装置10においては、マスタ・プロキシ装置10Mからのサービス担当範囲に従い、サービスチューニングの準備が行われる。
 その後、ネットワーク30において、クライアント装置20が接続され、放送経由で配信されるコンテンツの再生が開始されるとき、マスタ・プロキシ装置10M(で稼働するマスタプロキシ111)は、クライアント装置20からのDASHセグメントのリクエストのリダイレクションを行う(S3)。
 このとき、マスタ・プロキシ装置10Mでは、プロキシ-サービス担当範囲データベースを参照して、クライアント装置20からのDASHセグメントのリクエストの処理を担当すべきFWプロキシ装置10を決定し、当該FWプロキシ装置10に対し、クライアント装置20からのDASHセグメントのリクエストを送信する(リダイレクションする)。
 以上のようにして、プロキシのサービス担当範囲の割り当てと、セグメントリクエストのリダイレクションの処理を行うことで、ネットワーク30に複数設置されたFWプロキシ装置10の負荷分散を行うことが可能となるが、以下、その詳細な内容について説明する。
<3.マスタプロキシとスレーブプロキシの関係によるFWプロキシ装置の負荷分散>
(1)新規のスレーブ・プロキシ装置が追加される場合の例
(サービス担当範囲の割り当てと、リクエストリダイレクションの処理の流れ)
 まず、図7及び図8のフローチャートを参照して、新規のスレーブ・プロキシ装置10Sが追加される場合における、プロキシのサービス担当範囲の割り当てと、セグメントリクエストのリダイレクションの一連の処理の流れを説明する。
 図7及び図8の説明では、マスタ・プロキシ装置10Mが存在するネットワーク30に対し、新規のスレーブ・プロキシ装置10Sと、クライアント装置20がその順に接続し、クライアント装置20により、放送経由で配信されるコンテンツの再生が指示される場合を説明する。
 図7及び図8において、ステップS111乃至S117の処理は、マスタ・プロキシ装置10Mにより実行され、ステップS121乃至S130の処理は、新規で追加されるスレーブ・プロキシ装置10Sにより実行される。一方で、ステップS101乃至S105の処理は、クライアント装置20により実行される。
 新規のスレーブ・プロキシ装置10Sが、ネットワーク30に接続されると(S121)、ステップS122において、スレーブプロキシ161は、マスタ・プロキシ装置10Mで稼働するマスタプロキシ111の存在を確認するために、通信I/F152を介して、ネットワーク30に接続されたデバイスに対し、存在確認用のメッセージを、マルチキャストで送信する。
 ステップS122の処理で、スレーブ・プロキシ装置10Sにより送信されるメッセージは、ネットワーク30を介して、マスタ・プロキシ装置10Mにより受信される。
 ステップS111において、マスタプロキシ111は、スレーブ・プロキシ装置10Sから受信したメッセージに応じて、設定管理APIを生成し、レスポンスとして、ネットワーク30を介してスレーブ・プロキシ装置10Sに通知する。
 なお、スレーブプロキシ161からの存在確認に応じたマスタプロキシ111による設定管理APIの通知の詳細は、図9のフローチャートを参照して後述する。
 ステップS111の処理で、マスタ・プロキシ装置10Mにより送信される設定管理APIは、ネットワーク30を介して、スレーブ・プロキシ装置10Sにより受信される。
 ステップS123において、スレーブプロキシ161は、チューナ151を制御して、サービスのスキャンを行う。ここでは、例えば、チューナ151により初期スキャン処理が行われることで、LLSとして伝送されるSLTメタデータ等から、スレーブ・プロキシ装置10Sにより受信可能なサービスを示すサービススキャン結果が得られる。
 一方で、このとき、マスタ・プロキシ装置10Mにおいても、チューナ101により再スキャン処理が行われる(S112)。これにより、マスタ・プロキシ装置10Mでは、LLSとして伝送されるSLTメタデータ等から、マスタ・プロキシ装置10Mにより受信可能なサービスを示すサービススキャン結果が得られる。
 ただし、このような、スレーブ・プロキシ装置10Sがサービススキャンを行うタイミングで、マスタ・プロキシ装置10Mによるサービススキャンを行うかどうかは、任意である。
 すなわち、マスタ・プロキシ装置10Mが受信可能なサービスは、頻繁に変わるものではないため、一度、サービススキャンを行えば、そのサービススキャン結果を利用し続けることができる。ただし、マスタ・プロキシ装置10Mが、モバイル受信機や車載機器などの移動可能なデバイスとなる場合には、現時点でのエリアにより受信可能なサービスが変化する可能性が高いため、サービススキャンを再度行う必要がある。
 ステップS124において、スレーブプロキシ161は、マスタ・プロキシ装置10Mで稼働するマスタプロキシ111に対し、ステップS123の処理で得られるサービススキャン結果を通知する。また、スレーブプロキシ161は、マスタプロキシ111に対し、サービス担当範囲を要求する(S125)。
 なお、スレーブプロキシ161は、サービススキャン結果を、サービス担当範囲のリクエストに含めて、同時に送信するようにしてもよい。
 ステップS124,S125の処理で、スレーブ・プロキシ装置10Sにより送信される、サービススキャン結果と、サービス担当範囲のリクエストは、マスタ・プロキシ装置10Mにより受信される。
 ステップS113において、マスタプロキシ111は、サービススキャン結果に基づいて、サービス担当範囲を決定する。
 ここでは、サービススキャン結果として、マスタ・プロキシ装置10M自身のサービススキャン結果と、新規のスレーブ・プロキシ装置10Sのサービススキャン結果が得られる。そして、マスタプロキシ111では、これらのサービススキャン結果を用いて、あらかじめ定められたポリシ(規則)に従い、各FWプロキシ装置10のサービス担当範囲を決定する。
 例えば、ここでのポリシとしては、複数のFWプロキシ装置10に対し、対象のエリア内で受信可能な全サービスを機械的に割り当てたり、あるいは、エンドユーザの視聴履歴を考慮に入れて、アクセス頻度の高いサービス群が優先的に負荷分散されるように割り当てたりすることができるのは、先に述べた通りである。なお、ポリシの詳細については、図21乃至図24を参照して後述する。
 また、ここでは、各FWプロキシ装置10の能力属性(例えば処理能力等)が取得されるようにすることで、当該能力属性を用いて、ポリシに応じたサービスの担当範囲が決定されるようにしてもよい。これにより、例えば、処理能力が高いFWプロキシ装置10に対しては、担当のサービスの範囲を広げるといったことが可能となる。
 なお、ここでは、各FWプロキシ装置10(マスタプロキシ111やスレーブプロキシ161)と、サービス担当範囲とを対応付けたプロキシ-サービス担当範囲データベースが生成され、記憶部103に記憶される。
 ステップS114において、マスタプロキシ111は、スレーブプロキシ161に対し、ステップS113の処理で決定されたサービス担当範囲を示す情報(以下、サービス担当範囲情報という)を通知する。
 ステップS114の処理で、マスタ・プロキシ装置10Mにより送信される、サービス担当範囲情報は、スレーブ・プロキシ装置10Sにより受信される。
 ステップS126において、スレーブプロキシ161は、マスタ・プロキシ装置10Mから受信したサービス担当範囲情報に基づいて、チューナ151を制御して、自身の担当範囲のサービスのチューニングの準備を行う。ここでは、サービス担当範囲情報が示す各サービスの選局の準備が行われる。
 一方で、このとき、マスタ・プロキシ装置10Mにおいても、自身の担当範囲のサービスのチューニングの準備が行われる(S115)。なお、スレーブ・プロキシ装置10Sにおいては、リソースに余裕がある場合には、担当範囲のサービスについて、事前にサービスチューニングが行われるようにしてもよい(図8のS127)。
 その後、図8に示すように、クライアント装置20が、ネットワーク30に接続されると(S101)、当該クライアント装置20と、マスタ・プロキシ装置10Mとの間で、マスタプロキシ設定処理が行われる(S102)。
 このマスタプロキシ設定処理では、クライアント装置20と、マスタ・プロキシ装置10Mで稼働するマスタプロキシ111との間の接続が確立される。なお、マスタプロキシ設定処理の詳細は、図18のフローチャートを参照して後述する。
 ステップS103において、アプリケーション211は、マスタプロキシ111に対し、サービス-MPDテーブルを要求する。
 ステップS103の処理で、クライアント装置20により送信されるサービス-MPDテーブルのリクエストは、ネットワーク30を介して、マスタ・プロキシ装置10Mにより受信される。
 ステップS116において、マスタプロキシ111は、クライアント装置20から受信したテーブルのリクエストに応じて、サービス-MPDテーブルを生成し、レスポンスとして、ネットワーク30を介してクライアント装置20に返答する。
 ここで、サービス-MPDテーブルは、サービスとMPDメタデータとを対応付けたテーブルである。サービス-MPDテーブルは、SLSから生成される。なお、ここでは、説明の簡略化のため、サービス-MPDテーブルがマスタプロキシ111により生成されるとして説明するが、サービス-MPDテーブルは、SLS処理系115により生成されるようにしてもよい。
 ステップS116の処理で、マスタ・プロキシ装置10Mにより送信されるサービス-MPDテーブルは、ネットワーク30を介して、クライアント装置20により受信される。
 ステップS104において、アプリケーション211は、マスタ・プロキシ装置10Mから受信したサービス-MPDテーブルを参照して、所望のサービスに対応したMPDメタデータに基づいて、マスタプロキシ111に対し、DASHセグメントを要求する。
 ステップS104の処理で、クライアント装置20により送信されるDASHセグメントのリクエストは、ネットワーク30を介して、マスタ・プロキシ装置10Mにより受信される。
 ステップS117において、マスタプロキシ111は、クライアント装置20から受信したDASHセグメントのリクエストに対するスレーブプロキシ161への割り振りを、プロキシ-サービス担当範囲データベースを参照して判断し、その判断結果に応じたリダイレクションを行う。
 これにより、マスタプロキシ111によって、クライアント装置20(のアプリケーション211)からのDASHセグメントのリクエストが、適切なスレーブプロキシ161に対し、リダイレクションされることになる。
 なお、ここでは、説明を簡略化するために、リダイレクションされるDASHセグメントのリクエストが、マスタプロキシ111からスレーブプロキシ161に対して直接通知されるとして説明しているが、実際には、図8の点線で示しているように、マスタプロキシ111からクライアント装置20を経由して、いわば間接的に、スレーブプロキシ161に通知される。また、セグメントリクエストのリダイレクションの詳細は、図25及び図26を参照して後述する。
 ステップS117の処理で、マスタ・プロキシ装置10MによりリダイレクションされたDASHセグメントのリクエストは、適切であると判断されたスレーブプロキシ161が稼働しているスレーブ・プロキシ装置10Sにより受信される。
 ステップS128において、スレーブプロキシ161は、事前サービスチューニングを行っているかどうかを判定する。ここでは、上述のステップS127の処理で、リソースに余裕がなく、事前サービスチューニングを行っていない場合には、ステップS128の判定処理で、「NO」と判定され、処理は、ステップS129に進められる。
 ステップS129において、スレーブプロキシ161は、マスタ・プロキシ装置10Mから受信したDASHセグメントのリクエストに基づいて、チューナ101を制御して、サービスのチューニングを行う。これにより、DASHセグメントのリクエストに応じたDASHセグメントファイルが、放送サーバ40から放送経由で取得される。
 一方、上述のステップS127の処理で、リソースに余裕があって、事前サービスチューニングが行われていた場合には、放送サーバ40から放送経由で得られる、担当範囲のサービスのストリームは展開済みであるので、ステップS129の処理はスキップされる。この場合、展開済みのストリームから、DASHセグメントのリクエストに応じたDASHセグメントファイルが取得される。
 DASHセグメントファイルが取得されると、処理は、ステップS130に進められる。ステップS130において、スレーブプロキシ161は、放送サーバ40から受信したDASHセグメントファイルを、通信I/F102を介して、ネットワーク30に接続されたクライアント装置20に返答する。
 ステップS130の処理で、スレーブ・プロキシ装置10Sにより送信(転送)されるDASHセグメントファイルは、ネットワーク30を介して、クライアント装置20により受信される。
 クライアント装置20では、ブラウザ212によって、スレーブ・プロキシ装置10Sから受信したDASHセグメントファイルが再生される(S105)。これにより、クライアント装置20においては、放送経由で配信された番組等のコンテンツが再生されることになる。
 以上、新規のスレーブ・プロキシ装置10Sが追加される場合における、プロキシのサービス担当範囲の割り当てと、セグメントリクエストのリダイレクションの一連の処理の流れを説明した。
(設定管理APIの通知の詳細)
 次に、図9のフローチャートを参照して、スレーブプロキシ161からの存在確認に応じたマスタプロキシ111による設定管理APIの通知の詳細を説明する。すなわち、図9のフローチャートに示した処理は、上述の図7のステップS122,S111の処理に対応したものとなる。
 ステップS151においては、図7のステップS122と同様に、新規のスレーブ・プロキシ装置10Sで稼働するスレーブプロキシ161が、マスタ・プロキシ装置10Mで稼働するマスタプロキシ111の存在を確認するために、ネットワーク30に接続されたデバイスに対し、M-SEARCHリクエストを、マルチキャストで送信する。
 このM-SEARCHリクエストは、HTTPリクエストであって、SSDPであるプロトコルを利用して、ネットワーク30に接続されたデバイスの探索を行う際に用いられる。
 ステップS151の処理で、スレーブ・プロキシ装置10Sにより送信されるM-SEARCHリクエストは、ネットワーク30を介して、マスタ・プロキシ装置10Mにより受信される。
 ステップS141において、UPnP/SSDPサーバ112は、スレーブ・プロキシ装置10Sから受信したM-SEARCHリクエストに応じて、デバイスディスクリプションURLを生成し、M-SEARCHレスポンスとして、ネットワーク30を介してスレーブ・プロキシ装置10Sに送信する。
 このM-SEARCHレスポンスは、M-SEARCHリクエストに対する応答であって、LOCATIONとして、デバイスディスクリプションURLを含んでいる。このデバイスディスクリプションURLは、XML形式のファイルのURLである。
 ステップS141の処理で、マスタ・プロキシ装置10Mにより送信されるM-SEARCHレスポンスは、ネットワーク30を介して、スレーブ・プロキシ装置10Sにより受信される。
 ステップS152において、スレーブプロキシ161は、マスタ・プロキシ装置10Mから受信したM-SEARCHレスポンス(のデバイスディスクリプションURL)に基づいて、ネットワーク30に接続されたマスタ・プロキシ装置10Mで稼働するローカルウェブサーバ114に対し、デバイスディスクリプションを要求する。
 このデバイスディスクリプションリクエストは、HTTPリクエストであって、GETメソッドの対象のリソースとして、M-SEARCHレスポンスのデバイスディスクリプションURLに応じた内容が記述される。
 ステップS152の処理で、スレーブ・プロキシ装置10Sにより送信されるデバイスディスクリプションリクエストは、ネットワーク30を介して、マスタ・プロキシ装置10Mにより受信される。
 ステップS142において、ローカルウェブサーバ114は、スレーブ・プロキシ装置10Sから受信したデバイスディスクリプションリクエストに応じて、デバイスディスクリプションを生成し、レスポンスとして、ネットワーク30を介してスレーブ・プロキシ装置10Sに送信する。
 図10は、デバイスディスクリプションレスポンスの例を示す図である。
 なお、図10の例では、記載を省略しているが、デバイスディスクリプションレスポンスのヘッダには、ファイルのタイプなどが記述される。また、当該ヘッダに続いて、XML形式のデバイスディスクリプションの内容が記述される。
 すなわち、図10に示すように、デバイスディスクリプションには、root要素のxmlns属性として、"urn:schemas-upnp-org:device-1-0"が記述され、UPnP準拠のデバイスディスクリプションであることが宣言されている。
 serviceList要素には、マスタ・プロキシ装置10Mでサポートされるサービスの一覧が記述される。serviceList要素には、1又は複数のservice要素が記述される。
 service要素には、サポートされるサービスのうち、1つのサービスについての情報が記述される。service要素は、serviceType要素、serviceId要素、SCPDURL要素、及びcontrolURL要素などの上位要素となる。
 図10の例では、2つのservice要素が記述されている。
 1つ目のservice要素において、serviceType要素には、サービスのタイプとして、"urn:atsc:proxy"が記述され、ATSC3.0サービスのプロキシサービスであることを意味している。
 また、serviceId要素には、サービスIDとして、"urn:UPnP:serviceId:1234"が記述され、プロキシサービスのサービスIDを表している。
 また、controlURL要素には、プロキシ待ち受けアドレス/ポート取得APIのURLとして、"http://192.168.1.1:23456/getATSC3.0ProxyAddressPort"が記述される。このURLは、マスタプロキシ111がリクエストを待ち受けるIPアドレスとポート番号を示すプロキシ待ち受けアドレス/ポートを取得するためのWeb APIを呼び出すための情報である。
 2つ目のservice要素において、serviceType要素には、サービスのタイプとして、"urn:atsc:configMan"が記述され、ATSC3.0の設定管理サービスであることを意味している。
 また、serviceId要素には、サービスIDとして、"urn:UPnP:serviceId:5678"が記述され、プロキシサービスのサービスIDを表している。
 また、controlURL要素には、設定管理APIのURLとして、"http://192.168.1.1:23456/getServiceScope"が記述される。このURLは、マスタプロキシ111がサービス担当範囲情報を取得するためのWeb APIを呼び出すための情報である。
 なお、各service要素において、通常、SCPDURL要素には、ACRクライアントサービスについてのサービスディスクリプションのアドレスが記述されるので、HTTPで規定されるGETメソッドにより、サービスディスクリプションが取得される。その場合には、UPnPで規定されるSOAP(Simple Object Access Protocol)により、controlURL要素に記述されるURLに対し、アクションのメッセージを送付することで、アクションを呼び出すことになる。
 一方で、本技術では、より簡便にWeb APIを呼び出せるように、UPnPの規定とは異なる方法で、Web APIのURLを周知する方法を提案する。すなわち、本技術では、図10に示すように、SCPDURL要素の値としては何も記述せずに(SCPDURL要素の中身は空にしておき)、SCPDURL要素に何も記述されていない場合に限り、controlURL要素に、直接、Web APIのURLを記述できるようにしている。
 なお、controlURL要素に、直接、Web APIのURLを記述するための条件としては、上述したような、SCPDURL要素の中身を空にするほか、例えば、controlURL要素に、ダミーの文字列を記述するようにしてもよい。
 図9に戻り、ステップS142の処理で、マスタ・プロキシ装置10Mにより送信されるデバイスディスクリプションレスポンスは、デバイスディスクリプションリクエストを送信したスレーブ・プロキシ装置10Sにより受信される。
 そして、スレーブ・プロキシ装置10Sでは、マスタ・プロキシ装置10Mから受信したデバイスディスクリプションレスポンスに基づいて、マスタ・プロキシ装置10Mで稼働するマスタプロキシ111から、サービス担当範囲情報を取得することになる。
 ここで、図9のフローチャートには、スレーブ・プロキシ装置10Sで稼働するスレーブプロキシ161における、デバイスディスクリプションレスポンスを受信した後の処理を記載していないが、次のような処理が行われる。
 すなわち、スレーブプロキシ161は、デバイスディスクリプションレスポンスの設定管理APIのURLに基づいて、マスタプロキシ111に対し、サービス担当範囲を要求する。なお、このスレーブプロキシ161の処理は、上述の図7のステップS125の処理に相当する。
 図11は、サービス担当範囲リクエストの例を示す図である。
 サービス担当範囲リクエストには、GETメソッドの対象のリソースとして、"getServiceScope"であるサービス担当範囲情報が記述される。また、HOSTには、ホスト名として、"192.168.1.1:23456"が記述される。
 すなわち、サービス担当範囲リクエストでは、デバイスディスクリプションレスポンスに記述された内容(controlURL要素の内容)に応じて、GETメソッドの対象が、"getServiceScope"となる。さらに、サービス担当範囲リクエストには、HOSTとして、"192.168.1.1"であるマスタ・プロキシ装置10MのIPアドレスと、"23456"であるマスタプロキシ111のポート番号が記述される。
 このようなサービス担当範囲リクエストは、ネットワーク30に接続されたマスタ・プロキシ装置10Mにより受信される。そして、マスタプロキシ111は、スレーブ・プロキシ装置10Sから受信したサービス担当範囲リクエストに応じて、サービス担当範囲情報を生成し、レスポンスとして、ネットワーク30を介してスレーブ・プロキシ装置10Sに送信する。なお、このマスタプロキシ111の処理は、上述の図7のステップS113,S114の処理に相当する。
 なお、サービス担当範囲リクエストのボディに対し、ステップS123の処理で得られるサービススキャン結果を記述するようにしてもよい。
 図12は、サービス担当範囲レスポンスの例を示す図である。
 サービス担当範囲レスポンスのボディ部には、サービス担当範囲情報として、"ServiceId-A"や"ServiceId-B"などのサービスIDのリストが記述されている。このリストは、サービスIDを示す文字列を改行して列挙したリストとされる。
 すなわち、マスタプロキシ111によって、"ServiceId-A"であるサービスIDのサービスAと、"ServiceId-B"であるサービスIDのサービスBが、スレーブプロキシ161のサービス担当範囲として割り当てられたことになる。
 このようなサービス担当範囲レスポンスは、ネットワーク30に接続されたスレーブ・プロキシ装置10Sにより受信される。そして、スレーブ・プロキシ装置10Sでは、マスタ・プロキシ装置10Mから受信したサービス担当範囲レスポンス(サービス担当範囲情報)に基づいて、サービスのチューニングの準備が行われる。
 ここでは、例えば、サービスAと、サービスBのストリームを受信するための準備が、スレーブ・プロキシ装置10Sにより行われる。なお、このスレーブプロキシ161の処理は、上述の図7のステップS126の処理に相当する。また、このとき、マスタ・プロキシ装置10Mにおいても、サービスのチューニングの準備が行われる(図7のS115)。
 以上のようにして、スレーブ・プロキシ装置10Sに対し、サービス担当範囲が割り当てられるが、図13には、サービス担当範囲の割り当てのより具体的な例を示している。
 すなわち、図13においては、マスタ・プロキシ装置10Mと、スレーブ・プロキシ装置10Sで受信可能な放送サービスとして、サービス1(Service-1),サービス2(Service-2),サービス3(Service-3),サービス4(Service-4),サービス5(Service-5),サービス6(Service-6),及びサービス7(Service-7)の7つのサービスがスキャンされた場合を想定する。
 なお、各サービスのストリームは、サービスIDにより識別される。また、各サービスのストリームは、ブロードキャストストリームIDにより識別されるブロードキャストストリーム(BS:Broadcast Stream)で伝送される。さらに、各サービスのストリームでは、PLP IDで識別されるPLP(Physical Layer Pipe)のストリームが伝送される。
 ブロードキャストストリーム1(BS-1)においては、PLP-1,PLP-2を含むサービス1のストリームと、PLP3を含むサービス2のストリームが伝送される。また、ブロードキャストストリーム2(BS-2)では、PLP-1を含むサービス3のストリームと、PLP-2,PLP-3,PLP-4を含むサービス4のストリームが伝送される。
 ブロードキャストストリーム3(BS-3)においては、PLP-1を含むサービス5のストリームと、PLP-2を含むサービス6のストリームが伝送される。また、ブロードキャストストリーム4(BS-4)では、PLP-1を含むサービス7のストリームが伝送される。
 マスタ・プロキシ装置10Mで稼働するマスタプロキシ111は、これらのサービススキャン結果に基づいて、マスタプロキシ111とスレーブプロキシ161が受け持つサービスの担当範囲を決定する。図13の例では、スキャンされた放送サービスのうち、サービス1乃至4が、マスタプロキシ111のサービス担当範囲に割り当てられ、サービス5乃至7が、スレーブプロキシ161のサービス担当範囲に割り当てられている。
 このようなサービス担当範囲の割り当てが、マスタプロキシ111からスレーブプロキシ161に対して通知される設定管理APIにより実現されるのは、先に述べた通りである。
 以上、スレーブプロキシ161からの存在確認に応じたマスタプロキシ111による設定管理APIの通知の詳細を説明した。
(2)新規のスレーブ・プロキシ装置がさらに追加される場合の例
(サービス担当範囲の割り当て処理の流れ)
 次に、図14のフローチャートを参照して、新規のスレーブ・プロキシ装置10Sがさらに追加される場合における、プロキシのサービス担当範囲の割り当て処理の流れを説明する。
 図14の説明では、マスタ・プロキシ装置10Mとスレーブ・プロキシ装置10S-1が存在するネットワーク30に対し、新規のスレーブ・プロキシ装置10S-2がさらに接続される場合を説明する。
 ただし、以下の説明では、スレーブプロキシ161として、スレーブ・プロキシ装置10S-1で稼働するものを、スレーブプロキシ161-1(図中では「スレーブプロキシ1」と略記する)と称する一方で、スレーブ・プロキシ装置10S-2で稼働するものを、スレーブプロキシ161-2(図中では「スレーブプロキシ2」と略記する)と称して、区別するものとする。
 また、図14において、ステップS191乃至S196の処理は、マスタ・プロキシ装置10Mにより実行される。一方で、ステップS201乃至S204の処理は、スレーブ・プロキシ装置10S-1により実行され、ステップS211乃至S216の処理は、スレーブ・プロキシ装置10S-2により実行される。
 新規のスレーブ・プロキシ装置10S-2が、ネットワーク30に接続されると(S211)、ステップS212において、スレーブプロキシ161-2は、マスタプロキシ111の存在を確認するために、通信I/F152を介して、ネットワーク30に接続されたデバイスに対し、存在確認用のメッセージを、マルチキャストで送信する。
 ステップS191,S192において、マスタプロキシ111は、マルチキャストで送信されてくるメッセージに応じて、設定管理APIを生成し、ネットワーク30を介して、スレーブ・プロキシ装置10S-1とスレーブ・プロキシ装置10S-2に通知(再通知)する。
 ステップS213において、スレーブプロキシ161-2は、マスタ・プロキシ装置10Mからの通知に応じて、チューナ151を制御して、サービスのスキャンを行う。ここでは、例えば、チューナ151により初期スキャン処理が行われることで、LLSとして伝送されるSLTメタデータ等から、スレーブ・プロキシ装置10S-2により受信可能なサービスを示すサービススキャン結果が得られる。
 このとき、スレーブプロキシ161-1が稼働するスレーブ・プロキシ装置10S-1では、マスタ・プロキシ装置10Mからの通知に応じて、サービスの再スキャンが行われ、サービススキャン結果が得られる(S201)。また、マスタプロキシ111が稼働するマスタ・プロキシ装置10Mにおいても、サービスの再スキャンが行われ、サービススキャン結果が得られる(S193)。
 ただし、先に述べたように、スレーブ・プロキシ装置10S-2がサービススキャンを行うタイミングで、マスタ・プロキシ装置10Mとスレーブ・プロキシ装置10S-1によるサービススキャンを行うかどうかは、任意である。
 スレーブプロキシ161-2は、サービスのスキャン(S213)が終了したとき、マスタプロキシ111に対し、当該サービススキャン結果の通知と、サービス担当範囲の要求を行う(S214,S215)。
 同様に、スレーブプロキシ161-1は、サービスのスキャン(S201)が終了したとき、マスタプロキシ111に対し、当該サービススキャン結果の通知と、サービス担当範囲の要求を行う(S202,S203)。
 スレーブ・プロキシ装置10S-1,10S-2により送信される、サービススキャン結果とサービス担当範囲リクエストは、マスタ・プロキシ装置10Mにより受信される。
 ステップS194において、マスタプロキシ111は、サービススキャン結果に基づいて、サービス担当範囲を決定する。
 ここでは、サービススキャン結果として、マスタ・プロキシ装置10M自身のサービススキャン結果、既存のスレーブ・プロキシ装置10S-1のサービススキャン結果、及び新規のスレーブ・プロキシ装置10S-2のサービススキャン結果が得られる。そして、マスタプロキシ111では、これらのサービススキャン結果を用いて、あらかじめ定められたポリシ(規則)に従い、各FWプロキシ装置10のサービス担当範囲を決定する。
 ここでは、各FWプロキシ装置10(マスタプロキシ111やスレーブプロキシ161-1,161-2)と、サービス担当範囲とを対応付けたプロキシ-サービス担当範囲データベースが生成され、記憶部103に記憶される。なお、ポリシの詳細については、図21乃至図24を参照して後述する。
 ステップS195において、マスタプロキシ111は、スレーブプロキシ161-1とスレーブプロキシ161-2に対し、ステップS194の処理で得られるサービス担当範囲を通知する。
 スレーブプロキシ161-2が稼働するスレーブ・プロキシ装置10S-2では、マスタ・プロキシ装置10Mからのサービス担当範囲情報に基づいて、チューナ151を制御して、自身の担当範囲のサービスのチューニングの準備が行われる(S216)。
 同様に、スレーブプロキシ161-2が稼働するスレーブ・プロキシ装置10S-1においても、マスタ・プロキシ装置10Mからのサービス担当範囲情報に応じた自身の担当範囲のサービスのチューニングの準備が行われる(S204)。さらに、マスタ・プロキシ装置10Mにおいても、自身の担当範囲のサービスのチューニングの準備が行われる(S196)。
 このようにして、ネットワーク30に接続された各FWプロキシ装置10では、自身の担当範囲のサービスのチューニングの準備が完了して、クライアント装置20からのDASHセグメントのリクエストに対し、ネットワーク30内の適切なFWプロキシ装置10が対応することになる。
 ここで、図15には、サービス担当範囲の割り当てのより具体的な例を示している。なお、図15のブロードキャストストリームと、サービスのストリームと、PLPのストリームとの関係は、図13と同様である。
 図15の例では、スキャンされた放送サービスのうち、サービス1,2が、マスタプロキシ111のサービス担当範囲に割り当てられ、サービス3乃至6が、スレーブプロキシ161-1のサービス担当範囲に割り当てられ、サービス5乃至7が、スレーブプロキシ161-2のサービス担当範囲に割り当てられている。
 この例では、サービス5,6が、スレーブプロキシ161-1とスレーブプロキシ161-2により重複して担当範囲となっているが、例えば、サービス5,6が選択(選局)される可能性が大きい場合などに、このような担当範囲の割り当てを行うことができる。ただし、図13の例のように、マスタプロキシ111やスレーブプロキシ161に対し、重複したサービスの担当範囲を持たせないようにしてもよい。
 なお、セグメントリクエストのリダイレクションの処理は、図8に示した処理と同様であるため、ここでは、その説明は省略する。
 以上、新規のスレーブ・プロキシ装置10Sがさらに追加された場合における、プロキシのサービス担当範囲の割り当て処理の流れを説明した。
(設定管理APIの再通知の詳細)
 次に、図16のフローチャートを参照して、マスタプロキシ111による既存のスレーブプロキシ161-1に対する設定管理APIの再通知の詳細を説明する。すなわち、図16のフローチャートに示した処理は、上述の図14のステップS192の処理に対応したものとなる。
 ステップS221において、UPnP/SSDPサーバ112は、スレーブ・プロキシ装置10S-2から受信したM-SEARCHリクエストに応じて、デバイスディスクリプションURLを生成し、NOTIFYメッセージとして、ネットワーク30を介してスレーブ・プロキシ装置10S-1に送信する。
 図17は、NOTIFYメッセージの例を示す図である。
 NOTIFYメッセージにおいて、LOCATIONには、デバイスディスクリプションURLとして、"http://192.168.1.1:12345/deviceDescription.xml"が指定される。このデバイスディスクリプションURLは、XML形式のファイルのURLである。
 すなわち、マスタ・プロキシ装置10Mにおいて、このXML形式のファイルは、ローカルウェブサーバ114により処理されるので、デバイスディスクリプションURLには、マスタ・プロキシ装置10Mに割り当てられたIPアドレスである"192.168.1.1"と、ローカルウェブサーバ114に割り当てられたポート番号である"12345"が記述されている。
 図16に戻り、ステップS231において、スレーブプロキシ161-1は、マスタ・プロキシ装置10MからのNOTIFYメッセージ(のデバイスディスクリプションURL)に基づいて、ネットワーク30に接続されたマスタ・プロキシ装置10Mで稼働するローカルウェブサーバ114に対し、デバイスディスクリプションを要求する。
 このデバイスディスクリプションリクエストは、HTTPリクエストであって、GETメソッドの対象のリソースとして、NOTIFYメッセージのデバイスディスクリプションURLに応じた内容が記述される。
 ステップS222において、ローカルウェブサーバ114は、スレーブ・プロキシ装置10S-1からのデバイスディスクリプションリクエストに応じて、デバイスディスクリプションを生成し、レスポンスとして、ネットワーク30を介してスレーブ・プロキシ装置10S-1に送信する。なお、このデバイスディスクリプションレスポンスの内容は、上述の図10に示した通りである。
 そして、スレーブ・プロキシ装置10S-1では、マスタ・プロキシ装置10Mから受信したデバイスディスクリプションレスポンスに基づいて、マスタプロキシ111から、サービス担当範囲情報を取得することになる。
 以上、マスタプロキシ111による既存のスレーブプロキシ161-1に対する設定管理APIの再通知の詳細を説明した。
(3)クライアント装置によるマスタプロキシの発見・接続の例
 ところで、エンドユーザ宅2内のほか、ケーブルオペレータのヘッドエンドや、モバイル網の基地局などに設置される可能性のある、マスタ・プロキシ装置10Mで稼働するマスタプロキシ111を発見・接続する方法としては、いくつかの方法が想定される。
 例えば、クライアント装置20において、ブラウザ212のインターネット接続設定のメニューにて、手動でマスタプロキシ111のIPアドレスやポート番号などを入力する方法や、プロキシ設定スクリプトのURLを登録する方法、あるいは自動設定による方法などがある。
 自動設定の方法としては、例えば、DHCP(Dynamic Host Configuration Protocol)サーバを用いる方法や、WPAD(Web Proxy Auto Discovery)を用いる方法などがある。また、プロキシ設定スクリプトによる自動設定は、JavaScript(登録商標)等のスクリプト言語で記述されたプロキシ自動構成スクリプトファイルを用意して、そのファイルをウェブサーバ上に配置する一方で、そのファイルのURLを、ブラウザ212の自動設定のスクリプトのURLに設定すればよい。
 WPADを用いる場合には、ブラウザ212自身が、プロキシ設定用のスクリプトファイルの位置(URL)を自動的に検出してダウンロードすることで、設定を行うことができる。なお、WPADでは、一般には、DHCPサーバのDHCPINFORMメッセージを用いる方法と、DNS(Domain Name System)を用いた方法により、"wpad"という名前を持つエントリを探して、そこからプロキシ設定スクリプトをダウンロードする方法が実装されている。
 マスタ・プロキシ装置10Mで稼働するマスタプロキシ111の発見においても、同様の方法を用いることができる。本技術では、クライアント装置20が、ネットワーク30において、マスタプロキシ111が稼働しているマスタ・プロキシ装置10Mを発見し、当該マスタプロキシ111がリクエストを待ち受けるIPアドレスとポート番号(以下、プロキシ待ち受けアドレス/ポートともいう)を取得する方式を提案する。
 そのためには、クライアント装置20では、マスタプロキシ111に対し、プロキシ待ち受けアドレス/ポートを問い合わせるためのWeb APIを認識する必要がある。つまり、このWeb APIは、サービスを呼び出すためのインターフェースであると言える。
 ここで、マスタプロキシ111の発見に、ユニバーサルプラグアンドプレイ(UPnP)を利用する場合、マスタプロキシ111の発見と、機能の公開には、SSDPが用いられる。
 一般に、SSDPにおいては、公開されるサービスを発見する際にやりとりされるデバイスディスクリプションとして、デバイスが提供可能な機能や情報が記述されたXML形式のファイルが用いられる。このファイルには、対象のデバイスそのものについて記述したデバイスディスクリプションと、対象のデバイス上に実装された各サービスが持つアクションとしてのサービスディスクリプションとが記述される。
 本技術では、マスタプロキシ111のディスクリプション(例えばサービスディスクリプション)に、当該マスタプロキシ111がリクエストを待ち受けるIPアドレスとポート番号(プロキシ待ち受けアドレス/ポート)を返答するWeb APIのURLを記述できるようにする。
 また、本技術では、ATSC3.0サービス等の放送サービスに対応するマスタプロキシ111のサービスを発見するためのプロトコルを追加することにより、放送サービスを実装していない一般のクライアント装置20で、ブラウザ212のプロキシとして、プロキシ待ち受けアドレス/ポートを設定できるようにする。
 すなわち、放送サービスを実装していない一般のクライアント装置20(スマートフォンやタブレット型コンピュータ等の一般エンドデバイス)のブラウザ212で、あるスクリプト(Web API)を立ち上げると、放送サービスに対応するサーバであるマスタ・プロキシ装置10Mを発見し、そこで稼働するマスタプロキシ111のプロキシ待ち受けアドレス/ポートを、当該ブラウザ212のプロキシとして設定できるようにする。
 以下、このような、マスタ・プロキシ装置10Mで稼働するマスタプロキシ111の発見と、マスタプロキシ111のプロキシ待ち受けアドレス/ポートの取得のシーケンス(プロキシの発見・接続処理)を説明する。
 なお、ここでは、ネットワーク上のデバイスの探索や応答を行うプロトコルとして、SSDPを一例に説明したが、DIAL(Discovery and Launch)等の他のプロトコルを用いることでも、同様の機能を実現することができる。DIALは、ネットワーク上にあるDIAL対応のデバイスをUPnPにより発見し、指定されたアプリケーションを起動させるプロトコルである。
(マスタプロキシ設定処理)
 図18は、図8のステップS102の処理に対応するマスタプロキシ設定処理の流れを説明するフローチャートである。
 なお、図18の説明では、ネットワーク30に接続されるマスタ・プロキシ装置10Mには、IPアドレスとして、"192.168.1.1"が割り当てられているものとする。また、このマスタ・プロキシ装置10Mで稼働するサービスのうち、UPnP/SSDPサーバ112には、"12345"であるポート番号、プロキシアプリマネージャ113には、"23456"であるポート番号、マスタプロキシ111には、"34567"であるポート番号がそれぞれ割り当てられているものとする。
 また、図18において、ステップS281乃至S282の処理と、ステップS291の処理は、マスタ・プロキシ装置10Mにより実行される。一方で、ステップS271乃至S274の処理は、クライアント装置20により実行される。
 ステップS271において、アプリケーション211は、マスタ・プロキシ装置10Mで稼働するマスタプロキシ111の存在を確認するために、通信I/F201を介して、ネットワーク30に接続されたデバイス(サーバ)に対し、M-SEARCHリクエストを、マルチキャストで送信する。
 ステップS271の処理で、クライアント装置20により送信されるM-SEARCHリクエストは、ネットワーク30を介して、マスタ・プロキシ装置10Mにより受信される。
 ステップS281において、UPnP/SSDPサーバ112は、クライアント装置20から受信したM-SEARCHリクエストに応じて、デバイスディスクリプションURLを生成し、M-SEARCHレスポンスとして、ネットワーク30を介してクライアント装置20に送信する。
 ステップS281の処理で、マスタ・プロキシ装置10Mにより送信されるM-SEARCHレスポンスは、M-SEARCHリクエストを送信したクライアント装置20により受信される。
 ステップS272において、アプリケーション211は、マスタ・プロキシ装置10Mから受信したM-SEARCHレスポンス(のデバイスディスクリプションURL)に基づいて、UPnP/SSDPサーバ112に対し、デバイスディスクリプションを要求する。
 ステップS272の処理で、クライアント装置20により送信されるデバイスディスクリプションリクエストは、ネットワーク30を介して、マスタ・プロキシ装置10Mにより受信される。
 ステップS282において、UPnP/SSDPサーバ112(ローカルウェブサーバ114)は、クライアント装置20から受信したデバイスディスクリプションリクエストに応じて、デバイスディスクリプションを生成し、レスポンスとして、ネットワーク30を介してクライアント装置20に送信する。
 このデバイスディスクリプションレスポンスには、図10に示したように、serviceList要素に記述された2つのservice要素のうち、1つ目のservice要素の内容が記述される。
 すなわち、serviceType要素には、サービスのタイプとして、"urn:atsc:proxy"が記述され、ATSC3.0サービスのプロキシサービスであることを意味する。また、serviceId要素には、サービスIDとして、"urn:UPnP:serviceId:1234"が記述され、プロキシサービスのサービスIDを表している。
 さらに、controlURL要素には、プロキシ待ち受けアドレス/ポート取得Web APIのURLとして、"http://192.168.1.1:23456/getATSC3.0ProxyAddressPort"が記述される。このURLは、マスタプロキシ111がリクエストを待ち受けるIPアドレスとポート番号を示すプロキシ待ち受けアドレス/ポートを取得するためのWeb APIを呼び出すための情報である。
 ステップS282の処理で、マスタ・プロキシ装置10Mにより送信されるデバイスディスクリプションレスポンスは、デバイスディスクリプションリクエストを送信したクライアント装置20により受信される。
 ステップS273において、アプリケーション211は、マスタ・プロキシ装置10Mから受信したデバイスディスクリプションレスポンス(のプロキシ待ち受けアドレス/ポート取得Web APIのURL)に基づいて、プロキシアプリマネージャ113に対し、プロキシ待ち受けアドレス/ポートを要求する。
 図19は、プロキシ待ち受けアドレス/ポートリクエストの例を示す図である。
 プロキシ待ち受けアドレス/ポートリクエストには、GETメソッドの対象のリソースとして、"getATSC3.0ProxyAddressPort"である対象のプロキシ待ち受けアドレス/ポートが記述される。また、HOSTには、ホスト名として、"192.168.1.1:23456"が記述される。
 すなわち、プロキシ待ち受けアドレス/ポートリクエストでは、デバイスディスクリプションレスポンスに記述された内容(controlURL要素の内容)に応じて、GETメソッドの対象が、"getATSC3.0ProxyAddressPort"となる。さらに、プロキシ待ち受けアドレス/ポートリクエストには、HOSTとして、"192.168.1.1"であるマスタ・プロキシ装置10MのIPアドレスと、"23456"であるプロキシアプリマネージャ113のポート番号が記述される。
 図18に戻り、ステップS273の処理で、クライアント装置20により送信されるプロキシ待ち受けアドレス/ポートリクエストは、ネットワーク30を介して、マスタ・プロキシ装置10Mにより受信される。
 ステップS291において、プロキシアプリマネージャ113は、クライアント装置20から受信したプロキシ待ち受けアドレス/ポートリクエストに応じて、プロキシ待ち受けアドレス/ポートを生成し、レスポンスとして、ネットワーク30を介してクライアント装置20に送信する。
 図20は、プロキシ待ち受けアドレス/ポートレスポンスの例を示す図である。
 プロキシ待ち受けアドレス/ポートレスポンスのボディ部には、プロキシ待ち受けアドレス/ポートとして、"192.168.1.1:34567"が記述されている。
 すなわち、マスタ・プロキシ装置10Mにおいて、当該レスポンスのボディ部には、マスタ・プロキシ装置10Mに割り当てられたIPアドレスである"192.168.1.1"と、マスタプロキシ111に割り当てられたポート番号である"34567"が記述される。
 なお、この例では、Web APIへのリクエスト(プロキシ待ち受けアドレス/ポートリクエスト)を受け取るのが、プロキシアプリマネージャ113であるとして説明しているが、マスタプロキシ111本体が、当該リクエストを受け取って、処理するようにしてもよい。
 図18に戻り、ステップS291の処理で、マスタ・プロキシ装置10Mにより送信されるプロキシ待ち受けアドレス/ポートレスポンスは、プロキシ待ち受けアドレス/ポートリクエストを送信したクライアント装置20により受信される。
 ステップS274において、アプリケーション211は、マスタ・プロキシ装置10Mから受信したプロキシ待ち受けアドレス/ポートレスポンス(のIPアドレスとポート番号)に基づいて、プロキシ自動構成スクリプトの更新と、ブラウザ212の起動(再起動)による構成変更の反映を行う。
 クライアント装置20において、アプリケーション211は、プロキシ待ち受けアドレス/ポートレスポンスから、プロキシ待ち受けアドレス/ポートとして得られるIPアドレスとポート番号(ATSC3.0ProxyAddressPort(192.168.1.1:34567))により、プロキシ自動構成スクリプトファイルを書き換える。
 すなわち、クライアント装置20では、アプリケーション211により、プロキシ自動構成スクリプトファイルが、プロキシ待ち受けアドレス/ポートにより書き換えられ、ブラウザ212が、起動(再起動)される。そして、当該ブラウザ212が参照するプロキシ自動構成スクリプトファイルにより、マスタプロキシ111のIPアドレスとポート番号の設定(自動設定)が行われる。
 これにより、クライアント装置20において、ブラウザ212は、ネットワーク30を介して、マスタ・プロキシ装置10Mで稼働するマスタプロキシ111にアクセスすることが可能となる。
 以上、マスタプロキシ設定処理の流れを説明した。
<4.マスタプロキシとスレーブプロキシの実装例>
 まず、ここでは、マスタプロキシ111が、サービス担当範囲を決定する際のポリシ(規則)の詳細について説明する。
(1)機械的なサービス担当範囲の割り当ての例
 図21は、機械的なサービス担当範囲の割り当ての例を示す図である。
 図21においては、マスタ・プロキシ装置10Mと、スレーブ・プロキシ装置10S-1,10S-2で受信可能なサービスとして、サービス1乃至19の19個のサービスがスキャンされた場合を想定する。
 ブロードキャストストリーム1(BS-1)においては、サービス1乃至4のストリームが伝送される。また、ブロードキャストストリーム2(BS-2)では、サービス5乃至7のストリームが伝送される。さらに、ブロードキャストストリーム3(BS-3)では、サービス8乃至10のストリームが伝送される。
 また、ブロードキャストストリーム4(BS-4)においては、サービス11乃至14のストリームが伝送される。さらに、ブロードキャストストリーム5(BS-5)では、サービス15乃至19のストリームが伝送される。
 マスタ・プロキシ装置10Mで稼働するマスタプロキシ111は、これらのサービススキャン結果に基づいて、あらかじめ定められたポリシに従い、マスタプロキシ111と、スレーブプロキシ161-1,161-2が受け持つサービスの担当範囲を決定する。
 図21の例では、マスタプロキシ111と、スレーブプロキシ161-1,161-2に対し、ブロードキャストストリーム単位(例えば6MHzの周波数帯域の単位)で、機械的にサービス担当範囲が割り当てられている。
 すなわち、スキャンされた放送サービスのうち、ブロードキャストストリーム1(BS-1)のサービス1乃至4が、マスタプロキシ111のサービス担当範囲に割り当てられる。また、ブロードキャストストリーム2(BS-2)のサービス5乃至7と、ブロードキャストストリーム3(BS-3)のサービス8乃至10が、スレーブプロキシ161-1のサービス担当範囲に割り当てられる。
 また、ブロードキャストストリーム4(BS-4)のサービス11乃至14と、ブロードキャストストリーム5(BS-5)のサービス15乃至19が、スレーブプロキシ161-2のサービス担当範囲に割り当てられる。
 なお、図21の例では、ブロードキャストストリーム単位で、機械的にサービス担当範囲を割り当てる場合を説明したが、機械的にサービス担当範囲を割り当てる単位としては、ブロードキャストストリーム単位に限らず、例えば、サービス単位などの他の単位であってもよい。
 このように、マスタプロキシ111が、サービス担当範囲を決定する際のポリシとしては、マスタプロキシ111とスレーブプロキシ161に対し、ブロードキャストストリーム単位やサービス単位などの所定の単位で、機械的にサービス担当範囲を割り当てる規則を用いることができる。
(2)サービスのアクセス頻度に応じた担当範囲の割り当ての例
 図22は、サービスのアクセス頻度に応じた担当範囲の割り当ての例を示す図である。
 図22においては、図21と同様に、マスタ・プロキシ装置10Mと、スレーブ・プロキシ装置10S-1,10S-2で受信可能なサービスとして、サービス1乃至19の19個のサービスがスキャンされた場合を想定する。また、各ブロードキャストストリームで伝送されるサービスのストリームについても、図21と同様とされる。
 マスタ・プロキシ装置10Mで稼働するマスタプロキシ111は、これらのサービススキャン結果に基づいて、あらかじめ定められたポリシに従い、マスタプロキシ111と、スレーブプロキシ161-1,161-2が受け持つサービスの担当範囲を決定する。
 図22の例では、マスタプロキシ111と、スレーブプロキシ161-1,161-2に対し、エンドユーザのコンテンツの視聴履歴を考慮に入れて、サービス担当範囲が割り当てられている。
 ここで、図22においては、サービスごとのアクセス頻度を表したグラフ(図中のハッチングが施された四角)が示されており、図中の横方向の幅が広いグラフのサービスほど、アクセスの頻度が高いサービスであることを表している。例えば、ブロードキャストストリーム1(BS-1)においては、サービス1,3のアクセス頻度が高く、サービス4のアクセス頻度が低くなる。また、サービス2のアクセス頻度は、それらのサービスの中間の頻度となる。
 このようなサービスごとのアクセス頻度を考慮に入れることで、スキャンされた放送サービスのうち、ブロードキャストストリーム1(BS-1)のサービス1乃至4と、ブロードキャストストリーム2(BS-2)のサービス5,6は、マスタプロキシ111のサービス担当範囲に割り当てられる。
 また、ブロードキャストストリーム2(BS-2)のサービス7と、ブロードキャストストリーム3(BS-3)のサービス8,10と、ブロードキャストストリーム4(BS-4)のサービス11,12と、ブロードキャストストリーム5(BS-5)のサービス15は、スレーブプロキシ161-1のサービス担当範囲に割り当てられる。
 さらに、ブロードキャストストリーム3(BS-3)のサービス9と、ブロードキャストストリーム4(BS-4)のサービス13,14と、ブロードキャストストリーム5(BS-5)のサービス16乃至19は、スレーブプロキシ161-2のサービス担当範囲に割り当てられる。
 この例では、ブロードキャストストリーム1のサービス1,3と、ブロードキャストストリーム2のサービス6と、ブロードキャストストリーム4のサービス11,12と、ブロードキャストストリーム5のサービス15,17,19などのアクセス頻度が高いサービスが、マスタプロキシ111と、スレーブプロキシ161-1,161-2に対し、ほぼ均等に割り当てられ、サービスのアクセス頻度に応じた負荷分散がなされている。
 このように、マスタプロキシ111が、サービス担当範囲を決定する際のポリシとしては、マスタプロキシ111とスレーブプロキシ161に対し、アクセス頻度の高いサービスが、優先的に負荷分散されるように、サービス担当範囲を割り当てる規則を用いることができる。
(3)サービスのアクセス頻度に応じたBSごとの担当範囲の割り当ての例
 図23は、サービスのアクセス頻度に応じたブロードキャストストリーム(BS)ごとの担当範囲の割り当ての例を示す図である。
 図23においては、図21及び図22と同様に、マスタ・プロキシ装置10Mと、スレーブ・プロキシ装置10S-1,10S-2で受信可能なサービスとして、サービス1乃至19の19個のサービスがスキャンされた場合を想定する。また、各ブロードキャストストリームで伝送されるサービスのストリームについても、図21及び図22と同様とされる。
 マスタ・プロキシ装置10Mで稼働するマスタプロキシ111は、これらのサービススキャン結果に基づいて、あらかじめ定められたポリシに従い、マスタプロキシ111と、スレーブプロキシ161-1,161-2が受け持つサービスの担当範囲を決定する。
 図23の例では、マスタプロキシ111と、スレーブプロキシ161-1,161-2に対し、エンドユーザのコンテンツの視聴履歴を考慮に入れて、サービス担当範囲が割り当てられている。
 ここで、図23においては、ブロードキャストストリーム(BS)ごとのアクセス頻度(サービスのアクセス頻度の合計)を表したグラフ(図中のハッチングが施された四角)が示されており、図中の横方向の幅が広いグラフのブロードキャストストリームほど、アクセスの頻度が高いブロードキャストストリームであることを表している。例えば、ブロードキャストストリーム1(BS-1)乃至5(BS-5)のうち、ブロードキャストストリーム5が最もアクセス頻度高くなり、ブロードキャストストリーム1,4,2,3の順に、アクセス頻度が低くなる。
 このようなブロードキャストストリームごとのアクセス頻度を考慮に入れることで、スキャンされた放送サービスのうち、ブロードキャストストリーム2(BS-2)のサービス5乃至7と、ブロードキャストストリーム3(BS-3)のサービス8乃至10は、マスタプロキシ111のサービス担当範囲に割り当てられる。
 また、ブロードキャストストリーム1(BS-1)のサービス1乃至4と、ブロードキャストストリーム4(BS-4)のサービス11乃至14は、スレーブプロキシ161-1のサービス担当範囲に割り当てられる。さらに、ブロードキャストストリーム5(BS-5)のサービス15乃至19は、スレーブプロキシ161-2のサービス担当範囲に割り当てられる。
 この例では、アクセス頻度が最も高いブロードキャストストリーム5のみが、スレーブプロキシ161-2に対して割り当てられ、残りのブロードキャストストリーム1乃至4が、マスタプロキシ111とスレーブプロキシ161-1に対し、ほぼ均等に割り当てられ、ブロードキャストストリームのアクセス頻度に応じた負荷分散がなされている。
 このように、マスタプロキシ111が、サービス担当範囲を決定する際のポリシとしては、マスタプロキシ111とスレーブプロキシ161に対し、アクセス頻度の高いブロードキャストストリームが、優先的に負荷分散されるように、サービス担当範囲を割り当てる規則を用いることができる。
 すなわち、ここでは、同一のブロードキャストストリームIDのブロードキャストストリーム内で伝送されるサービス群のストリームのデータは、同時に処理(取得)できるため、ブロードキャストストリームのアクセス頻度に応じた負荷分散を行うことで、ストリームのデータを同時に取得できるサービスが集約されることになる。そして、ストリームのデータを同時に取得できるサービス群がまとめられることで、例えば、チャネルザッピングの高速化を図ることができる。
 また、例えば、図24に示すように、特定のブロードキャストストリームのアクセス頻度が、突出して高い場合には、それに対応した適切な負荷分散がなされるようにしてもよい。
 この例では、アクセス頻度が突出して高いブロードキャストストリーム5が、スレーブプロキシ161-1とスレーブプロキシ161-2(の2つのFWプロキシ装置10)に対して割り当てられ、残りのブロードキャストストリーム1乃至4が、マスタプロキシ111に対して割り当てられている。これにより、特定のブロードキャストストリームのアクセス頻度が、突出して高い場合でも、適切な負荷分散がなされている。
 以上、サービス担当範囲を決定する際のポリシについて説明したが、これらのポリシは一例であって、最適な負荷分散を行うことが可能なサービス担当範囲を割り当てることができる規則であれば、他のポリシを用いるようにしてもよい。
 また、これらのポリシのうち、どのポリシを使用するかは、エンドユーザが設定することができる。例えば、ポリシの設定画面が、FWプロキシ装置10又はクライアント装置20などに提示されるようにすることで、エンドユーザは、当該設定画面(のユーザインターフェース(UI:User Interface))を操作して、所望のポリシを設定することができる。なお、ポリシの設定は、エンドユーザの操作に限らず、例えば、過去のデータを蓄積しておき、機械学習などの手法を用いて設定されるようにしてもよい。
 なお、各FWプロキシ装置10が近い位置に存在する場合には、FWプロキシ装置10ごとのサービススキャン結果は同一になる可能性が高いが、運用によっては、各FWプロキシ装置10が離れた位置に存在する場合もあり、そのような場合には、FWプロキシ装置10ごとのサービススキャン結果は同一にならない可能性もあるので、そのような位置関係を考慮に入れるようにしてもよい。
 また、エンドユーザのコンテンツの視聴履歴情報は、マスタ・プロキシ装置10Mで管理するほか、スレーブ・プロキシ装置10Sや専用のサーバ(視聴履歴サーバ)を設置して、それらが管理するようにしてもよい。マスタ・プロキシ装置10M以外の他のサーバが管理する場合、マスタプロキシ111は、サービス担当範囲の決定時に、ネットワーク30に接続された他のサーバから、視聴履歴情報を取得することになる。
 また、上述した説明では、マスタプロキシ111に対しても、サービス担当範囲を割り当てていたが、マスタプロキシ111にはサービス担当範囲を割り当てずに、サービス担当範囲の割り当て処理や、リクエストリダイレクション処理などの処理だけが行われるようにしてもよい。この場合、マスタプロキシ111が稼働するマスタ・プロキシ装置10Mでは、コンテンツのストリームを受信する必要がないため、チューナを有しない専用のサーバなどを用いることができる。
(4)マスタプロキシとスレーブプロキシのトポロジの例
 次に、図25及び図26を参照して、ネットワーク30に接続されるFWプロキシ装置10とクライアント装置20のトポロジ(接続形態)を説明する。
(家庭内LAN等の場合のトポロジ)
 図25は、ネットワーク30が、家庭内LAN等の場合におけるトポロジの例を示す図である。
 図25においては、エンドユーザ宅2内の家庭内LAN等のネットワーク30に、マスタ・プロキシ装置10M、スレーブ・プロキシ装置10S-1、スレーブ・プロキシ装置10S-2、クライアント装置20-1、クライアント装置20-2、及びクライアント装置20-3が接続されている。
 また、マスタ・プロキシ装置10Mで稼働するマスタプロキシ111によって、スレーブ・プロキシ装置10S-1で稼働するスレーブプロキシ161-1と、スレーブ・プロキシ装置10S-2で稼働するスレーブプロキシ161-2に対し、サービス担当範囲が割り当てられている。
 すなわち、マスタプロキシ111には、サービス担当範囲として、サービス1乃至14が割り当てられている。同様に、サービス担当範囲として、スレーブプロキシ161-1には、サービス15乃至19が割り当てられ、スレーブプロキシ161-2には、サービス15乃至19が割り当てられている。なお、このサービス担当範囲の割り当ては、図24に示したブロードキャストストリームごとのアクセス頻度に応じた割り当てと同様である。
 ここで、クライアント装置20-1において、サービス7で配信されるコンテンツの再生が指示された場合、サービス7のDASHセグメントのリクエストは、マスタ・プロキシ装置10Mに送信される。マスタプロキシ111は、プロキシ-サービス担当範囲データベースを参照して、サービス7のDASHセグメントのリクエストを、自身(マスタプロキシ111)が担当することを決定する。
 そして、マスタ・プロキシ装置10Mでは、放送経由で配信される、サービス7のDASHセグメントファイルが処理され、クライアント装置20-1に送信される。これにより、クライアント装置20-1においては、サービス7で配信されるコンテンツが再生される。
 また、クライアント装置20-2において、サービス15で配信されるコンテンツの再生が指示された場合、サービス15のDASHセグメントのリクエストは、マスタ・プロキシ装置10Mに送信される。マスタプロキシ111は、プロキシ-サービス担当範囲データベースを参照して、サービス15のDASHセグメントのリクエストを、スレーブプロキシ161-1(又はスレーブプロキシ161-2)が担当することを決定する。
 そして、マスタプロキシ111は、スレーブプロキシ161-1に対し、サービス15のDASHセグメントのリクエストをリダイレクトする。スレーブ・プロキシ装置10S-1では、放送経由で配信される、サービス15のDASHセグメントファイルが処理され、クライアント装置20-2に送信される。これにより、クライアント装置20-2においては、サービス15で配信されるコンテンツが再生される。
 また、クライアント装置20-3において、サービス15で配信されるコンテンツの再生が指示された場合、サービス15のDASHセグメントのリクエストは、マスタ・プロキシ装置10Mに送信される。マスタプロキシ111は、プロキシ-サービス担当範囲データベースを参照して、サービス15のDASHセグメントのリクエストを、スレーブプロキシ161-2(又はスレーブプロキシ161-1)が担当することを決定する。
 そして、マスタプロキシ111は、スレーブプロキシ161-2に対し、サービス15のDASHセグメントのリクエストをリダイレクトする。スレーブ・プロキシ装置10S-2では、放送経由で配信される、サービス15のDASHセグメントファイルが処理され、クライアント装置20-3に送信される。これにより、クライアント装置20-3においては、サービス15で配信されるコンテンツが再生される。
 なお、図25においては、ネットワーク30が、エンドユーザ宅2内の家庭内LANである場合を説明したが、上述したように、マスタ・プロキシ装置10Mやスレーブ・プロキシ装置10S-1,10S-2を、例えば、ケーブルオペレータのヘッドエンドや、モバイル網の基地局などに設置されるようにして、より広範囲は領域(広範囲なLANのセグメント)をカバーするようにしてもよい。
 すなわち、例えば、マスタ・プロキシ装置10Mやスレーブ・プロキシ装置10S-1,10S-2が、ケーブルオペレータのヘッドエンドに設置される場合、テレビ受像機やパーソナルコンピュータ等のクライアント装置20-1乃至20-3は、同一のエンドユーザ宅内ではなく、ケーブルテレビのサービスを契約している各エンドユーザ宅内に設置されることになる。
 また、例えば、マスタ・プロキシ装置10Mやスレーブ・プロキシ装置10S-1,10S-2が、モバイル網の基地局に設置される場合、スマートフォンやタブレット型コンピュータ等のクライアント装置20-1乃至20-3は、モバイルサービスを契約しているエンドユーザが、屋内又は屋外で所持しているデバイスとなる。
(車車間通信の場合のトポロジ)
 図26は、ネットワーク30が、車両間の無線通信の場合におけるトポロジの例を示す図である。
 図26においては、自動車間の無線通信によるネットワーク30に、各自動車に搭載された車載機器としてのマスタ・プロキシ装置10M、スレーブ・プロキシ装置10S-1、及びスレーブ・プロキシ装置10S-2が接続されている。また、このネットワーク30には、エンドユーザにより所持されている、スマートフォンやヘッドマウントディスプレイなどのクライアント装置20-4乃至20-12が接続されている。
 なお、このような状況としては、例えば、あるイベント会場の駐車場に、多数の自動車が停車している場合に、イベントの参加者がデバイスを所持しているときなどが想定される。
 また、ある自動車内のマスタ・プロキシ装置10Mで稼働するマスタプロキシ111によって、他の自動車内のスレーブ・プロキシ装置10S-1で稼働するスレーブプロキシ161-1と、さらに他の自動車内のスレーブ・プロキシ装置10S-2で稼働するスレーブプロキシ161-2に対し、サービス担当範囲が割り当てられている。
 すなわち、マスタプロキシ111には、サービス担当範囲として、サービス1乃至4が割り当てられている。同様に、サービス担当範囲として、スレーブプロキシ161-1には、サービス5乃至10が割り当てられ、スレーブプロキシ161-2には、サービス11乃至19が割り当てられている。
 ここで、クライアント装置20-5において、サービス1で配信されるコンテンツの再生が指示された場合、サービス1のDASHセグメントのリクエストは、マスタ・プロキシ装置10Mに送信される。マスタプロキシ111は、プロキシ-サービス担当範囲データベースを参照して、サービス1のDASHセグメントのリクエストを、自身(マスタプロキシ111)が担当することを決定する。
 そして、マスタ・プロキシ装置10Mでは、放送経由で配信される、サービス1のDASHセグメントファイルが処理され、クライアント装置20-5に送信される。これにより、クライアント装置20-5においては、サービス1で配信されるコンテンツが再生される。
 また、クライアント装置20-8において、サービス10で配信されるコンテンツの再生が指示された場合、サービス10のDASHセグメントのリクエストは、マスタ・プロキシ装置10Mに送信される。マスタプロキシ111は、プロキシ-サービス担当範囲データベースを参照して、サービス10のDASHセグメントのリクエストを、スレーブプロキシ161-1が担当することを決定する。
 そして、マスタプロキシ111は、スレーブプロキシ161-1に対し、サービス10のDASHセグメントのリクエストをリダイレクトする。スレーブ・プロキシ装置10S-1では、放送経由で配信される、サービス10のDASHセグメントファイルが処理され、クライアント装置20-8に送信される。これにより、クライアント装置20-8においては、サービス10で配信されるコンテンツが再生される。
 また、クライアント装置20-11において、サービス15で配信されるコンテンツの再生が指示された場合、サービス15のDASHセグメントのリクエストは、マスタ・プロキシ装置10Mに送信される。マスタプロキシ111は、プロキシ-サービス担当範囲データベースを参照して、サービス15のDASHセグメントのリクエストを、スレーブプロキシ161-2が担当することを決定する。
 そして、マスタプロキシ111は、スレーブプロキシ161-2に対し、サービス15のDASHセグメントのリクエストをリダイレクトする。スレーブ・プロキシ装置10S-2では、放送経由で配信される、サービス15のDASHセグメントファイルが処理され、クライアント装置20-11に送信される。これにより、クライアント装置20-11においては、サービス15で配信されるコンテンツが再生される。
 以上、マスタプロキシ111とスレーブプロキシ161の実装例について説明した。
<5.変形例>
(通信経由の配信)
 上述した図1の伝送システム1においては、コンテンツのストリームが、放送伝送路60を介して放送経由で配信される場合を説明したが、コンテンツのストリームは、インターネット等の通信伝送路を介して通信経由で配信されるようにしてもよい。
 図27には、伝送システムの他の構成例を示している。図27の伝送システム6においては、図1の伝送システム1と比べて、送信側に、放送系の放送サーバ40に加えて、通信系の通信サーバ70が設けられている点が異なっている。
 FWプロキシ装置10は、放送伝送路60を介して送信される放送波を受信する受信機能とともに、インターネット80に接続可能な通信機能(通信I/F(不図示))も有している。これにより、FWプロキシ装置10は、インターネット80を介して、通信サーバ70と相互に接続され、通信を行うことが可能である。
 FWプロキシ装置10は、ネットワーク30に接続されたクライアント装置20からのリクエストを、インターネット80に接続された通信サーバ70に送信する。また、FWプロキシ装置10は、インターネット80を介して、通信サーバ70から送信されてくるコンテンツのストリームを受信し、ネットワーク30に接続されたクライアント装置20に送信(転送)する。
 ここで、上述したように、ネットワーク30に接続されるFWプロキシ装置10-1乃至10-Nにおいては、いずれかのFWプロキシ装置10が、マスタプロキシとして機能し、それ以外のFWプロキシ装置10が、スレーブプロキシとして機能するマスタ・スレーブ関係を有している。そして、FWプロキシ装置10-1乃至10-Nが、マスタ・スレーブ関係を有することで、マスタプロキシ111が稼働するマスタ・プロキシ装置10Mによって、各FWプロキシ装置10に対し、サービスの担当範囲が割り当てられるのは、先に述べた通りである。
 これにより、ネットワーク30に接続されたクライアント装置20は、エンドユーザの操作などに応じて、FWプロキシ装置10(マスタ・プロキシ装置10M、又はスレーブ・プロキシ装置10S)を介して、放送経由又は通信経由で配信されるコンテンツを再生することができる。
 通信サーバ70は、例えば、放送局などの放送事業者やその他の事業者により提供されるサーバであって、インターネット80に接続される。
 通信サーバ70は、FWプロキシ装置10からのリクエストに応じて、番組やCM等のコンテンツのファイルや制御情報を処理し、その結果得られるデータを、インターネット80を介して送信(ストリーミング配信)する。
 なお、放送サーバ40や通信サーバ70は、番組等のコンテンツだけでなく、例えば、アプリケーションなどを配信するようにしてもよい。すなわち、伝送システム6においては、アプリケーションが放送経由又は通信経由で配信され、FWプロキシ装置10を介して、クライアント装置20により受信される。
 また、伝送システム1(図1)と、伝送システム6(図27)においては、FWプロキシ装置10により、少なくとも、放送経由で配信されるコンテンツのストリームが処理される構成を示したが、送信側に、通信系の通信サーバ70のみを設け、FWプロキシ装置10では、通信経由で配信されるコンテンツのストリームのみが処理されるようにしてもよい。この場合、クライアント装置20は、通信経由で配信されるコンテンツのみを再生することになる。
(他の放送規格への適用)
 上述した説明としては、デジタル放送の規格として、米国等で採用されている方式であるATSC(特に、ATSC3.0)を説明したが、本技術は、日本等が採用する方式であるISDB(Integrated Services Digital Broadcasting)や、欧州の各国等が採用する方式であるDVB(Digital Video Broadcasting)などに適用するようにしてもよい。また、上述した説明では、IP伝送方式が採用されるATSC3.0を例にして説明したが、IP伝送方式に限らず、例えば、MPEG2-TS(Transport Stream)方式等の他の方式に適用するようにしてもよい。
 また、デジタル放送の規格としては、地上波放送のほか、放送衛星(BS:Broadcasting Satellite)や通信衛星(CS:Communications Satellite)等を利用した衛星放送や、ケーブルテレビ(CATV:Common Antenna TeleVision)等の有線放送などの規格に適用することができる。
(その他の変形例)
 上述した制御情報(シグナリング)などの名称は、一例であって、他の名称が用いられる場合がある。ただし、これらの名称の違いは、形式的な違いであって、対象の制御情報やパケットなどの実質的な内容が異なるものではない。例えば、USBD(User Service Bundle Description)は、USD(User Service Description)と称される場合がある。また、例えば、NRT(Non Real Time)は、LCC(Locally Cached Content)などと称される場合がある。
 また、DASHプレーヤは、例えば、HTML5(HyperText Markup Language 5)などのマークアップ言語やJavaScript(登録商標)等のスクリプト言語で開発されたアプリケーションのほか、例えば、Java(登録商標)などのプログラミング言語で開発されたアプリケーションとすることができる。また、このアプリケーションは、ブラウザにより実行されるアプリケーションに限らず、いわゆるネイティブアプリケーションとして、オペレーティングシステム(OS:Operating System)環境などで実行されるようにしてもよい。
 なお、アプリケーションは、何らかの情報を明示的に表示するだけでなく、非表示で(バックグラウンドで)動作されるようにしてもよい(エンドユーザに認識されずに起動するようにしてもよい)。また、コンテンツは、動画や音楽のほか、例えば、電子書籍やゲーム、広告など、あらゆるコンテンツを含めることができる。
<6.コンピュータの構成>
 上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、コンピュータにインストールされる。図28は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示す図である。
 コンピュータ1000において、CPU(Central Processing Unit)1001、ROM(Read Only Memory)1002、RAM(Random Access Memory)1003は、バス1004により相互に接続されている。バス1004には、さらに、入出力インターフェース1005が接続されている。入出力インターフェース1005には、入力部1006、出力部1007、記録部1008、通信部1009、及び、ドライブ1010が接続されている。
 入力部1006は、キーボード、マウス、マイクロフォンなどよりなる。出力部1007は、ディスプレイ、スピーカなどよりなる。記録部1008は、ハードディスクや不揮発性のメモリなどよりなる。通信部1009は、ネットワークインターフェースなどよりなる。ドライブ1010は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブル記録媒体1011を駆動する。
 以上のように構成されるコンピュータ1000では、CPU1001が、ROM1002や記録部1008に記録されているプログラムを、入出力インターフェース1005及びバス1004を介して、RAM1003にロードして実行することにより、上述した一連の処理が行われる。
 コンピュータ1000(CPU1001)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブル記録媒体1011に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線又は無線の伝送媒体を介して提供することができる。
 コンピュータ1000では、プログラムは、リムーバブル記録媒体1011をドライブ1010に装着することにより、入出力インターフェース1005を介して、記録部1008にインストールすることができる。また、プログラムは、有線又は無線の伝送媒体を介して、通信部1009で受信し、記録部1008にインストールすることができる。その他、プログラムは、ROM1002や記録部1008に、あらかじめインストールしておくことができる。
 ここで、本明細書において、コンピュータがプログラムに従って行う処理は、必ずしもフローチャートとして記載された順序に沿って時系列に行われる必要はない。すなわち、コンピュータがプログラムに従って行う処理は、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含む。また、プログラムは、1のコンピュータ(プロセッサ)により処理されるものであってもよいし、複数のコンピュータによって分散処理されるものであってもよい。
 なお、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
 また、本技術は、以下のような構成をとることができる。
(1)
 複数のサービスごとに配信されるコンテンツのストリームを受信して、ネットワークに接続されたクライアント装置に送信するプロキシであって、スレーブプロキシに対するマスタプロキシとして機能し、各プロキシに対して、あらかじめ定められたポリシに応じたサービスの担当範囲を決定する処理部を備える
 情報処理装置。
(2)
 前記処理部は、各プロキシが稼働する情報処理装置にて受信可能なサービスを示すサービススキャン結果に基づいて、前記ポリシに応じたサービスの担当範囲を決定する
 (1)に記載の情報処理装置。
(3)
 前記処理部は、各プロキシが稼働する情報処理装置の能力属性に基づいて、前記ポリシに応じたサービスの担当範囲を決定する
 (2)に記載の情報処理装置。
(4)
 前記ポリシは、各プロキシに対し、ストリーム単位又はサービス単位で、サービスの担当範囲を割り当てる規則である
 (2)又は(3)に記載の情報処理装置。
(5)
 前記ポリシは、エンドユーザのコンテンツの視聴履歴に基づいて、サービスの担当範囲を割り当てる規則である
 (2)乃至(4)のいずれかに記載の情報処理装置。
(6)
 前記処理部は、アクセス頻度の高いサービスが、優先的に負荷分散されるように、サービスの担当範囲を決定する
 (5)に記載の情報処理装置。
(7)
 前記処理部は、コンテンツのストリームのデータを同時に取得できるサービスが集約されるように、サービスの担当範囲を決定する
 (5)に記載の情報処理装置。
(8)
 前記処理部は、アクセス頻度の高いストリームが、優先的に負荷分散されるように、サービスの担当範囲を決定する
 (7)に記載の情報処理装置。
(9)
 前記処理部は、前記スレーブプロキシごとに、各スレーブプロキシの担当するサービスを示す担当範囲情報を通知する
 (2)乃至(8)のいずれかに記載の情報処理装置。
(10)
 前記処理部は、前記スレーブプロキシにより、前記担当範囲情報を取得するためのAPI(Application Programming Interface)が実行された場合に、前記担当範囲情報を、前記スレーブプロキシに通知する
 (9)に記載の情報処理装置。
(11)
 前記処理部は、
  各プロキシと、サービスの担当範囲とを対応付けたデータベースを生成し、
  前記クライアント装置から、サービスのリクエストを受けた場合、前記データベースを参照して、当該サービスを担当するプロキシに対し、当該サービスのリクエストがリダイレクションされるようにする
 (1)乃至(10)のいずれかに記載の情報処理装置。
(12)
 前記ポリシは、エンドユーザにより設定される
 (1)乃至(11)のいずれかに記載の情報処理装置。
(13)
 前記マスタプロキシが稼働する情報処理装置と、前記スレーブプロキシが稼働する他の情報処理装置では、自身のサービスの担当範囲が決定した場合に、自身の担当範囲に応じたサービスを受信するための準備が行われる
 (1)乃至(12)のいずれかに記載の情報処理装置。
(14)
 前記スレーブプロキシが稼働する他の情報処理装置は、前記ネットワーク上に複数設置されている
 (1)乃至(13)のいずれかに記載の情報処理装置。
(15)
 放送波を受信する受信部をさらに備え、
 前記処理部は、放送経由で配信される前記コンテンツのストリームを、前記ネットワークを介して前記クライアント装置に送信する
 (1)乃至(14)のいずれかに記載の情報処理装置。
(16)
 インターネット上のサーバと通信を行う通信部をさらに備え、
 前記処理部は、通信経由で配信される前記コンテンツのストリームを、前記ネットワークを介して前記クライアント装置に送信する
 (15)に記載の情報処理装置。
(17)
 情報処理装置の情報処理方法において、
 前記情報処理装置が、
 複数のサービスごとに配信されるコンテンツのストリームを受信して、ネットワークに接続されたクライアント装置に送信するプロキシであって、スレーブプロキシに対するマスタプロキシとして機能し、各プロキシに対して、あらかじめ定められたポリシに応じたサービスの担当範囲を決定するステップを含む
 情報処理方法。
(18)
 マスタプロキシが稼働する第1の情報処理装置と、スレーブプロキシが稼働する1又は複数の第2の情報処理装置と、1又は複数のクライアント装置とが、ネットワークを介して接続された情報処理システムにおいて、
 前記第1の情報処理装置は、
  複数のサービスごとに配信されるコンテンツのストリームを受信して、前記ネットワークに接続された前記クライアント装置に送信するプロキシであって、前記スレーブプロキシに対する前記マスタプロキシとして機能し、各プロキシに対して、あらかじめ定められたポリシに応じたサービスの担当範囲を決定する処理部を備え、
 前記第2の情報処理装置は、
  複数のサービスごとに配信されるコンテンツのストリームを受信して、前記ネットワークに接続された前記クライアント装置に送信するプロキシであって、前記マスタプロキシに対する前記スレーブプロキシとして機能し、前記マスタプロキシにより決定された担当範囲に応じたサービスにより配信されるコンテンツのストリームを処理する処理部を備える
 情報処理システム。
 1,6 伝送システム, 10-1乃至10-M,10 FWプロキシ装置,10M マスタ・プロキシ装置,10S スレーブ・プロキシ装置, 20-1乃至20-M,20 クライアント装置, 30 ネットワーク, 40 放送サーバ, 50 送信所, 60 放送伝送路, 70 通信サーバ, 80 インターネット, 100 処理部, 101 チューナ, 102 通信I/F, 103 記憶部, 111 マスタプロキシ, 112 UPnP/SSDPサーバ, 113 プロキシアプリマネージャ, 114 ローカルウェブサーバ, 115 SLS処理系, 150 処理部, 151 チューナ, 152 通信I/F, 153 記憶部, 161 スレーブプロキシ, 162 SLS処理系, 200 処理部, 201 通信I/F, 202 表示部, 203 スピーカ, 211 アプリケーション, 212 ブラウザ, 1000 コンピュータ, 1001 CPU

Claims (18)

  1.  複数のサービスごとに配信されるコンテンツのストリームを受信して、ネットワークに接続されたクライアント装置に送信するプロキシであって、スレーブプロキシに対するマスタプロキシとして機能し、各プロキシに対して、あらかじめ定められたポリシに応じたサービスの担当範囲を決定する処理部を備える
     情報処理装置。
  2.  前記処理部は、各プロキシが稼働する情報処理装置にて受信可能なサービスを示すサービススキャン結果に基づいて、前記ポリシに応じたサービスの担当範囲を決定する
     請求項1に記載の情報処理装置。
  3.  前記処理部は、各プロキシが稼働する情報処理装置の能力属性に基づいて、前記ポリシに応じたサービスの担当範囲を決定する
     請求項2に記載の情報処理装置。
  4.  前記ポリシは、各プロキシに対し、ストリーム単位又はサービス単位で、サービスの担当範囲を割り当てる規則である
     請求項2に記載の情報処理装置。
  5.  前記ポリシは、エンドユーザのコンテンツの視聴履歴に基づいて、サービスの担当範囲を割り当てる規則である
     請求項2に記載の情報処理装置。
  6.  前記処理部は、アクセス頻度の高いサービスが、優先的に負荷分散されるように、サービスの担当範囲を決定する
     請求項5に記載の情報処理装置。
  7.  前記処理部は、コンテンツのストリームのデータを同時に取得できるサービスが集約されるように、サービスの担当範囲を決定する
     請求項5に記載の情報処理装置。
  8.  前記処理部は、アクセス頻度の高いストリームが、優先的に負荷分散されるように、サービスの担当範囲を決定する
     請求項7に記載の情報処理装置。
  9.  前記処理部は、前記スレーブプロキシごとに、各スレーブプロキシの担当するサービスを示す担当範囲情報を通知する
     請求項2に記載の情報処理装置。
  10.  前記処理部は、前記スレーブプロキシにより、前記担当範囲情報を取得するためのAPI(Application Programming Interface)が実行された場合に、前記担当範囲情報を、前記スレーブプロキシに通知する
     請求項9に記載の情報処理装置。
  11.  前記処理部は、
      各プロキシと、サービスの担当範囲とを対応付けたデータベースを生成し、
      前記クライアント装置から、サービスのリクエストを受けた場合、前記データベースを参照して、当該サービスを担当するプロキシに対し、当該サービスのリクエストがリダイレクションされるようにする
     請求項1に記載の情報処理装置。
  12.  前記ポリシは、エンドユーザにより設定される
     請求項1に記載の情報処理装置。
  13.  前記マスタプロキシが稼働する情報処理装置と、前記スレーブプロキシが稼働する他の情報処理装置では、自身のサービスの担当範囲が決定した場合に、自身の担当範囲に応じたサービスを受信するための準備が行われる
     請求項1に記載の情報処理装置。
  14.  前記スレーブプロキシが稼働する他の情報処理装置は、前記ネットワーク上に複数設置されている
     請求項1に記載の情報処理装置。
  15.  放送波を受信する受信部をさらに備え、
     前記処理部は、放送経由で配信される前記コンテンツのストリームを、前記ネットワークを介して前記クライアント装置に送信する
     請求項1に記載の情報処理装置。
  16.  インターネット上のサーバと通信を行う通信部をさらに備え、
     前記処理部は、通信経由で配信される前記コンテンツのストリームを、前記ネットワークを介して前記クライアント装置に送信する
     請求項15に記載の情報処理装置。
  17.  情報処理装置の情報処理方法において、
     前記情報処理装置が、
     複数のサービスごとに配信されるコンテンツのストリームを受信して、ネットワークに接続されたクライアント装置に送信するプロキシであって、スレーブプロキシに対するマスタプロキシとして機能し、各プロキシに対して、あらかじめ定められたポリシに応じたサービスの担当範囲を決定するステップを含む
     情報処理方法。
  18.  マスタプロキシが稼働する第1の情報処理装置と、スレーブプロキシが稼働する1又は複数の第2の情報処理装置と、1又は複数のクライアント装置とが、ネットワークを介して接続された情報処理システムにおいて、
     前記第1の情報処理装置は、
      複数のサービスごとに配信されるコンテンツのストリームを受信して、前記ネットワークに接続された前記クライアント装置に送信するプロキシであって、前記スレーブプロキシに対する前記マスタプロキシとして機能し、各プロキシに対して、あらかじめ定められたポリシに応じたサービスの担当範囲を決定する処理部を備え、
     前記第2の情報処理装置は、
      複数のサービスごとに配信されるコンテンツのストリームを受信して、前記ネットワークに接続された前記クライアント装置に送信するプロキシであって、前記マスタプロキシに対する前記スレーブプロキシとして機能し、前記マスタプロキシにより決定された担当範囲に応じたサービスにより配信されるコンテンツのストリームを処理する処理部を備える
     情報処理システム。
PCT/JP2017/029340 2016-08-29 2017-08-15 情報処理装置、情報処理方法、及び、情報処理システム WO2018043111A1 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
US16/319,524 US10979495B2 (en) 2016-08-29 2017-08-15 Information processing apparatus, information processing method, and information processing system
CA3034586A CA3034586A1 (en) 2016-08-29 2017-08-15 Information processing apparatus, information processing method, and information processing system
JP2018537100A JPWO2018043111A1 (ja) 2016-08-29 2017-08-15 情報処理装置、情報処理方法、及び、情報処理システム
MX2019002343A MX2019002343A (es) 2016-08-29 2017-08-15 Aparato de procesamiento de la informacion, metodo de procesamiento de la informacion, y sistema de procesamiento de la informacion.
EP17846119.0A EP3506115B1 (en) 2016-08-29 2017-08-15 Information processing device
BR112019003507A BR112019003507A8 (pt) 2016-08-29 2017-08-15 Aparelho, método e sistema de processamento de informação
KR1020197004682A KR102345869B1 (ko) 2016-08-29 2017-08-15 정보 처리 장치, 정보 처리 방법, 및 정보 처리 시스템

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016166782 2016-08-29
JP2016-166782 2016-08-29

Publications (1)

Publication Number Publication Date
WO2018043111A1 true WO2018043111A1 (ja) 2018-03-08

Family

ID=61301896

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/029340 WO2018043111A1 (ja) 2016-08-29 2017-08-15 情報処理装置、情報処理方法、及び、情報処理システム

Country Status (8)

Country Link
US (1) US10979495B2 (ja)
EP (1) EP3506115B1 (ja)
JP (1) JPWO2018043111A1 (ja)
KR (1) KR102345869B1 (ja)
BR (1) BR112019003507A8 (ja)
CA (1) CA3034586A1 (ja)
MX (1) MX2019002343A (ja)
WO (1) WO2018043111A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11270115B2 (en) * 2019-11-18 2022-03-08 Lenovo (Singapore) Pte. Ltd. Presentation of augmented reality content based on identification of trigger accompanying video content
US20230370900A1 (en) * 2022-05-11 2023-11-16 Cisco Technology, Inc. Cpri link-rate auto-negotiation based on available bandwidth in ethernet-based fronthaul network
TWI806632B (zh) * 2022-05-27 2023-06-21 新加坡商聯發科技(新加坡)私人有限公司 影音播放裝置及其影音信號資訊顯示方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007032549A1 (ja) * 2005-09-14 2007-03-22 Nec Corporation コンテンツ配信方法及びシステム
JP2014112768A (ja) * 2012-12-05 2014-06-19 Hitachi Ltd 自動障害対応キャッシュシステム及びキャッシュサーバの障害対応処理方法並びにキャッシュマネージャ
JP2015049650A (ja) 2013-08-30 2015-03-16 ソニー株式会社 サーバ装置、情報処理方法、プログラム、端末装置、およびコンテンツ供給システム
WO2016067989A1 (ja) * 2014-10-28 2016-05-06 ソニー株式会社 受信装置、送信装置、およびデータ処理方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090056836A (ko) * 2007-11-30 2009-06-03 포스데이타 주식회사 무선 통신 시스템에서 mcbcs와 매크로 다이버시티를 위한 mcbcs 프락시 선정을 지원하는 장치 및 방법
US8635440B2 (en) * 2007-12-13 2014-01-21 Microsoft Corporation Proxy with layer 3 security
US20120072946A1 (en) * 2010-09-16 2012-03-22 Kevin Cranman Customized barker channels for viewers of a cable system
US20140199044A1 (en) * 2013-01-15 2014-07-17 Qualcomm Incorporated Supporting transport diversity and time-shifted buffers for media streaming over a network
US9584557B2 (en) * 2013-03-15 2017-02-28 Arris Enterprises, Inc. Proxy for facilitating streaming of media from server to client
US9674251B2 (en) 2013-06-17 2017-06-06 Qualcomm Incorporated Mediating content delivery via one or more services
WO2016140479A1 (ko) * 2015-03-01 2016-09-09 엘지전자 주식회사 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
US9563514B2 (en) * 2015-06-19 2017-02-07 Commvault Systems, Inc. Assignment of proxies for virtual-machine secondary copy operations including streaming backup jobs

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007032549A1 (ja) * 2005-09-14 2007-03-22 Nec Corporation コンテンツ配信方法及びシステム
JP2014112768A (ja) * 2012-12-05 2014-06-19 Hitachi Ltd 自動障害対応キャッシュシステム及びキャッシュサーバの障害対応処理方法並びにキャッシュマネージャ
JP2015049650A (ja) 2013-08-30 2015-03-16 ソニー株式会社 サーバ装置、情報処理方法、プログラム、端末装置、およびコンテンツ供給システム
WO2016067989A1 (ja) * 2014-10-28 2016-05-06 ソニー株式会社 受信装置、送信装置、およびデータ処理方法

Non-Patent Citations (1)

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

Also Published As

Publication number Publication date
US10979495B2 (en) 2021-04-13
KR102345869B1 (ko) 2022-01-03
EP3506115B1 (en) 2020-10-07
US20200244725A1 (en) 2020-07-30
CA3034586A1 (en) 2018-03-08
JPWO2018043111A1 (ja) 2019-06-24
KR20190045169A (ko) 2019-05-02
MX2019002343A (es) 2019-07-04
EP3506115A4 (en) 2019-07-31
BR112019003507A8 (pt) 2023-02-07
EP3506115A1 (en) 2019-07-03
BR112019003507A2 (pt) 2019-05-21

Similar Documents

Publication Publication Date Title
US8135844B2 (en) Content providing server, information processing device and method, and computer program
US8156523B2 (en) System and method of providing television program sharing service
CN101861729B (zh) 通过使用会话初始化协议发现互联网协议电视服务iptv提供商和iptv服务的方法和设备
US11374670B2 (en) Receiving device, transmitting device, and data processing method
KR102496890B1 (ko) 정보 처리 장치, 클라이언트 장치, 및 데이터 처리 방법
KR102443060B1 (ko) 정보 처리 장치 및 정보 처리 방법
US20110296460A1 (en) Method and apparatus for providing remote user interface (ui) service
KR102532046B1 (ko) 수신 장치, 송신 장치 및 데이터 처리 방법
WO2018043111A1 (ja) 情報処理装置、情報処理方法、及び、情報処理システム
KR20070028077A (ko) 디지털 방송의 데이터 서비스가 가능한 dlna 시스템과그 데이터 서비스 처리 방법
US20110142212A1 (en) Method and apparatus for providing service oriented common access network service
US8661473B2 (en) Apparatus and method for providing contents in internet broadcasting system
JP2010537559A (ja) 大型ceデバイス実装のための階層化ネットワーク構造
CN106535005B (zh) 一种实现播控业务的方法和装置
WO2018021015A1 (ja) 受信装置、送信装置、及び、データ処理方法
EP3073711A1 (en) Distributed microcaching for content delivery
CA2763709A1 (en) Method of processing data on epg in service provider connected to network and digital broadcast receiver of processing data on epg
US20130061274A1 (en) Apparatus and method for managing a plurality of services
KR101564464B1 (ko) 디스플레이장치 및 채널 설정 방법
KR20110132194A (ko) 리모트 ui 서비스 제공 방법 및 장치

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2018537100

Country of ref document: JP

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 20197004682

Country of ref document: KR

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 3034586

Country of ref document: CA

NENP Non-entry into the national phase

Ref country code: DE

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112019003507

Country of ref document: BR

WWE Wipo information: entry into national phase

Ref document number: 2017846119

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 112019003507

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20190221