WO2011136581A2 - Method for setting up a network and an iptv receiver using same - Google Patents

Method for setting up a network and an iptv receiver using same Download PDF

Info

Publication number
WO2011136581A2
WO2011136581A2 PCT/KR2011/003150 KR2011003150W WO2011136581A2 WO 2011136581 A2 WO2011136581 A2 WO 2011136581A2 KR 2011003150 W KR2011003150 W KR 2011003150W WO 2011136581 A2 WO2011136581 A2 WO 2011136581A2
Authority
WO
WIPO (PCT)
Prior art keywords
port
application
gateway
network
dae
Prior art date
Application number
PCT/KR2011/003150
Other languages
French (fr)
Korean (ko)
Other versions
WO2011136581A3 (en
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 엘지전자 주식회사
Publication of WO2011136581A2 publication Critical patent/WO2011136581A2/en
Publication of WO2011136581A3 publication Critical patent/WO2011136581A3/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4433Implementing client middleware, e.g. Multimedia Home Platform [MHP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • H04N21/4351Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream involving reassembling additional data, e.g. rebuilding an executable program from recovered modules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6125Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6156Network physical structure; Signal processing specially adapted to the upstream path of the transmission network
    • H04N21/6175Network physical structure; Signal processing specially adapted to the upstream path of the transmission network involving transmission via Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • H04N21/8193Monomedia components thereof involving executable data, e.g. software dedicated tools, e.g. video decoder software or IPMP tool

Definitions

  • the present invention relates to a network setting method and an IPTV receiver using the same, and more particularly, to a network setting method for mapping a port so that an application running on the IPTV receiver can directly communicate with an external network, and an IPTV receiver for the same. will be.
  • a digital broadcast receiver capable of receiving a content service using an internet network, for example, an IPTV, may receive and provide various information services, video contents, and broadcasts to a user using the internet network.
  • the Internet network may be implemented on various types of networks such as an optical cable network, a coaxial cable network, a fiber to the home (FTTH), a telephone network, and a wireless network based on an IP (Internet Protocol).
  • IP Internet Protocol
  • An object of the present invention is to provide a method for configuring a network to map ports for independent communication between an application running on an IPTV and an external network, and an IPTV receiver for the same.
  • a network setting method for an application executed in an IPTV receiver includes the steps of downloading an application executed in a Declarative Application Environment (DAE); Initializing the downloaded application; Obtaining an address of a gateway connected to the IPTV receiver; Requesting the connected gateway to map a port for communication between the application and an external network; And operating the application using the port mapped by the request.
  • DAE Declarative Application Environment
  • An IPTV receiver for receiving an application running in the Declarative Application Environment (DAE); And initializing the downloaded application, obtaining an address of a gateway to which the IPTV receiver is connected, requesting the connected gateway to map a port for communication between the application and an external network, and mapping the port mapped by the request. It includes a control unit for operating the application by using.
  • DAE Declarative Application Environment
  • the application running on the IPTV receiver can be automatically mapped to a port so that the application can communicate independently with the external network, thereby making it easier to use the application.
  • the DAE application can efficiently use resources by automatically mapping and closing ports by using an API according to the present invention without the help of a specific library or software.
  • 1 is an example of a system configuration in which an IPTV is connected to a network through a gateway and operates.
  • FIG. 2 shows a general architecture for event notification on an IPTV receiver.
  • FIG. 3 shows an example of a system configuration diagram in which a gateway forms a network.
  • FIG. 4 is a flowchart of an operation in which an IPTV receiver discovers a gateway and uses a service.
  • FIG. 5 is a diagram illustrating a system configuration of an access network and a home network environment according to an embodiment of the present invention.
  • FIG 6 illustrates an operating environment of an object according to an embodiment of the present invention.
  • FIG. 7 shows a table defining data required for a network setting method according to an embodiment of the present invention.
  • FIG. 8 shows a table defining properties and events required in a network configuration method according to an embodiment of the present invention.
  • FIG. 9 shows a table defining an addPortMapping function in a network configuration method according to an embodiment of the present invention.
  • FIG. 10 is a sequential diagram of an addPortMapping function in a network configuration method according to an embodiment of the present invention.
  • FIG. 11 illustrates a table in which an addAnyPortMapping function is defined in a network configuration method according to an embodiment of the present invention.
  • FIG. 12 is a sequential diagram of an addAnyPortMapping function in a network configuration method according to an embodiment of the present invention.
  • FIG. 13 is a table illustrating a deletePortMapping function in a network configuration method according to an embodiment of the present invention.
  • FIG. 14 illustrates a table in which a deletePortMappingRange function is defined in a network configuration method according to an embodiment of the present invention.
  • 15 is a sequential diagram of a deletePortMapping function in a network configuration method according to an embodiment of the present invention.
  • FIG. 16 is a sequential diagram of port release over time in a network configuration method according to an embodiment of the present invention.
  • FIG. 17 illustrates an example of executing a network setting method using JavaScript according to an embodiment of the present invention.
  • FIG. 18 shows a configuration of an IPTV receiver according to an embodiment of the present invention.
  • the present patent relates to a method for mapping a communication port for an application running in a web browser environment connected to a network and an IPTV receiver for the same.
  • the IPTV receiver used in the claims may include an IPTV receiver, an Open IPTV Terminal Function (OITF), or any client device or device on which an application can be installed and executed in the present specification.
  • OITF Open IPTV Terminal Function
  • a DAE application is illustrated herein.
  • the network setting method used in the claims may include a series of operations for performing port mapping on the IPTV receiver and releasing or deleting the mapped port.
  • FIG. 1 is an example of a system configuration in which an IPTV is connected to a network through a gateway and operates.
  • FIG. 1 may describe an environment in which an IPTV may operate.
  • Most IPTV service providers provide private gateways (20, ADSL modems, etc.) in their homes to provide IPTV services reliably.
  • a user may selectively provide a telephone service.
  • the gateway 20 should provide functions to control these services so that the services subscribed to by the user work well.
  • IPTV should transmit a large amount of multimedia streams, and PCs should also be responsible for data transmission to access the Internet.
  • an IPTV receiver is connected to a network using a gateway 20 to access a consumer manufacturer, a content provider, and a network service provider.
  • a consumer manufacturer and a content provider may play a role of providing a product, content, or an IPTV service to a user.
  • the network service provider may provide a network to the gateway 20, a consumer manufacturer, and a content provider to connect them with each other.
  • the network may be a wired or wireless wide area network, an access network, and a backbone network.
  • the IPTV receiver 10 is a device for receiving an IPTV service through a network and outputting it to the display 30.
  • the IPTV receiver 10 may be configured as an IPTV terminal function (ITF) or an open IPTV terminal function (OITF). set top box), a PC, a mobile terminal, a smartphone, and the like.
  • ITF IPTV terminal function
  • OITF open IPTV terminal function
  • the IPTV receiver 10 and the display 30 are configured independently, but the IPTV receiver 10 may be embedded in the display 30.
  • an IPTV receiver is described for an OITF, a hybrid IPTV receiver, and an ITF.
  • the gateway 20 performs a function of connecting the IPTV receiver 10 to a network, and may include a DSL modem, a cable modem, a router, and a wireless access point.
  • the gateway 20 may be provided by an IPTV service provider or a network service provider and control communication so that an IPTV or internet service that a user subscribes to can operate well.
  • the IPTV receiver may control a communication port, a data transmission speed, and a usage amount so that a large capacity multimedia stream can be smoothly transmitted and data transmitted.
  • a home network may be formed by other digital home appliances other than the IPTV receiver 10 connected to the network by additionally connecting to the gateway 20.
  • the gateway 20 is used by general purpose devices, there is a limit in managing by the service provider who provided the gateway 20. That is, since many kinds of devices accessing the home network formed by the gateway 20 must be connected and operated, users can directly operate the gateway 20 so that other home appliances can access the Internet. It is necessary to change the setting of the gateway 20 to be able to do so. In this case, IPTV service providers generally set and operate the gateway 20 as a default setting value so that the gateway 20 can smoothly perform a function even in such a complicated environment.
  • the gateway 20 may be difficult for a general user to access the gateway 20 and change difficult settings. This is because even when the gateway 20 is misconfigured, even the IPTV service smoothly provided may not operate. As described above, the configuration of the gateway 20 is essential for network use, and complicated procedures such as inputting the gateway address and password using a PC or the like are required. There is an inconvenience that can be performed smoothly.
  • an application operating by connecting to a network on an IPTV needs to use a communication port independently.
  • the gateway 20 In order for an external server to access a corresponding application on an IPTV through an external wide area network (WAN), the gateway 20 is blocked for security reasons.
  • Communication port must be open. However, setting and disabling communication put every time an application is used is difficult and cumbersome for the general user.
  • FIG. 2 shows a general architecture for event notification on an IPTV receiver.
  • a DAE application is operating on a Declarative Application Environment (DAE) as an application that communicates with a remote UI server.
  • DAE Declarative Application Environment
  • the remote UI server may be an IPTV service provider or a third Internet server.
  • the third Internet server may be a network service provider or application developer or provider of applications.
  • the remote UI server may be any device in a home network such as a WAN gateway, an application gateway, or an IMS gateway.
  • Open IPTV Terminal Function may represent an IPTV receiver.
  • the OITF is a Remote UI Client, and can transmit and receive data with, for example, an HTTP protocol with a remote UI server at a remote location.
  • the remote UI server sends a notification to the remote UI client to inform the user of the change.
  • OITF has a built-in User Input Handler that can receive input signals from the user's remote controller to the DAE application by local script binding. That is, notification of all data transmissions and events can be delivered to and processed by the DAE application.
  • DAE Declarative Application Environment
  • the DAE is a typical network communication program that attempts to communicate externally using the HTTP protocol, and applications such as CE-HTML, ECMA Script, HTML, or JavaScript programs can operate.
  • applications such as CE-HTML, ECMA Script, HTML, or JavaScript programs can operate.
  • any document or script that is played and executed in a DAE can be referred to as an application.
  • These applications can be downloaded to the DAE from the network and run on IPTV.
  • a communication port may need to be opened at the gateway for independent communication when necessary. In this case, the DAE has no built-in capability to open the communication port itself.
  • In-session notification is a way in which the UI can be dynamically dynamically exchanged without reloading the XHTML page between the remote UI server and the IPTV receiver, using a NotifiSocket object or an XMLHttpRequest object.
  • the NotifiSocket object creates a persistent TCP connection between the DAE application and the remote UI server to send and receive real-time events.
  • the XMLHttpRequest object allows you to create an independent HTTP connection channel to support XML updates between your DAE application and a remote UI server.
  • the Event Notification Handler runs on the DAE.
  • transmission and reception of an event generated when the DAE application is inactive may be transmitted and received by a third party notification method.
  • the third notification can be utilized when the remote UI server broadcasts an important message, such as an emergency alert message.
  • a third party notification handler may be operated in the DAE.
  • the third notification hamler may launch / invoke a new DAE application to retrieve and present the UI content using the URL included in the received event message.
  • Event information on the IPTV receiver can be delivered by binding a local script (local script or home network control script).
  • FIG. 2 illustrates a signal flow for event notification between a remote UI server and an IPTV receiver on a home network domain or an Internet domain such as a wide area network (WAN) or an access network.
  • the notification of the event is transmitted and received through the gateway.
  • the gateway can handle not only IPTV-related data transmission but also non-real-time data requested by a PC.
  • the gateway connects devices in the home network to the Internet and plays an important role in delivering IPTV services.
  • the IPTV receiver may receive events such as UI updates or transmission and reception of information from a server on the external Internet or from a device in a home network. If the event occurs on the remote controller of the IPTV receiver itself, the UI handler recognizes it and forwards it to the DAE application, and the event is delivered to the remote UI server by way of in-session notification or third-party notification, depending on whether the DAE application is active. Can be. Similarly, when an event occurs at a remote UI server, it may be delivered to the DAE application in the manner of an in-session notification or a third notification.
  • the DAE may be middleware serving as an embedded web browser environment or an application execution environment in which an application may access and operate on a network on an IPTV receiver.
  • applications such as HTML or Javascript documents or programs can run.
  • applications such as all documents or scripts downloaded and executed in the DAE are collectively referred to as DAE applications.
  • a DAE application, a UI handler, an event notification handler, and a third party notification handler operate on a DAE of an IPTV receiver.
  • DAE application is an application that can communicate with a remote UI server using XHTML protocol and can be downloaded to DAE for operation and execution on DAE.It is composed of CE-HTML (Consumer Electronics HTML), ECMA Script, CSS, HTML, SVG, It may be a script, a game, a communication program, a mail program, a web browser. Meanwhile, an event generated while the DAE application is executed or an event generated when the DAE application is not executed may be transmitted and received through a predetermined communication channel as described above. That is, in order for DAE application to operate, it is necessary to open the necessary communication port on the gateway for independent communication with the remote UI server. When the port mapping is required for the communication of the DAE application running in the IPTV receiver, the present invention can provide an API supporting this.
  • FIG. 3 shows an example of a system configuration diagram in which a gateway forms a network.
  • a gateway connects a home network and an access network so that an IPTV application server and an IPTV receiver can communicate.
  • An access network is a dedicated network provided for subscribers by an IPTV service or an Internet service provider, and may be connected to a wide area network (not shown, WAM) or a public network (not shown), and the access network itself is a wide area network or a public network. It can also be configured.
  • the home network may be configured as a local area network or a local area network connected to an IPTV receiver and various devices capable of accessing and communicating with the network.
  • a home network can be a network that binds together nearby areas within a home, office, or school.
  • the home network may be formed by a gateway provided in the corresponding communication network (Home Network Configuration).
  • Home Network Configuration Referring to FIG. 3, a home network is formed on the right side of the gateway.
  • This home network area may mean a communication network in a home, and various communication devices and communicable devices may be connected through the home network area.
  • a home network can be connected to a PC to use the Internet.
  • the gateway performs network setup to allow IPTV receivers and devices in the home network to connect to the network.
  • This is a provisioning phase, which includes a configuration where an IP address is assigned for communication with an external access network.
  • the gateway may also be assigned a server address of a DNS (Domain Name Service) required for communication.
  • DNS Domain Name Service
  • an IP address or the like can be set, or a user can set basic settings for performing communication.
  • all kinds of communication can not be freely performed by being assigned an IP address.
  • the gateway may also perform a firewall function, which is a function for defending the home network from external unauthorized or unsolicited connection attempts.
  • the firewall prevents external access to designated communication ports to provide only safe and reliable services to users. Specifically, the firewall allows the connection to be rejected when a connection request is received from a specific IP address or group of IP addresses.
  • a security function of a gateway such as a firewall
  • a gateway such as a firewall
  • the DAE application needs to communicate by opening a specific communication port in order to perform independent communication with an external server, in this case, the user must identify the firewall status and release the setting. Accordingly, the user's home network environment is becoming more complicated, and connected devices are becoming more diverse. Therefore, for the safe and flexible management of the home network, it is necessary to manage and control the gateway such as port setting and blocking.
  • the gateway may prioritize the flow of data transmitted through the gateway or perform a quality of service (QoS) to guarantee data transmission performance.
  • QoS quality of service
  • the gateway may also provide a Notification Service such as the event notification described with reference to FIG. 2.
  • Gateway discovery illustrated in FIG. 4, may be performed by creating an application / oipfGatewayInfo object that is an object of a gateway class and calling a predefined function.
  • the IPTV receiver transmits a discovery request of the gateway.
  • the IPTV receiver may call functions such as onDiscoverIG, onDiscoverAG, and onDiscoverCSPG to call discovery events of an IP Multimedia Subsystem Gateway (IG), an Application Gateway (AG), and a Content and Service Protection Gateway (CSPG).
  • the IPTV receiver may call a function such as onDiscoverWG to call a discovery event of a WAN gateway (WG).
  • the gateway corresponding to the discovery request transmits a response message.
  • the service description information of the gateway may be transmitted together.
  • the gateway service description information of the gateway may include, for example, a property indicating the URL information of the WG, such as wgURL, or information on functions supported by the WG, such as isWANDiscovered (). The properties and functions of the WG will be described later.
  • the IPTV receiver may subscribe to any one of the service description information of the gateway received in step S12.
  • the gateway may transmit information about the subscribed service, for example, an event notification.
  • the UPnP function may be used to transmit and receive events between the gateway and the IPTV receiver.
  • the above-described discovery process of the gateway may be performed before the DAE application is initialized.
  • the DAE application may perform communication such as requesting port mapping to the gateway using the received gateway service description information.
  • FIG. 5 is a diagram illustrating a system configuration of an access network and a home network environment according to an embodiment of the present invention.
  • the home network 1 and the home network 2 are connected to an external access network through the gateway 1 and the gateway 2.
  • An access network may be a public network, a wide area network (WAN), or a dedicated network provided by a network provider.
  • the access network is a network distinct from the home network, and is used to communicate with devices of an external application server or another home network. It may include all general purpose communication networks.
  • an access network, a broadband communication network, and a public network are collectively described as external networks.
  • a home network is a local area network in a nearby area such as a home, office, or school, and may include a local area network (LAN) and a private network.
  • LAN local area network
  • a home network refers to a local area network including an IPTV receiver and devices connected by one gateway, which will be collectively described as a home network.
  • the server may be an application server for communicating DAE applications running on an IPTV receiver according to an embodiment of the present invention.
  • the server may communicate by assigning a public IP address (Public IP Address or External IP Address) only to a specific gateway in order to effectively configure their network. This is because the IP address is finite and cannot be assigned to all other devices in the user's home network. This assignment of IP addresses only to gateways provides a security advantage and can be used to communicate with specific gateways from external networks.
  • a public IP address Public IP Address or External IP Address
  • IPTV receivers and devices in a home network formed by a specific gateway are not assigned separate public IP addresses, there is a difficulty in direct communication with an external network.
  • the gateway When the gateway receives a communication request between devices in the home network from the external network or vice versa, the gateway temporarily assigns a private IP address to the device to enable communication. Once a private IP address is assigned, devices in the home network can use this address to communicate between devices in the home network, but not outside the home network because it is not a public IP address. This is because private IP addresses are invalid addresses.
  • the gateway manages a private IP address in the home network, and the server manages a public IP address of the gateway, so that communication between the external network and the home network can be smoothly performed through the gateway.
  • the gateway when one of the devices in the home network communicates with the external network, the gateway converts the private IP address of the device into a public IP address and converts the internal port to which the device is connected to the external port to convert the data into the external network. To be transmitted.
  • data packets designated to a specific external port may be converted into a private IP address of a device in the home network and transmitted. This allows devices with private IP addresses to communicate with the external network.
  • a communication port and an allocated private IP address used by the application need to be set and managed.
  • no data structure or the like regarding the interface required for such setting is defined.
  • the DAE application running on the IPTV receiver and other devices of the home network can provide an API for network configuration.
  • FIG. 6 illustrates an operating environment of an object according to an embodiment of the present invention.
  • an operating system OS
  • H / W hardware
  • DAE equipped with a DAE Supported Package
  • the DAE Supported Package contains the resources required by the DAE, includes the resources to communicate with the gateway using Universal Plug and Play modules, and must be supported under the DAE module.
  • the functions required by the DAE can be included in the DAE Supported Package.
  • the DAE is an environment in which DAE applications can run. It can discover gateways and create oipfGatewayInfo objects, which are objects of the gateway class. In addition, when a request for port mapping, which will be described later, is received from the DAE application, it may communicate with the gateway using the UPnP function.
  • the DAE application is an application downloaded and executed in the DAE and may communicate with the application server using JavaScript or CE-HTML (Consumer Electronics-HTML) protocol.
  • JavaScript or CE-HTML (Consumer Electronics-HTML) protocol.
  • FIG. 7 shows a table defining data required for a network setting method according to an embodiment of the present invention. Specifically, attribute, unit, and description information of data required for a network setting method according to an embodiment of the present invention are shown.
  • the ID is identification information of the port mapping set by the gateway, and the identification information of the port mapping may be generated by assigning numbers in sequence or arbitrarily when the gateway performs port mapping.
  • the Remote IP Address is an IP address of an external server or device to be selectively connected through an external network, and represents a public IP address.
  • a DAE application wants to communicate only with an application server, it may mean a public IP address of the application server.
  • the DAE application wants to communicate only with an IPTV receiver or a home appliance connected in another home network, the DAE application may indicate a public IP address of the IPTV receiver and the home appliance.
  • the DAE application when a DAE application configures a remote IP address when port mapping, the DAE application may allow access only from a server or a device corresponding to the remote IP address.
  • the DAE application does not set the RemoteIPAddress at the time of port mapping or sets it to "255.255.255.255", it can allow access from all servers and devices from the external network.
  • External port refers to a port number for communicating with a designated server or device in an external network. That is, an external port refers to a port that enters a gate from an external network.
  • Start Number Of External Port refers to the start number of the external port among the ports of the gateway.
  • the end number of the external port refers to the end number of the external port among the ports of the gateway.
  • the internal IP address means a private IP address of an IPTV receiver or device connected to a home network. Internal IP addresses are not recognized on the external network, but only on the gateways that make up the home network.
  • the internal IP address may include the private IP address described above.
  • Internal Port refers to the internal port used by an IPTV receiver or device equipped with a DAE application.
  • the DAE application requests port mapping, the internal port may be inputted and requested, but if not, the same port number as the external port may be set.
  • the start number of internal ports refers to the start number of internal ports among the ports of the gateway.
  • End number of internal port means the end number of the internal port among the ports of the gateway.
  • Protocol refers to a communication protocol type used when using a port mapped port. For example, '0' can be set for TCP and '1' for UDP.
  • Lifetime represents time information about the retention time of the port mapping. Since the ports of the gateway are finite, maintaining port mapping continuously can be inefficient in terms of the use of gateway resources. According to the present invention, the application sets the life time at the request of the port mapping so that the port mapping is released when the corresponding lifetime is reached, thereby effectively utilizing the port. Meanwhile, although the unit of the life time is illustrated as DateTime in FIG. 7, the present invention is not limited thereto. For example, the unit of life time may be set to a time unit such as hours, minute, or seconds.
  • the service name may mean the name of the DAE application or service that requested port mapping.
  • FIG. 8 shows a table defining properties and events required in a network configuration method according to an embodiment of the present invention.
  • Properties and events illustrated in FIG. 8 may be information supported and used in an oipfGatewayInfo object according to an embodiment of the present invention.
  • the oipfGatewayInfo object may be created before the DAE application is initialized, and may perform a function of initiating an accessible gateway and collecting gateway information.
  • a DAE application requests port mapping, it allows the oipfGatewayInfo object to call the necessary functions.
  • the gateway that is requested for port mapping is a WAN gateway. Since the DAE mounted in the IPTV receiver supports UPnP, the WAN gateway may be a gateway provided with at least UPnP function.
  • the wgURL property may indicate the URL address of the WAN gateway found by the gateway discovery request.
  • the isWGDiscovered property is a property indicating whether a WAN gateway has been discovered and may include a value of true or false.
  • an 'onDiscoverWG' event may be included.
  • onDiscoverWG indicates the Notification event that the DAE invokes when the WAN Gateway is found as UPnP.
  • the DAE application can identify it and request port mapping from the WAN gateway.
  • FIG. 9 shows a table defining an addPortMapping function in a network configuration method according to an embodiment of the present invention.
  • the addPortMapping function is a function called to request a port mapping for a specific external port to a WAN gateway in order for a DAE application to communicate directly with a server of an external network.
  • the addPortMapping function is the service name of the application (serviceName), the server address of the external network to connect to (remoteIPAddress), the external port number to map (externalPort), the internal IP address of the device running the DAE application or the IPTV receiver (internalIPAddress).
  • the internal port number (internalPort), the protocol used, and the lifetime that the DAE application intends to use may be input as an argument. If the port mapping to the input external port is successful, '0' is returned. Otherwise, as shown in FIG. 9, another result may be returned.
  • FIG. 10 is a sequential diagram of the addPortMapping function of FIG. 9 in the network configuration method according to an embodiment of the present invention.
  • the server illustrated in FIG. 10 may be a server for providing a DAE application executed in an IPTV receiver.
  • the gateway may be a WAN gateway provided with UPnP function to communicate with the DAE supporting the DAE Supported Package.
  • the DAE may be an environment in which the DAE application is executed in the IPTV receiver.
  • the DAE requests a DAE application from the server.
  • the DAE application request may be requested by an event handler after detecting an event generated in a user interface such as a remote controller.
  • a specific application is listed in an application information table (AIT) while watching a channel of a specific broadcaster on an IPTV, and a user selects a specific application in a list through a remote controller as an example.
  • the IPTV receiver may access the application server and request an application through URL information of the application server included in the UI of the selected application.
  • the server sends the requested DAE application to the IPTV receiver for download to the DAE.
  • resources necessary for executing the application may be transmitted using the HTTP protocol.
  • the DAE application runs on the DAE.
  • the DAE application is initialized.
  • the application may be initiated or started by a user interface on the IPTV receiver. For example, when the user selects the start of the downloaded application.
  • the DAE can execute the downloaded application by creating an application object of the application class and calling the application.createapplication () function.
  • Discovery and notification of the gateway may be executed before the DAE application is executed and initialized, or while the DAE application is running. At this time, if the IPTV receiver discovers the WAN gateway and obtains the WAN URL, the onDiscoverWG event may be called. In addition, when the WAN gateway is turned off and on, the WAN gateway may be found and the onDiscoverWG event may be called. In this case, the URL of the WAN gateway may be updated.
  • the DAE application may recognize the discovery of the WAN Gatewa and obtain the WAN URL.
  • the DAE application requests the port mapping from the gateway using the obtained WAN URL.
  • the addPortMapping () function can be called to request port mapping.
  • the addPortMapping () function performs a function of requesting firewall release and port mapping of an external port when a specific external port is input as an argument so that a DAE application can directly communicate with a server and a device on the external network. That is, the IPTV receiver transmits at least one of identification information of an application, address information of an external server or device to be connected, external port information, internal port information, a protocol type, and a lifetime of the external port to the gateway, thereby mapping the port. You can request
  • the DAE requests UPnP port mapping for the external port number entered as an argument to the gateway using UPnP.
  • the gateway opens the port to perform a firewall release or port mapping to the requested external port. If the requested external port is in use, an error (Conflict in Port Mapping) is returned.
  • the gateway accepts the mapping of the requested external port.
  • the DAE receives the results of the port mapping.
  • the DAE application receives, for example, '0' as a result indicating that the port mapping was successful.
  • the DAE application starts the application using the external port assigned by the port mapping. That is, the IPTV receiver can operate the DAE application, and can access the external network through the port mapped by the request to operate the application.
  • a DAE application can request the DAE to open a server socket.
  • the server socket may mean an endpoint for a DAE application to perform bidirectional communication between an external server, an application, or a device, and operate as a server with respect to the external application or device.
  • the DAE application of the IPTV receiver may exchange data with an external application or the like through the server socket.
  • the DAE creates a server socket and returns 'OK'.
  • the DAE application may send information about the external port allocated by the port mapping to the application server. In this way, the application server and the DAE application can communicate directly.
  • the DAE application may also request the application server to inform other DAE application clients of the information about the external port assigned by the port mapping.
  • the application server informs the DAE application of the other device of the external port according to the request, the DAE application of the other device and the DAE application of the IPTV receiver can communicate directly without relaying the application.
  • mapping to the requested external port is not successful as described above, for example, if the input external port is already in use or does not exist, it is necessary to request the port mapping to another external port. In this case, the operation time of the DAE application becomes long.
  • FIG. 11 illustrates a table in which an addAnyPortMapping function is defined in a network configuration method according to an embodiment of the present invention.
  • the addAnyPortMapping function is a function that a DAE application calls to request a WAN gateway to port mapping for a specific external port and any false port in order to communicate directly with a server of an external network.
  • the addPortMapping function described above if the external port inputted as an argument can be mapped, the corresponding external port number is returned as a result value. If the external port is not mapped, the dynamic port is searched and used for the external port. Port mapping function.
  • the addAnyPortMapping function is the service name (serviceName) of the application, the server address (remoteIPAddress) of the external network to communicate with, the external port number (externalPort) to be mapped, the internal IP address of the device running the DAE application or the IPTV receiver (internalIPAddress).
  • serviceName service name
  • server address remoteIPAddress
  • external port number externalPort
  • internal IP address IP address of the device running the DAE application or the IPTV receiver
  • internalIPAddress the internal port number (internalPort)
  • the protocol used the protocol used
  • lifetime which the DAE application intends to use
  • the port mapping to the external port is successful, the external port value is returned. If the external port is mapped to another external port because the input external port is in use, the new external port number is returned. If the mapping is not successful, other results can be returned in the same manner as the addPortMapping function.
  • the addAnyPortMapping function has the same arguments as compared to the addPortMapping function, but as described above, there are some differences in the result values.
  • FIG. 12 is a sequential diagram of the addAnyPortMapping function of FIG. 11 in the network configuration method according to an embodiment of the present invention.
  • the DAE application calls the addAnyPortMapping function.
  • the call to the addAnyPortMapping function may be called for the first time when starting an application, but as described above, it may be called when the port mapping by addPortMapping fails.
  • the gateway determines whether the external port entered is available, for example, an external port already in use or existing.
  • a DAE application on an IPTV receiver can communicate directly with an application server or other DAE application.
  • the direct communication scheme may vary depending on the application and protocol type, and a description thereof will be omitted.
  • FIG. 13 is a table illustrating a deletePortMapping function in a network configuration method according to an embodiment of the present invention.
  • the deletePortMapping function is a function for releasing a mapped port.
  • the mapping of the input external port is closed.
  • the protocol is optional. If no protocol is input, the port is closed in a batch regardless. Returns a value based on the success of closing the port mapping.
  • Closing the port mapping may be necessary when the DAE application is terminated or stopped, or when the lifetime of the external port set at the time of port mapping elapses.
  • the deletePortMappingRange function is a function for releasing a mapped port.
  • the deletePortMappingRange function arguments a remote IP address (remoteIPAddress), an external port start number (startOfExternalPort), an external port end number (endOfExternalPort), and a protocol (prootocol). As a function, it closes the mapping of the input external port.
  • the input and return values of the deletePortMapping function are the same except that the start and end numbers of the external port are entered as arguments.
  • 15 is a sequential diagram of a deletePortMapping function in a network configuration method according to an embodiment of the present invention. 15 illustrates an operation of releasing port mapping when the DAE application is terminated or stopped.
  • the DAE application may request the DAE to close the server socket generated by the port mapping described with reference to FIGS. 10 and 10.
  • the DAE can close the server socket opened by port mapping and send OK to the DAE application.
  • the DAE application calls the deletePortMapping () function.
  • the DAE instructs the gateway to unmap the port using UPnP.
  • a request to release the port mapping is sent to the gateway.
  • the gateway performs the release of the port.
  • the DAE application exits from the DAE.
  • FIG. 16 is a sequential diagram of port release over time in a network configuration method according to an embodiment of the present invention.
  • the gateway searches for whether the corresponding port mapping has elapsed using the life time input at the time of port mapping. Whether or not the life time has elapsed may be periodically detected.
  • the gateway releases or deletes the corresponding port mapping.
  • FIG. 17 illustrates an example of executing a network setting method using JavaScript according to an embodiment of the present invention.
  • a DAE application performs a port mapping by calling a function defined according to a network configuration method according to an embodiment of the present invention is implemented.
  • a remote IP address, an external port, an internal IP address, an internal port, an internal port, and a protocol type ( protocol) is being input.
  • the value of each argument can be obtained by the DAE application.
  • the allocatePortMapping function is an external port, internal IP address, and internal port as an argument.
  • the addPortMapping function and the addAnyPortMapping function are called in this function to perform port mapping. .
  • port mapping may be performed by indirectly calling a function according to the present invention in allocatePortMapping, but is not limited thereto.
  • the addPortMapping function and the addAnyPortMapping function may be directly called.
  • the addAnyPortMapping function is called so that an arbitrary port is allowed to be mapped. It is becoming. After that, the newly mapped external port is added as newExternalPort by addAnyPortMapping function and assigned to externalPort property. Therefore, the newly mapped external port information is implemented to be recognized by the DAE application.
  • the port is reclaimed by calling deletePortMapping function.
  • the IPTV receiver 600 includes a frontend 610, a network transport 620, a service access 630, an inactive / active storage system (Volatile / Non).
  • -Volatile Storage System (640), Program System Information Decoder (643), Authentication (DRM / CP / CAS) 650, DVR Engine (660), Embeded DBMS / Filesystem ( 670, a receiver entity (Hybrid / IPTV / OITF HNED Subsyste) 680, and an application (OITF / HNED Application (s)) 690 may include an entity performing a function.
  • the IPTV receiver 600 may be connected to an RF transmitter 692 such as an antenna and a cable headend system to receive data transmitted through RF.
  • an RF transmitter 692 such as an antenna and a cable headend system to receive data transmitted through RF.
  • the IPTV receiver 600 may communicate with the WAN gateway 700 using the HNI-DM interface.
  • the frontend 610 may include an RF interface for tuning the RF and receiving the selected MPEG2 transport stream.
  • the RF interface is optional for Hybrid IPTV.
  • the front end may include a network interface.
  • the network interface performs a function of the network interface unit of the IPTV receiver according to the embodiment of the present invention. Specifically, the network interface transmits and receives IP packets between the physical layer and the data link layer.
  • the network interface according to an embodiment of the present invention may be downloaded from an IPTV receiver and receive a DAE application running in a Declarative Application Environment (DAE).
  • DAE Declarative Application Environment
  • the network interface may notify the server and the device of the external network of the allocated port information.
  • the network interface may receive an application executed in a Declarative Application Environment (DAE), and may receive at least one of a request result of the port mapping and information on the mapped port.
  • DAE Declarative Application Environment
  • the network transport 620 may include a TCP / IP manager involved in packet forwarding from the source to the destination for the packets transmitted and received from the IPTV receiver 600.
  • the network transport 650 may perform a QoS & Bandwidthe Control function that performs a function of guaranteeing the quality of service of the IPTV.
  • the QoS & Bandwidthe Control feature can allocate bandwidth for each service in a balanced way.
  • the allocated band may be controlled by a service provider or automatically by the receiver itself or by a user.
  • the allocated band can be managed by the IPTV application or service provider. That is, the function performs the function of denying unauthorized access.
  • the network transport 650 may perform a service protection function. In particular, it may provide security of end-to-end communication and protect a logical link or a physical link to a service provider or another client device.
  • the service access 630 performs a service discovery manager (not shown), a metadata manager (not shown), and a service and session control management (not shown) function. can do.
  • the service discovery manager performs discovery of IPTV services through a bidirectional IP network. That is, all information for the selected service can be provided.
  • the service discovery manager may manage P2P provider information and P2P tracker access information.
  • the service discovery manager can provide IGMP, HCDP and SIP protocol stacks and discover services.
  • the metadata manager can parse XML documents and manage XML data with embedded databases, or store them as XML elements in a file system.
  • Service and session control managers select and control services and manage sessions such as live and VOD services using IGMP or RTSP protocols.
  • IMS and SIP protocols can be used to manage and initiate sessions through an IMS gateway.
  • the RTSP protocol can be used to control delivery of broadcast TV and audio, as well as on demand delivery.
  • the RTSP protocol uses persistent TCP connection and allows trick mode control in real time media streaming.
  • the service delivery manager is responsible for controlling the received service data.
  • the service delivery manager handles real-time streaming data and downloads content.
  • the RTP / RTCP protocol may be used.
  • the service delivery manager can parse the received data packet according to RTP and transmit it to the demultiplexer or store it in the content database under the control of the service manager. have.
  • the service delivery manager also feeds back network reception information to the server side using RTCP.
  • the user can control the IP streaming protocol to support trick play for VOD or live media broadcast MPEG-2 transport packets to be sent directly by UDP without RTP.
  • the HTTP or FLUTE protocol can be used as the delivery protocol for downloading of the content.
  • the service delivery manager may receive the content from the content database for later consumption.
  • the service delivery manager can retrieve and deliver content requested by the user from other peers or CDNs.
  • the inactive / active storage system (Volatile / Non-Volatile Storage System) 640 may include a content database (Content DB) and metadata and SI database (Metadata & SI DB).
  • the content database (Content DB) is a database that stores the content delivered by the content download system or recorded from the live media TV.
  • the metadata and SI database is a database that stores metadata and service discovery information related to a service.
  • the Program System Information Decoder 643 sets the PID for the PSI table and sends the PSIP / DVB-SI table to the demux to send the PSI and (PSI and / or DVB-) transmitted to the demux. Decode the private section of the SI. The decoding result can be used for de-multiplex input transport packets (eg, set audio and video PID to demux).
  • the authentication manager (DRM / CP / CAS) 650 requests the metadata manager to store encryption keys and content licenses coming from a license issuer.
  • the manager can control a descrambler block to decode the encrypted content from the demux block.
  • the authentication manager manages both downloaded content and live media streams protected by content protection technology.
  • the authentication manager may control the lifetime of content and live media streams downloaded to the receiver.
  • the authentication manager can support the bypass mode to pass the MPEG decoder.
  • the DVR Engine 660 records and plays live streaming content, collects all the necessary metadata of the recorded content, and adds additional information for a better user experience, such as thumbnail images or indexes. Create
  • the Embeded DBMS / Filesystem 670 manages electronic program schedule data, XML elements, and manageable data.
  • the receiver subsystem (Hybrid / IPTV / OITF HNED Subsyste) 680 includes a system decoder, demux, IEEE1394, video decoder, copy protection, and USB host.
  • host 2D / 3D graphic processor, video display processor, RS-232, audio decoder, HDMI / HDCP, IR receiver and external input / output ( External I / O) may be included.
  • a system decoder decodes an MPEG-2 transport packet (TS Packer) and copies an elementary packet into a predefined volatile memory area.
  • TS Packer MPEG-2 transport packet
  • Demux de-multiplexes the audio, video, and PSI tables from the input transport packets and controls demultiplexing the PSI tables by the PSI decoder.
  • the demux selects the PSI table to decode and sends to the PSI decoder, the receiver controls the demultiplexing for the audio / video transport packet.
  • the IEEE1394 manager supports the interfaces of IEEE1394 devices.
  • a video decoder decodes video elementary stream packets.
  • An audio decoder decodes audio elementary stream packets.
  • Copy protection manager supports AES, DES and other scrambling and descrambling algorithms. In this case, the encryption key and the decryption key must be provided by another entity in the system.
  • USB interface Provides a USB interface to a USB host, user or system engineer.
  • a 2D / 3D graphic processor manages various surfaces / planes to display captions, UI applications, and controls OSD and 2D graphics data. You can also create 3D data on a graphic display plane.
  • the video display processor processes the video filter on all or all video screens selected by the user.
  • the video display processor may access the video frame buffer memory to adjust the video or still picture.
  • RS-232 Manager supports RS-232 interface to PC compatible system
  • HDMI / HDCP Manager supports HDMI output and supports HDCP protection.
  • the IR receiver receives and demodulates the IR signal from the remote controller and analyzes which remote keys have been pressed.
  • the receiver delivers a message suitable for the remote key to the UI application and drops if there is no corresponding remote mode.
  • External I / O controls the flow of I / O and blocks or filters packets from other entities or internal blocks.
  • the application (OITF / HNED Application (s)) 690 is an EPG / BCG, UI application, OICD Application, Remote Management Client, Internet-TV Content Delivery Application, Firmware Upgrade Client, Event handler, Embedded Web Browser, RF Transmitter, It can include an IMS Gateway / DNG entity.
  • the EPG / BCG may display an Electronic Program Guide and a Broadcast Content Guide and collect XML data and content information from a metadata manager or an embedded database.
  • the UI application supports a graphical user interface on the screen, receives a user key from a remote controller or front panel, and manages the state of the entire TV system.
  • OICD Application delivers P2P downloadable content via Internet connection.
  • the Remote Management Client allows a user to control a local application or system entity.
  • the Internet TV Content Delivery Application may connect a CDN or peer system that the Internet TV can receive.
  • the user can manage the Internet TV content delivery application on the receiver, control the Internet TV service such as download content, or control the storage for the Internet TV service.
  • the Firmware Upgrade Client discovers the latest firmware and notifies the user, and upgrades the firmware if the user allows notification from the manufacturer or service provider.
  • Event handlers manage events and messages from service providers and determine where and which events are sent.
  • Embedded Web Browsers allow the opening of Internet content on screens.
  • control unit of the IPTV receiver may include some functions of the front end 610 in FIG. 18, the network transport 620, the service access 630, and the DRM / CA / CAS 650. ), And may be divided into a plurality of modules such as a receiver application 690 and the like.
  • the WAN / LAN Gateway 700 may perform a WAN / LAN Gateway, QoS, IGMP Support, UPnP Control Point, UC / MC conversion, RMS3, and Attachment functions.
  • the WAN / LAN Gateway function provides a physical termination point that can be connected to a wide area network (WAN) and a home network (LAN), and performs a UPnP function.
  • WAN wide area network
  • LAN home network
  • the QoS function is a function to guarantee the service and data quality as described above.
  • IGMP Support provides IGMP Proxy or IGMP Snooping.
  • the UPnP Control Point performs communication with a UPnP device management client in a receiver to perform a remote management operation.
  • UC / MC conversion is provided to address the inefficiency and instability of multicast over wireless networks.
  • the RMS3 function provides an interface with a remote manager when the WAN gateway is monitored remotely and configured by an access service provider.
  • the Attachment function allows a network provider or application provider or service provider to access a home network.
  • the above-described network setting method according to the present invention can be stored in a computer-readable recording medium that is produced as a program for execution on a computer.
  • Examples of the computer-readable recording medium include ROM, RAM, CD-ROM, Magnetic tapes, floppy disks, optical data storage devices, and the like, and also include those implemented in the form of carrier waves (eg, transmission over the Internet).
  • the computer readable recording medium can be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.
  • functional programs, codes, and code segments for implementing the method can be easily inferred by programmers in the art to which the present invention belongs.

Abstract

The present invention relates to a method for setting up a network for an application executed on an IPTV receiver, and the IPTV receiver using same. The method comprises: downloading an application that is executed in a declarative application environment (DAE); initiating the downloaded application; acquiring the address of a gateway connected to the IPTV receiver; requesting the connected gateway for port mapping for communication between the application and an external network; and operating the application by using the port that has been mapped pursuant to the request.

Description

네트워크 설정 방법 및 그를 이용한 IPTV 수신기Network setting method and IP receiver using the same
본 발명은 네트워크 설정 방법 및 이를 이용한 IPTV 수신기에 관한 것으로서, 보다 구체적으로, IPTV 수신기에서 실행하는 어플리케이션이 외부 네트워크에 직접적으로 통신할 수 있도록 포트를 매핑하기 위한 네트워크 설정 방법 및 이를 위한 IPTV 수신기에 관한 것이다.The present invention relates to a network setting method and an IPTV receiver using the same, and more particularly, to a network setting method for mapping a port so that an application running on the IPTV receiver can directly communicate with an external network, and an IPTV receiver for the same. will be.
종래의 방송 수신기는 방송사에서 제작하는 컨텐츠(content)를 지상파, 케이블 또는 위성방송 등의 전파 전달매체를 통해서 수신하였다. 그러나 기존의 아날로그 방송에서 디지털 기반의 디지털 방송 기술이 개발되고 상용화되면서, 기존의 전파나 유선 케이블 매체 외에도 각 가정에 연결되어 있는 인터넷 네트워크를 이용하여 실시간 방송, CoD(Contents on Demand), 게임, 뉴스 등 다양한 종류의 컨텐츠 서비스를 사용자에게 제공할 수 있게 되었다.Conventional broadcast receivers have received content produced by broadcasters through radio wave transmission media such as terrestrial, cable or satellite broadcasting. However, as digital-based digital broadcasting technology has been developed and commercialized in existing analog broadcasting, real-time broadcasting, contents on demand, games, and news using Internet networks connected to homes in addition to existing radio waves or wired cable media. It is now possible to provide a variety of content services to the user.
한편, 인터넷 네트워크를 이용한 컨텐츠 서비스를 수신할 수 있는 디지털 방송 수신기, 예를 들어 IPTV는 인터넷 네트워크를 이용하여 각종 정보 서비스, 동영상 컨텐츠 및 방송 등을 수신하여, 사용자에게 제공할 수 있다. 상기 인터넷 네트워크는 IP(Internet Protocol)를 기반으로 광케이블 망, 동축 케이블 망, FTTH(Fiber To The Home), 전화망, 무선망 등 여러 종류의 망 상에서 구현이 가능하다.Meanwhile, a digital broadcast receiver capable of receiving a content service using an internet network, for example, an IPTV, may receive and provide various information services, video contents, and broadcasts to a user using the internet network. The Internet network may be implemented on various types of networks such as an optical cable network, a coaxial cable network, a fiber to the home (FTTH), a telephone network, and a wireless network based on an IP (Internet Protocol).
한편, IPTV에서 웹브라우저가 장착되는 환경에서는 네트워크에 접속하여 동작하는 어플리케이션들이 다양해지고 있다. 이 어플리케이션들이 설치되고 동작하는 데 있어서 독립적인 통신을 수행하는 경우가 있는데 이를 위해 외부 네트워크로 통신 포트를 할당하여 매핑할 필요가 있다. 그러나, 일반 유저들이 이 때마다 필요한 통신 포트를 설정하여 개방하는 것은 어려울 수 있다.Meanwhile, in an environment in which a web browser is mounted on an IPTV, applications that access and operate a network are diversified. In some cases, these applications perform independent communications in order to install and operate. To this end, it is necessary to allocate and map communication ports to external networks. However, it may be difficult for ordinary users to set up and open the necessary communication ports at this time.
본 발명은 IPTV 상에서 실행되는 어플리케이션과 외부 네트워크간 독립적인 통신을 위하여 포트를 매핑할 수 있도록 네트워크를 설정하는 방법 및 이를 위한 IPTV 수신기를 제공하는 것을 목적으로 한다.An object of the present invention is to provide a method for configuring a network to map ports for independent communication between an application running on an IPTV and an external network, and an IPTV receiver for the same.
본 발명의 일 실시예에 따른 IPTV 수신기에서 실행되는 어플리케이션을 위한 네트워크 설정 방법은, DAE(Declarative Application Environment)에서 실행되는 어플리케이션을 다운로드하는 단계; 상기 다운로드된 어플리케이션을 초기화하는 단계; 상기 IPTV 수신기와 연결된 게이트웨이의 주소를 획득하는 단계; 상기 연결된 게이트웨이에 상기 어플리케이션과 외부 네트워크 사이의 통신을 위한 포트의 매핑을 요청하는 단계; 및 상기 요청에 의해 매핑된 포트를 이용하여 상기 어플리케이션을 동작시키는 단계를 포함한다.A network setting method for an application executed in an IPTV receiver according to an embodiment of the present invention includes the steps of downloading an application executed in a Declarative Application Environment (DAE); Initializing the downloaded application; Obtaining an address of a gateway connected to the IPTV receiver; Requesting the connected gateway to map a port for communication between the application and an external network; And operating the application using the port mapped by the request.
본 발명의 일 실시예에 따른 IPTV 수신기는, DAE(Declarative Application Environment)에서 실행되는 어플리케이션을 수신하는 네트워크 인터페이스부; 및 상기 다운로드된 어플리케이션을 초기화하고, 상기 IPTV 수신기가 연결된 게이트웨이의 주소를 획득하고, 상기 연결된 게이트웨이에 상기 어플리케이션과 외부 네트워크 사이의 통신을 위한 포트의 매핑을 요청하며, 상기 요청에 의해 매핑된 포트를 이용하여 상기 어플리케이션을 동작시키는 제어부를 포함한다.An IPTV receiver according to an embodiment of the present invention, the network interface unit for receiving an application running in the Declarative Application Environment (DAE); And initializing the downloaded application, obtaining an address of a gateway to which the IPTV receiver is connected, requesting the connected gateway to map a port for communication between the application and an external network, and mapping the port mapped by the request. It includes a control unit for operating the application by using.
본 발명의 일 실시예에 따르면, IPTV 수신기에서 실행되는 어플리케이션이 외부 네트워크와 독립적으로 통신하도록 자동으로 포트를 매핑할 수 있도록 함으로써, 어플리케이션의 사용이 편리해질 수 있다.According to an embodiment of the present invention, the application running on the IPTV receiver can be automatically mapped to a port so that the application can communicate independently with the external network, thereby making it easier to use the application.
본 발명의 일 실시예에 따르면, DAE 어플리케이션이 특정 라이브러리나 소프트웨어의 도움이 없이도 본 발명에 따른 API를 이용함으로써 자동으로 포트의 매핑 및 폐쇄를 수행할 수 있도록 함으로써 자원을 효율적으로 활용할 수 있도록 한다.According to an embodiment of the present invention, the DAE application can efficiently use resources by automatically mapping and closing ports by using an API according to the present invention without the help of a specific library or software.
도 1은 IPTV가 게이트웨이를 통하여 네트워크에 연결되어 동작하는 시스템 구성의 일례이다.1 is an example of a system configuration in which an IPTV is connected to a network through a gateway and operates.
도 2는 IPTV 수신기상의 이벤트 통지에 대한 일반적인 아키텍쳐를 나타낸다.2 shows a general architecture for event notification on an IPTV receiver.
도 3은 게이트웨이가 네트워크를 형성하는 시스템 구성도의 일례를 나타낸다.3 shows an example of a system configuration diagram in which a gateway forms a network.
도 4는 IPTV 수신기가 게이트웨이를 발견하여 서비스를 이용하는 동작에 대한 순서도이다.4 is a flowchart of an operation in which an IPTV receiver discovers a gateway and uses a service.
도 5는 본 발명의 일 실시예에 따른 억세스 네트워크와 홈 네트워크 환경에 대한 시스템 구성도를 나타낸다.5 is a diagram illustrating a system configuration of an access network and a home network environment according to an embodiment of the present invention.
도 6은 본 발명의 일 실시예에 따른 오브젝트의 동작 환경을 나타낸다.6 illustrates an operating environment of an object according to an embodiment of the present invention.
도 7은 본 발명의 일 실시예에 따른 네트워크 설정 방법에 있어서 필요한 데이터를 정의한 표를 나타낸다.7 shows a table defining data required for a network setting method according to an embodiment of the present invention.
도 8은 본 발명의 일 실시예에 따른 네트워크 설정 방법에 있어서 필요한 프라퍼티 및 이벤트를 정의한 표를 나타낸다.8 shows a table defining properties and events required in a network configuration method according to an embodiment of the present invention.
도 9는 본 발명의 일 실시예에 따른 네트워크 설정 방법에 있어서 addPortMapping 함수를 정의한 표를 나타낸다.9 shows a table defining an addPortMapping function in a network configuration method according to an embodiment of the present invention.
도 10은 본 발명의 일 실시예에 따른 네트워크 설정 방법에 있어서 addPortMapping 함수의 시퀀셜 다이어그램을 나타낸다.10 is a sequential diagram of an addPortMapping function in a network configuration method according to an embodiment of the present invention.
도 11은 본 발명의 일 실시예에 따른 네트워크 설정 방법에 있어서 addAnyPortMapping 함수를 정의한 표를 나타낸다.11 illustrates a table in which an addAnyPortMapping function is defined in a network configuration method according to an embodiment of the present invention.
도 12는 본 발명의 일 실시예에 따른 네트워크 설정 방법에 있어서 addAnyPortMapping 함수의 시퀀셜 다이어그램을 나타낸다.12 is a sequential diagram of an addAnyPortMapping function in a network configuration method according to an embodiment of the present invention.
도 13은 본 발명의 일 실시예에 따른 네트워크 설정 방법에 있어서 deletePortMapping 함수를 정의한 표를 나타낸다.FIG. 13 is a table illustrating a deletePortMapping function in a network configuration method according to an embodiment of the present invention. FIG.
도 14는 본 발명의 일 실시예에 따른 네트워크 설정 방법에 있어서 deletePortMappingRange 함수를 정의한 표를 나타낸다.14 illustrates a table in which a deletePortMappingRange function is defined in a network configuration method according to an embodiment of the present invention.
도 15는 본 발명의 일 실시예에 따른 네트워크 설정 방법에 있어서 deletePortMapping 함수의 시퀀셜 다이어그램을 나타낸다.15 is a sequential diagram of a deletePortMapping function in a network configuration method according to an embodiment of the present invention.
도 16은 본 발명의 일 실시예에 따른 네트워크 설정 방법에 있어서 라이프타임 경과에 따른 포트 해제의 시퀄셜 다이어그램을 나타낸다.FIG. 16 is a sequential diagram of port release over time in a network configuration method according to an embodiment of the present invention.
도 17은 본 발명의 일 실시예에 따른 네트워크 설정 방법을 자바 스크립트로 실행하는 일례를 나타낸다.17 illustrates an example of executing a network setting method using JavaScript according to an embodiment of the present invention.
도 18은 본 발명의 일 실시예에 따른 IPTV 수신기의 구성을 나타낸다.18 shows a configuration of an IPTV receiver according to an embodiment of the present invention.
이하, 첨부된 도 1 내지 도 18을 참조하여 본 발명의 실시예에 따른 어플리케이션의 네트워크 설정 방법 및 그를 이용한 IPTV 수신기에 대하여 상세히 설명하기로 한다.Hereinafter, a network setting method of an application and an IPTV receiver using the same according to an embodiment of the present invention will be described in detail with reference to FIGS. 1 to 18.
이하에서 본 발명의 실시예를 설명함에 있어, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고, 후술 되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. In the following description of the embodiments of the present invention, if it is determined that the detailed description of the related known functions or configurations may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted. In addition, terms to be described below are terms defined in consideration of functions in the present invention, and may be changed according to intention or custom of a user or an operator. Therefore, the definition should be made based on the contents throughout the specification.
한편, 웹브라우저가 장착되는 환경에 네트워크에 접속하여 동작하는 어플리케이션들이 다양해지고 있어 IPTV에서 이 프로그램들이 설치, 동작할 수 있도록 되어 있다. 한편, 이러한 프로그램들이 독립적인 통신을 하기 위해서는 각자의 통신 포트를 개방할 필요가 있으며, 이와 같은 방법에 대하여 본 발명에서 새롭게 제안하고 있다. 즉, 본 특허는, 네트워크에 연결되어 동작하는 웹브라우저 환경에서 동작하는 어플리케이션을 위한 통신 포트를 매핑하는 방법 및 이를 위한 IPTV 수신기에 관한 것이다. On the other hand, there are a variety of applications that operate by connecting to a network in an environment in which a web browser is installed, so that these programs can be installed and operated in IPTV. On the other hand, in order for these programs to communicate independently, each communication port needs to be opened, and this method is newly proposed in the present invention. That is, the present patent relates to a method for mapping a communication port for an application running in a web browser environment connected to a network and an IPTV receiver for the same.
이하에서 본 발명에 대해 상세히 설명한다. 한편, 청구범위에서 사용되는 IPTV 수신기는, 본 명세서에서의 IPTV 수신기, OITF(Open IPTV Terminal Function), 또는 어플리케이션이 설치, 실행될 수 있는 임의의 클라이언트 장치 또는 디바이스를 포함할 수 있고, 본 청구범위에서 사용되는 어플리케이션의 일례로서 본 명세서에서 DAE 어플리케이션이 예시되고 있다. 또한, 청구범위에서 사용되는 네트워크 설정 방법은, 본 명세서에서, IPTV 수신기상에서 포트 매핑을 수행, 매핑된 포트를 해제 또는 삭제하는 일련의 동작을 모두 포함할 수 있다.Hereinafter, the present invention will be described in detail. On the other hand, the IPTV receiver used in the claims may include an IPTV receiver, an Open IPTV Terminal Function (OITF), or any client device or device on which an application can be installed and executed in the present specification. As an example of an application used, a DAE application is illustrated herein. In addition, the network setting method used in the claims may include a series of operations for performing port mapping on the IPTV receiver and releasing or deleting the mapped port.
도 1은 IPTV가 게이트웨이를 통하여 네트워크에 연결되어 동작하는 시스템 구성의 일례이다. 또한, 도 1은 IPTV가 동작할 수 있는 환경을 설명할 수 있다. 대부분의 IPTV 서비스 제공자는 다음과 같이 집안에 전용 Gateway(20, ADSL 모뎀 등)를 제공하여 IPTV 서비스를 안정적으로 제공한다. 또한 추가 서비스로 사용자가 선택적으로 전화 서비스 등도 제공할 수 있다. 게이트웨이(20)는 사용자가 가입한 서비스들을 잘 동작하도록 이러한 서비스들을 제어할 수 있는 기능들을 제공해야 한다. 특히 IPTV의 경우에는 대용량의 Multimedia Stream을 전송하고, PC에서는 인터넷을 접근할 수 있도록 데이터 전송도 담당해야 하기 때문이다. 1 is an example of a system configuration in which an IPTV is connected to a network through a gateway and operates. In addition, FIG. 1 may describe an environment in which an IPTV may operate. Most IPTV service providers provide private gateways (20, ADSL modems, etc.) in their homes to provide IPTV services reliably. In addition, as an additional service, a user may selectively provide a telephone service. The gateway 20 should provide functions to control these services so that the services subscribed to by the user work well. In particular, IPTV should transmit a large amount of multimedia streams, and PCs should also be responsible for data transmission to access the Internet.
최근에는 사용자들의 가정에 여러가지 디지털 기기들이 복잡하게 연결될 수 있기 때문에 서비스 제공자가 임대 혹은 사용자가 서비스 제공자로 부터 구매한Gateway를 서비스 제공자 측에서 관리하기 어려울 수 있다. Home network에 있는 네트워크를 접근할 수 있는 수 많은 종류의 모든 장치들이 연결되어 동작하기 때문에 사용자들이 직접 Gateway를 접근하여 통신기기들이 인터넷에 접근할 수 있도록 Gateway의 설정을 바꿀 수 있도록 허가하고 있다. 대부분의 경우에는 IPTV 서비스 제공자들이 이러한 복잡한 환경에서도 잘 동작할 수 있도록 설정해 둔 기본 동작 값으로 설정되어 동작하고 있다. 그 이유는 일반 사용자가 Gateway에 접근하여 어려운 설정을 바꾼다는 것은 사용자에게 힘든 일이 될 수 있으며, 자칫 실수로 설정이 잘 못 되었을 경우에는 기존에 잘 사용하던 IPTV 서비스 마저 동작하지 않는 상황이 일어날 수 있다. 이와 같이 Gateway의 설정은 네트워크 접근에 중요한 값들로 구성되어 있으며, PC를 이용하여 특정 Gateway주소에 접근해야 하고, 암호를 입력해야 하는 등의 절차 때문에 상당히 많은 지식을 가진 사용자만이 이러한 복잡한 조작이 가능하다. 이러한 점들은 또 하나의 사용자에게 불편을 줄 수 있다. Recently, since various digital devices may be complicatedly connected to users' homes, it may be difficult for a service provider to manage a rental or a gateway purchased from a service provider at a service provider. Since all kinds of devices that can access the network in the home network are connected and operated, the user is allowed to directly access the gateway and change the configuration of the gateway so that communication devices can access the Internet. In most cases, IPTV service providers operate with default operating values set to work well in such complex environments. The reason is that it can be hard for the user to change the difficult settings by accessing the Gateway. If the wrong setting is made by mistake, the existing IPTV service may not work. have. As such, the gateway configuration consists of important values for network access, and only users with considerable knowledge can perform this complicated operation due to the procedure of accessing a specific gateway address using a PC and entering a password. Do. These points may cause inconvenience to another user.
특히 네트워크에 연결되어 동작하는 응용프로그램들은 각자 사용하는 통신 포트들이 서로 다르고, 다른 네트워크에서 혹은 서버에서 응용프로그램에 접근을 하기 위해서는 보안으로 외부에 접근을 차단한 통신 포트를 개방해야 하는 일이 빈번하게 일어날 수 있다. 이때 마다 사용자들이 응용프로그램이 실행되고 종료될 때마다 일일이 통신 포트들을 기억해 두고 설정을 하고 해제 한다는 것은 만만한 일도 아니며, 사용자들에게 부담만 가중시키는 일일 수 있다.In particular, applications connected to a network operate with different communication ports, and in order to access an application program from another network or a server, it is frequently necessary to open a communication port that has been blocked from access by security. Can happen. At this time, it is not a big deal for users to remember and set communication ports every time an application is executed and terminated, and it may be a burden on users.
도 1을 참조하면, IPTV 수신기(IPTV receiver)가 게이트웨이(20)를 이용하여 네트워크에 연결되어 Consumer manufacturer, Content Provider 및 Network Service Provider에 접속하고 있다. Consumer manufacturer, Content Provider는 사용자에게 상품, 컨텐츠, IPTV 서비스 등을 제공하는 역할을 수행할 수 있다. Network Service Provider는 게이트웨이(20)와 Consumer manufacturer, Content Provider 에게 네트워크망을 제공하여 이들을 서로 연결시킬 수 있다. Referring to FIG. 1, an IPTV receiver is connected to a network using a gateway 20 to access a consumer manufacturer, a content provider, and a network service provider. A consumer manufacturer and a content provider may play a role of providing a product, content, or an IPTV service to a user. The network service provider may provide a network to the gateway 20, a consumer manufacturer, and a content provider to connect them with each other.
네트워크는 유선 또는 무선 광역 통신망(wired or wireless Wide Area Network), 접속망(Access Network) 및 기간망(Backbone Network)일 수 있다. The network may be a wired or wireless wide area network, an access network, and a backbone network.
IPTV 수신기(10)는 네트워크를 통하여 IPTV 서비스를 수신하여 디스플레이(30)에 출력시키기 위한 장치로서, ITF(IPTV Terminal Function) 또는 OITF(Open IPTV Terminal Function)으로 구성될 수 있으며, 이 외에도 셋톱박스(set top box), PC, 이동 단말기, 스마트폰 등으로 구성될 수 있다. 도 1에서는 IPTV 수신기(10) 및 디스플레이(30)가 독립적으로 구성되어 있으나 IPTV 수신기(10)가 디스플레이(30)에 내장될 수도 있다. 본 명세서에서는 OITF, Hybrid IPTV receiver, ITF 에 대해 IPTV 수신기를 적용하여 설명한다.The IPTV receiver 10 is a device for receiving an IPTV service through a network and outputting it to the display 30. The IPTV receiver 10 may be configured as an IPTV terminal function (ITF) or an open IPTV terminal function (OITF). set top box), a PC, a mobile terminal, a smartphone, and the like. In FIG. 1, the IPTV receiver 10 and the display 30 are configured independently, but the IPTV receiver 10 may be embedded in the display 30. In this specification, an IPTV receiver is described for an OITF, a hybrid IPTV receiver, and an ITF.
게이트웨이(20)는 IPTV 수신기(10)를 네트워크에 접속시키는 기능을 수행하며, DSL 모뎀, 케이블 모뎀, 라우터(router), 무선 공유기(wireless access point)로 구성될 수 있다. 게이트웨이(20)는 IPTV 서비스 제공자 또는 네트워크 서비스 제공자(Network Service Provider)에 의해 제공될 수 있으며 사용자가 가입하여 사용하는 IPTV 또는 인터넷 서비스가 잘 동작할 수 있도록 통신을 제어할 수 있다. 특히, IPTV 수신기는, 대용량의 멀티미디어 스트림의 전송, 데이터 전송이 원활하게 수행될 수 있도록 통신 포트, 데이터 전송 속도 및 사용량을 제어할 수 있다. The gateway 20 performs a function of connecting the IPTV receiver 10 to a network, and may include a DSL modem, a cable modem, a router, and a wireless access point. The gateway 20 may be provided by an IPTV service provider or a network service provider and control communication so that an IPTV or internet service that a user subscribes to can operate well. In particular, the IPTV receiver may control a communication port, a data transmission speed, and a usage amount so that a large capacity multimedia stream can be smoothly transmitted and data transmitted.
한편, 도 1에서와 달리 IPTV 수신기(10) 이외에 다른 디지털 가전 기기들이 게이트웨이(20)에 추가적으로 접속하여 네트워크에 연결됨으로써 홈 네트워크가 형성될 수도 있다. 게이트웨이(20)가 범용의 기기들에 의해 이용되는 경우에는 게이트웨이(20)를 제공한 서비스 제공자가 관리하는 데에 한계가 있다. 즉, 게이트웨이(20)에 의해 형성되어 있는 홈 네트워크(Home Network)에 접근하는 수많은 종류의 디바이스들이 연결되어 동작되어야 하기 때문에, 사용자들이 직접 게이트웨이(20)를 조작하여 다른 가전 기기들이 인터넷에 접근할 수 있도록 게이트웨이(20)의 설정을 변경할 필요가 있다. 이 경우 일반적으로, IPTV 서비스 제공자들은 이렇게 복잡한 환경에서도 게이트웨이(20)가 원활하게 기능을 수행하하도록 게이트웨이(20)의 설정을 기본 설정값으로 설정, 동작시키도록 하고 있다.Meanwhile, unlike FIG. 1, a home network may be formed by other digital home appliances other than the IPTV receiver 10 connected to the network by additionally connecting to the gateway 20. When the gateway 20 is used by general purpose devices, there is a limit in managing by the service provider who provided the gateway 20. That is, since many kinds of devices accessing the home network formed by the gateway 20 must be connected and operated, users can directly operate the gateway 20 so that other home appliances can access the Internet. It is necessary to change the setting of the gateway 20 to be able to do so. In this case, IPTV service providers generally set and operate the gateway 20 as a default setting value so that the gateway 20 can smoothly perform a function even in such a complicated environment.
한편, 일반 사용자가 게이트웨이(20)에 접근하여 어려운 설정을 바꾸는 것은 사용자에게 어려울 수 있다. 왜냐하면 게이트웨이(20)의 설정을 잘못한 경우 원활하게 제공받았던 IPTV 서비스마저도 동작하지 못할 수도 있기 때문이다. 이와 같이 게이트웨이(20)의 설정은 네트워크 이용에 있어서 필수적 사항으로서, PC 등을 이용하여 게이트웨이의 주소 및 암호를 입력해야 하는 것과 같은 복잡한 절차가 요구되기 때문에 전문적인 지식의 사용자들만이 게이트웨이의 설정을 원활하게 수행할 수 있는 불편함이 있다. On the other hand, it may be difficult for a general user to access the gateway 20 and change difficult settings. This is because even when the gateway 20 is misconfigured, even the IPTV service smoothly provided may not operate. As described above, the configuration of the gateway 20 is essential for network use, and complicated procedures such as inputting the gateway address and password using a PC or the like are required. There is an inconvenience that can be performed smoothly.
또한, IPTV상에서 네트워크에 연결되어 동작하는 어플리케이션은 독립적으로 통신 포트를 사용할 필요가 있고, 외부 서버가 외부의 광역 통신망(WAN)을 통하여 IPTV상의 해당 어플리케이션에 접근하기 위해서는 보안의 이유로 차단한 게이트웨이(20)의 통신 포트가 개방되어야 한다. 그러나, 어플리케이션을 이용할 때마다 통신 퍼트를 설정, 해제하는 것은 일반적 사용자에게 어려우면서도 번거로운 일이다.In addition, an application operating by connecting to a network on an IPTV needs to use a communication port independently. In order for an external server to access a corresponding application on an IPTV through an external wide area network (WAN), the gateway 20 is blocked for security reasons. Communication port must be open. However, setting and disabling communication put every time an application is used is difficult and cumbersome for the general user.
도 2는 IPTV 수신기상의 이벤트 통지(event notification)에 대한 일반적인 아키텍쳐를 나타낸다. 도 2를 참조하면, CED-2014-A 에 정의 되어 있는 바와 같이,원격 UI 서버(Remote UI Server)와 통신하는 어플리케이션으로서 DAE 어플리케이션이 DAE(Declarative Application Environment)상에서 동작하고 있다. 2 shows a general architecture for event notification on an IPTV receiver. Referring to FIG. 2, as defined in CED-2014-A, a DAE application is operating on a Declarative Application Environment (DAE) as an application that communicates with a remote UI server.
원격 UI 서버는, 인터넷 도메인(Internet Domain)의 경우, IPTV 서비스 제공자(IPTV Service Provider) 또는 제3의 인터넷 서버(3rd Party Internet Server)일 수 있다. 제3의 인터넷 서버는 네트워크 서비스 제공자 또는 어플리케이션 개발업체 또는 어플리케이션의 제공자일 수 있다. 또한, 원격 UI 서버는 홈 네트워크 도메인(Home Network Domain)의 경우, WAN Gateway, 어플리케이션 게이트웨이(Application Gateway) 또는 IMS 게이트웨이(IMS Gateway)와 같은 홈 네트워크 내의 임의의 디바이스일 수 있다. In the case of an Internet domain, the remote UI server may be an IPTV service provider or a third Internet server. The third Internet server may be a network service provider or application developer or provider of applications. In addition, in the case of a home network domain, the remote UI server may be any device in a home network such as a WAN gateway, an application gateway, or an IMS gateway.
OITF(Open IPTV Terminal Function)는 IPTV 수신기를 나타낼 수 있다. OITF는 원격 UI 클라이언트(Remote UI Client)로서, 원격지의 원격 UI 서버와 예컨대, HTTP 프로토콜에 의한 데이터 송수신을 행할 수 있다. 또한, 원격 UI 서버는, 이벤트가 발생하면 이에 대한 알림(Notification)을 원격 UI 클라이언트에 전송하여 변경된 사항을 알려줄 수 있도록 한다. OITF에서는 User Input Handler가 내장되어 있어, 사용자의 리모트 컨트롤러(remote controller)로부터 입력을 수신하면, 입력 신호를 DAE 어플리케이션으로 local script binding 에 의해 전달할 수 있다. 즉, 모든 데이터 전송과 이벤트에 대한 알림(notification)은 DAE 어플리케이션에 전달되어 처리될 수 있다.Open IPTV Terminal Function (OITF) may represent an IPTV receiver. The OITF is a Remote UI Client, and can transmit and receive data with, for example, an HTTP protocol with a remote UI server at a remote location. In addition, when the event occurs, the remote UI server sends a notification to the remote UI client to inform the user of the change. OITF has a built-in User Input Handler that can receive input signals from the user's remote controller to the DAE application by local script binding. That is, notification of all data transmissions and events can be delivered to and processed by the DAE application.
DAE(Declarative Application Environment) 는, IPTV에서의 웹브라우저 환경, 즉, 임베디드 웹브라우저 및 그 실행환경이라고 할 수 있다. DAE는 IPTV에서 내장되어 동작하는 미들웨어(Middleware)로서, XHTML, Javascript로 만들어진 어플리케이션을 실행, 동작시킬 수 있는 환경을 의미한다. Declarative Application Environment (DAE) is a web browser environment in IPTV, that is, an embedded web browser and its execution environment. DAE is middleware that is embedded in IPTV and refers to an environment that can run and run applications made with XHTML and JavaScript.
또한, DAE에서는 HTTP 프로토콜을 이용하여 외부로 통신을 시도하는 전형적인 네트워크 통신 프로그램으로서, CE-HTML, ECMA Script, HTML, 또는 Javascript프로그램과 같은 어플리케이션들이 동작할 수 있다. 즉, DAE에서 재생되고 실행되는 모든 문서나 스크립트들을 어플리케이션이라고 할 수 있다. 이러한 어플리케이션들은 네트워크에서 DAE에 다운로드되어 IPTV 에서 실행될 수 있다. 또한, 어플리케이션의 실행에 있어서, 필요할 때에는 독립적인 통신을 위하여 통신 포트를 게이트웨이에서 개방하여야 하는 경우가 있다. 이러한 경우, DAE에서는 통신 포트를 자체적으로 개방할 수 있는 기능이 내장되어 있지 않다. In addition, the DAE is a typical network communication program that attempts to communicate externally using the HTTP protocol, and applications such as CE-HTML, ECMA Script, HTML, or JavaScript programs can operate. In other words, any document or script that is played and executed in a DAE can be referred to as an application. These applications can be downloaded to the DAE from the network and run on IPTV. In addition, in the execution of an application, a communication port may need to be opened at the gateway for independent communication when necessary. In this case, the DAE has no built-in capability to open the communication port itself.
이하에서, DAE 환경에서의 이벤트 송수신 구조를 설명한다.Hereinafter, an event transmission and reception structure in a DAE environment will be described.
DAE 어플리케이션이 활성화(active)되어 있을 때 발생된 이벤트의 송수신은, 세션 내 통지(In-session notification) 방식으로 송수신된다. 세션 내 통지는 원격 UI 서버와 IPTV 수신기 간에 XHTML 페이지를 리로드(reload)하지 않고 다이나믹하게 UI가 교환(dynamic UI interaction)될 수 있는 방식으로서, NotifiSocket 오브젝트를 이용하거나 XMLHttpRequest 오브젝트가 이용될 수 있다. NotifiSocket 오브젝트는 DAE 어플리케이션과 원격 UI 서버간에 지속적인 TCP 커넥션을 생성하여 실시간 이벤트를 송수신할 수 있도록 한다. XMLHttpRequest 오브젝트는 DAE 어플리케이션과 원격 UI 서버 간의 XML 업데이트를 지원하기 위하여 독립적인 HTTP 커넥션 채널을 생성하도록 한다. 세션 내 통지의 경우는 이벤트 통지 핸들러(Event Notification Handler)가 DAE상에서 동작한다.The transmission and reception of events generated when the DAE application is active is transmitted and received in an in-session notification method. In-session notification is a way in which the UI can be dynamically dynamically exchanged without reloading the XHTML page between the remote UI server and the IPTV receiver, using a NotifiSocket object or an XMLHttpRequest object. The NotifiSocket object creates a persistent TCP connection between the DAE application and the remote UI server to send and receive real-time events. The XMLHttpRequest object allows you to create an independent HTTP connection channel to support XML updates between your DAE application and a remote UI server. In the case of in-session notification, the Event Notification Handler runs on the DAE.
한편, DAE 어플리케이션이 비활성화(inactive)되어 있을 때 발생된 이벤트의 송수신은, 제3의 통지(3rd Party Notification)방식으로 송수신될 수 있다. 제 3의 통지는 원격 UI 서버가 경보 알림 메세지(emergency alert message)와 같은 중요한 메세지를 브로드캐스팅할 때 활용될 수 있다. 제3의 통지의 경우는 제3의 통지 핸들러(3rd Party Notification Handler)가 DAE에서 동작될 수 있다. 제3의 통지 햄들러는 이벤트를 수신하는 경우, 수신한 이벤트 메세지에 포함된 URL을 이용하여 UI 컨텐츠를 가져와 표현할 수 있도록 새로운 DAE 어플리케이션을 호출(launch/invoke)할 수 있다.Meanwhile, transmission and reception of an event generated when the DAE application is inactive may be transmitted and received by a third party notification method. The third notification can be utilized when the remote UI server broadcasts an important message, such as an emergency alert message. In the case of the third notification, a third party notification handler may be operated in the DAE. When receiving the event, the third notification hamler may launch / invoke a new DAE application to retrieve and present the UI content using the URL included in the received event message.
IPTV 수신기상에서의 이벤트 정보는 로컬 스크립트(local script 또는 home network control script)를 바인딩함으로써 전달될 수 있다.Event information on the IPTV receiver can be delivered by binding a local script (local script or home network control script).
즉, 도 2는 홈 네트워크 도메인(Home Network Domain) 또는 광역 통신망(WAN) 또는 접속망(Access Network)과 같은 인터넷 도메인(Internet Domain) 상에서, 원격 UI 서버와 IPTV 수신기 간의 이벤트 알림에 대한 신호 흐름을 나타내고 있고, 이벤트의 알림(notification)은 게이트웨이를 통해 송수신된다. 이밖에도, 게이트웨이는 IPTV와 관련된 데이터 전송 뿐만 아니라, PC에서 요청하는 비실시간 데이터들도 모두 처리할 수 있다. 즉, 게이트웨이는 홈 네트워크 내 디바이스들을 인터넷에 연결해주며 IPTV 서비스를 전달해주는 중요한 역할을 수행한다.That is, FIG. 2 illustrates a signal flow for event notification between a remote UI server and an IPTV receiver on a home network domain or an Internet domain such as a wide area network (WAN) or an access network. The notification of the event is transmitted and received through the gateway. In addition, the gateway can handle not only IPTV-related data transmission but also non-real-time data requested by a PC. In other words, the gateway connects devices in the home network to the Internet and plays an important role in delivering IPTV services.
IPTV 수신기는 UI 업데이트 또는 정보의 송수신과 같은 이벤트를 외부 인터넷의 서버로부터 또는 홈 네트워크 내 디바이스로부터 수신할 수 있다. 이벤트가 IPTV 수신기 자체의 리모트 컨트롤러에서 발생하는 경우, UI 핸들러가 이를 인식하여 DAE 어플리케이션에 전달하고, DAE 어플리케이션의 활성화 여부에 따라 세션 내 통지 또는 제3의 통지의 방식으로 원격 UI 서버에 이벤트가 전달될 수 있다. 마찬가지로, 이벤트가 원격 UI 서버에서 발생한 경우에도 세션 내 통지 또는 제3의 통지의 방식으로 DAE 어플리케이션에 전달될 수 있다.The IPTV receiver may receive events such as UI updates or transmission and reception of information from a server on the external Internet or from a device in a home network. If the event occurs on the remote controller of the IPTV receiver itself, the UI handler recognizes it and forwards it to the DAE application, and the event is delivered to the remote UI server by way of in-session notification or third-party notification, depending on whether the DAE application is active. Can be. Similarly, when an event occurs at a remote UI server, it may be delivered to the DAE application in the manner of an in-session notification or a third notification.
DAE는 IPTV 수신기상에서 어플리케이션이 네트워크에 접속하여 동작할 수 있는 임베디드 웹브라우저 환경 또는 어플리케이션 실행 환경(application execution environment)의 역할을 수행하는 미들웨어(middleware) 수 있다. DAE에서는 HTML 또는 Javascript 에 의한 문서 또는 프로그램들과 같은 어플리케이션들이 동작할 수 있다. 또한, DAE에서 다운로드되어 실행되는 모든 문서 또는 스크립트와 같은 어플리케이션을 통틀어 DAE 어플리케이션으로 칭한다. 도 2를 참조하면 IPTV 수신기의 DAE 상에서 DAE 어플리케이션, UI 핸들러(UI handler), 이벤트 통지 핸들러(Event Notification Handler), 제3자 통지 핸들러(3rd Party Notification Handler)가 동작하고 있다. The DAE may be middleware serving as an embedded web browser environment or an application execution environment in which an application may access and operate on a network on an IPTV receiver. In DAE, applications such as HTML or Javascript documents or programs can run. In addition, applications such as all documents or scripts downloaded and executed in the DAE are collectively referred to as DAE applications. Referring to FIG. 2, a DAE application, a UI handler, an event notification handler, and a third party notification handler operate on a DAE of an IPTV receiver.
DAE 어플리케이션은 XHTML 프로토콜을 이용하여 원격 UI 서버와 통신하고, DAE 에 다운로드되어 DAE상에서 동작, 실행할 수 있는 어플리케이션으로서, CE-HTML(Consumer Electronics HTML), ECMA Script, CSS, HTML, SVG로 구성된 문서나 스크립트, 게임, 통신 프로그램, 메일 프로그램, 웹브라우저 일 수 있다. 한편, DAE 어플리케이션이 실행하는 도중 발생되는 이벤트 또는 DAE 어플리케이션이 실행되지 아니한 경우에 발생되는 이벤트는, 상술한 바와 같이 소정 통신 채널을 통하여 송수신될 수 있다. 즉, DAE 어플리케이션이 동작하는데 원격 UI 서버와의 독립적인 통신을 위해서는 게이트웨이상에서 필요한 통신 포트를 개방할 필요가 있다. 본 발명은 IPTV 수신기에서 실행되는 DAE 어플리케이션의 통신을 위해 포트 매핑이 필요할 때, 이를 지원하는 API를 제공할 수 있도록 한다. DAE application is an application that can communicate with a remote UI server using XHTML protocol and can be downloaded to DAE for operation and execution on DAE.It is composed of CE-HTML (Consumer Electronics HTML), ECMA Script, CSS, HTML, SVG, It may be a script, a game, a communication program, a mail program, a web browser. Meanwhile, an event generated while the DAE application is executed or an event generated when the DAE application is not executed may be transmitted and received through a predetermined communication channel as described above. That is, in order for DAE application to operate, it is necessary to open the necessary communication port on the gateway for independent communication with the remote UI server. When the port mapping is required for the communication of the DAE application running in the IPTV receiver, the present invention can provide an API supporting this.
도 3은 게이트웨이가 네트워크를 형성하는 시스템 구성도의 일례를 나타낸다. 도 3을 참조하면, 게이트웨이가 홈 네트워크 및 접속망(Access Network)을 연결시켜 IPTV 어플리케이션 서버와 IPTV 수신기가 통신할 수 있도록 한다. 3 shows an example of a system configuration diagram in which a gateway forms a network. Referring to FIG. 3, a gateway connects a home network and an access network so that an IPTV application server and an IPTV receiver can communicate.
접속망(Access Network)은, IPTV 서비스 또는 인터넷 서비스 제공자가 가입자들을 위해 제공하는 전용망으로서 광역 통신망(미도시, WAM) 또는 공중망(미도시, Public Network)에 연결될 수 있고, 접속망 자체가 광역 통신망 또는 공중망을 구성할 수도 있다. An access network is a dedicated network provided for subscribers by an IPTV service or an Internet service provider, and may be connected to a wide area network (not shown, WAM) or a public network (not shown), and the access network itself is a wide area network or a public network. It can also be configured.
홈 네트워크(Home Network)는 IPTV 수신기 및 네트워크에 접속하여 통신할 수 있는 각종 디바이스로 연결되어 있는 근거리 통신망 또는 로컬 영역 네트워크(Local Area Network)로 구성될 수 있다. 홈 네트워크는 집, 사무실 또는 학교 내의 가까운 지역을 한데 묶는 통신망일 수 있다. 홈 네트워크는 해당 통신망 내에 구비된 게이트웨이에 의해 형성될 수 있다(Home Network Configuration). 도 3을 참조하면, 게이트웨이를 기준으로 오른쪽으로는 홈 네트워크가 형성되어 있다. 이 홈 네트워크 영역은 가정 내의 통신망을 의미할 수 있고, 여러 가지 통신 기기 및 통신 가능한 디바이스들이 홈 네트워크 영역을 통하여 연결될 수 있다. 특히, IPTV 수신기의 경우는 게이트웨이에 직접적으로 연결되어 통신을 수행할 필요가 있다. 그 밖에도 홈 네트워크에는 PC 등도 연결되어 인터넷을 사용할 수 있도록 한다.The home network may be configured as a local area network or a local area network connected to an IPTV receiver and various devices capable of accessing and communicating with the network. A home network can be a network that binds together nearby areas within a home, office, or school. The home network may be formed by a gateway provided in the corresponding communication network (Home Network Configuration). Referring to FIG. 3, a home network is formed on the right side of the gateway. This home network area may mean a communication network in a home, and various communication devices and communicable devices may be connected through the home network area. In particular, in the case of an IPTV receiver, it is necessary to connect directly to a gateway to perform communication. In addition, a home network can be connected to a PC to use the Internet.
게이트웨이는 홈 네트워크 내 IPTV 수신기 및 디바이스들이 네트워크에 연결되도록 하기 위한 네트워크 설정을 수행한다. 이것은 프로비져닝(provisioning) 단계로서, 외부 접속망과의 통신을 위하여 IP 어드레스를 할당받는 설정이 포함된다. 또한, 게이트웨이는 이밖에 통신에 필요한 DNS(Domain Name Service)의 서버 주소도 할당받을 수 있다. 이러한 방식으로 IP 주소 등을 할당받거나, 사용자가 직접 설정함으로써 통신을 수행할 수 있는 기본적인 설정을 마칠 수 있지만, IP 주소를 할당받았다고 하여 모든 종류의 통신을 자유롭게 행할 수 있는 것은 아니다.The gateway performs network setup to allow IPTV receivers and devices in the home network to connect to the network. This is a provisioning phase, which includes a configuration where an IP address is assigned for communication with an external access network. In addition, the gateway may also be assigned a server address of a DNS (Domain Name Service) required for communication. In this way, an IP address or the like can be set, or a user can set basic settings for performing communication. However, all kinds of communication can not be freely performed by being assigned an IP address.
또한, 게이트 웨이는, 상술한 네트워크 설정 이외에도, 외부의 인증되지 아니하거나 원하지 아니한 접속 시도로부터 홈 네트워크를 방어하기 위한 기능인 파이어월(firewall) 기능도 수행할 수 있다. 파이어월은 지정된 통신 포트로의 외부 접속을 막음으로써 안전하고 안정적인 서비스만을 사용자에게 제공하도록 한다. 구체적으로, 파이어월은 특정 IP 어드레스 또는 IP 어드레스의 그룹으로부터의 접속 요청이 수신되면, 접속을 거부할 수 있도록 한다.In addition to the network configuration described above, the gateway may also perform a firewall function, which is a function for defending the home network from external unauthorized or unsolicited connection attempts. The firewall prevents external access to designated communication ports to provide only safe and reliable services to users. Specifically, the firewall allows the connection to be rejected when a connection request is received from a specific IP address or group of IP addresses.
한편, 파이어월과 같은 게이트웨이의 보안 기능은, 어플리케이션을 사용하는데 있어 불편할 수 있다. 상술한 바와 같이 DAE 어플리케이션이 외부 서버와의 독립적 통신을 수행하기 위해서는 특정 통신 포트를 개방하여 통신할 필요가 있기 때문에 이 경우에는 사용자가 일일이 파이어월 상태를 파악하여 설정을 해제해야 하기 때문이다. 이에 따라, 사용자의 홈 네트워크 환경은 점차 복잡해지고, 연결되어 있는 디바이스들도 다양해지고 있다. 따라서, 홈 네트워크의 안전하고 융통적인 관리를 위해서는 포트 설정 및 차단과 같은 게이트웨이의 관리 및 제어가 필요하다.On the other hand, a security function of a gateway, such as a firewall, may be inconvenient for using an application. As described above, since the DAE application needs to communicate by opening a specific communication port in order to perform independent communication with an external server, in this case, the user must identify the firewall status and release the setting. Accordingly, the user's home network environment is becoming more complicated, and connected devices are becoming more diverse. Therefore, for the safe and flexible management of the home network, it is necessary to manage and control the gateway such as port setting and blocking.
이밖에도 게이트웨이는 게이트웨이를 경유하여 전송되는 데이터의 흐름에 대한 우선 순위를 정하거나 데이터 전송 성능을 보장하기 위한 QoS(Quility of Service)를 수행할 수 있다. 또한, 게이트웨이는 도 2에서 설명한 이벤트 통지와 같은 Notification Service도 제공할 수도 있다.  In addition, the gateway may prioritize the flow of data transmitted through the gateway or perform a quality of service (QoS) to guarantee data transmission performance. In addition, the gateway may also provide a Notification Service such as the event notification described with reference to FIG. 2.
도 4는 IPTV 수신기가 게이트웨이를 발견하여 서비스를 이용하는 동작에 대한 순서도이다. 도 4에서 예시되는 게이트웨이의 발견(Gateway Discovery)은 게이트웨이 클래스의 오브젝트인 application/oipfGatewayInfo 오브젝트가 DAE상에서 생성되어 미리 정의된 함수를 호출함으로써 수행될 수 있다. 4 is a flowchart of an operation in which an IPTV receiver discovers a gateway and uses a service. Gateway discovery, illustrated in FIG. 4, may be performed by creating an application / oipfGatewayInfo object that is an object of a gateway class and calling a predefined function.
단계(S11)에서 IPTV 수신기가 게이트웨이의 발견 요청을 전송한다. 이 경우 IPTV 수신기는 onDiscoverIG, onDiscoverAG, onDiscoverCSPG 와 같은 함수를 호출하여 IG(IP Multimedia Subsystem Gateway), AG(Application Gateway), CSPG(Content and Service Protection Gateway)의 발견 이벤트를 호출할 수 있다. 또한, IPTV 수신기는 onDiscoverWG와 같은 함수를 호출하여 WG(WAN Gateway)의 발견 이벤트를 호출할 수 있다. In step S11, the IPTV receiver transmits a discovery request of the gateway. In this case, the IPTV receiver may call functions such as onDiscoverIG, onDiscoverAG, and onDiscoverCSPG to call discovery events of an IP Multimedia Subsystem Gateway (IG), an Application Gateway (AG), and a Content and Service Protection Gateway (CSPG). In addition, the IPTV receiver may call a function such as onDiscoverWG to call a discovery event of a WAN gateway (WG).
단계(S12)에서, 발견 요청에 해당하는 게이트웨이가 리스판스 메시지를 송신한다. 이 때, 게이트웨이의 서비스 디스크립션(gateway service description) 정보를 함께 송신할 수 있다. 게이트웨이의 서비스 디스크립션(gateway service description) 정보는, 예컨대, wgURL과 같이 WG의 URL정보를 나타내는 프라퍼티, 또는, isWANDiscovered()와 같은 WG가 지원하는 함수들(supported method)의 정보를 포함할 수 있다. WG의 프라퍼티 및 함수에 대한 설명은 후술한다.In step S12, the gateway corresponding to the discovery request transmits a response message. At this time, the service description information of the gateway may be transmitted together. The gateway service description information of the gateway may include, for example, a property indicating the URL information of the WG, such as wgURL, or information on functions supported by the WG, such as isWANDiscovered (). The properties and functions of the WG will be described later.
단계(S13)에서, IPTV 수신기는 단계(S12)에서 수신한 게이트웨이의 서비스 디스크립션 정보들 중 어느 하나를 구독(subscribe)할 수 있다.In step S13, the IPTV receiver may subscribe to any one of the service description information of the gateway received in step S12.
단계(S14)에서, 게이트웨이는 구독한 서비스에 대한 정보, 예컨대, 이벤트 통지를 전송할 수 있다. 게이트웨이와 IPTV 수신기와의 이벤트 송수신에 있어서 UPnP 기능이 이용될 수 있다. In step S14, the gateway may transmit information about the subscribed service, for example, an event notification. The UPnP function may be used to transmit and receive events between the gateway and the IPTV receiver.
상술한 게이트웨이의 발견 과정은 DAE 어플리케이션이 초기화되기 전에 수행될 수 있다. 게이트웨이의 발견이 완료되면 DAE 어플리케이션은 수신된 게이트웨이 서비스 디스크립션 정보를 이용하여 게이트웨이에 포트 매핑을 요청하는 등의 통신을 수행할 수 있다. The above-described discovery process of the gateway may be performed before the DAE application is initialized. When the discovery of the gateway is completed, the DAE application may perform communication such as requesting port mapping to the gateway using the received gateway service description information.
도 5는 본 발명의 일 실시예에 따른 억세스 네트워크와 홈 네트워크 환경에 대한 시스템 구성도를 나타낸다. 도 5를 참조하면, 게이트웨이1 및 게이트웨이2 를 통하여 홈 네트워크1 및 홈 네트워크2가 외부 접속망(Access Network)에 연결되어 있다. 5 is a diagram illustrating a system configuration of an access network and a home network environment according to an embodiment of the present invention. Referring to FIG. 5, the home network 1 and the home network 2 are connected to an external access network through the gateway 1 and the gateway 2.
접속망(Acces Network)는 공중망(Public Network), 광대역 통신망(WAN) 또는 네트워크 제공자가 제공하는 전용망일 수 있고, 홈 네트워크와 구별되는 네트워크로서, 외부 어플리케이션 서버 또는 다른 홈 네트워크의 디바이스들과 통신하기 위한 범용의 통신망을 모두 포함할 수 있다. 본 명세서에서는 접속망, 광대역 통신망, 공중망을 모두 외부 네트워크로 통칭하여 설명한다.An access network may be a public network, a wide area network (WAN), or a dedicated network provided by a network provider. The access network is a network distinct from the home network, and is used to communicate with devices of an external application server or another home network. It may include all general purpose communication networks. In this specification, an access network, a broadband communication network, and a public network are collectively described as external networks.
홈 네트워크(Home Network)는 집, 사무실, 학교와 같은 가까운 지역 내의 근거리 통신망으로서, 근거리 통신망(LAN) 및 사설망(Private Network)를 포함할 수 있다. 본 명세서에서 홈 네트워크는, 일 게이트웨이에 의해 연결되는 IPTV 수신기 및 디바이스들로 구성되는 근거리 망(Local Area Network)을 의미하며, 이하에서는 홈 네트워크로 통칭하여 설명한다.A home network is a local area network in a nearby area such as a home, office, or school, and may include a local area network (LAN) and a private network. In the present specification, a home network refers to a local area network including an IPTV receiver and devices connected by one gateway, which will be collectively described as a home network.
서버(Server)는 본 발명의 일 실시예에 따라 IPTV 수신기상에서 실행되는 DAE 어플리케이션이 통신하기 위한 어플리케이션 서버일 수 있다. 서버는 자신들의 네트워크를 효과적으로 구성하기 위하여 특정 게이트웨이에만 퍼블릭 IP 어드레스(Public IP Address or External IP Address)를 할당하여 통신할 수 있다. IP 주소가 유한하여 사용자의 홈 네트워크 내 다른 디바이스들에 모두 할당될 수 없기 때문이다. 이렇게 게이트웨이에만 IP 주소를 할당함으로써 보안상 유리한 이점이 있고, 외부 네트워크로부터 특정 게이트웨이와 통신하는데 원활해질 수 있다. The server may be an application server for communicating DAE applications running on an IPTV receiver according to an embodiment of the present invention. The server may communicate by assigning a public IP address (Public IP Address or External IP Address) only to a specific gateway in order to effectively configure their network. This is because the IP address is finite and cannot be assigned to all other devices in the user's home network. This assignment of IP addresses only to gateways provides a security advantage and can be used to communicate with specific gateways from external networks.
그러나, 특정 게이트웨이가 형성하는 홈 네트워크 내의 IPTV 수신기 및 디바이스들은 별도의 퍼블릭 IP 어드레스가 할당되어 있지 않기 때문에, 외부 네트워크와의 직접적 통신에 어려움이 있다. 게이트웨이는 외부 네트워크로부터 홈 네트워크 내 디바이스간 통신 요청이 수신되거나 이 반대의 경우에, 디바이스에 프라이비트 IP 어드레스(Private IP Address)를 임시적으로 할당하여 통신할 수 있도록 한다. 프라이비트 IP 어드레스를 할당받으면, 홈 네트워크 내 디바이스들은 이 주소를 이용하여 홈 네트워크 내 디바이스 간 통신은 가능하지만, 퍼블릭 IP 어드레스가 아니기 때문에, 홈 네트워크 외부로의 통신은 불가능하다. 왜냐하면 프라이비트 IP 어드레스는 유효하지 않은 주소이기 때문이다. However, since IPTV receivers and devices in a home network formed by a specific gateway are not assigned separate public IP addresses, there is a difficulty in direct communication with an external network. When the gateway receives a communication request between devices in the home network from the external network or vice versa, the gateway temporarily assigns a private IP address to the device to enable communication. Once a private IP address is assigned, devices in the home network can use this address to communicate between devices in the home network, but not outside the home network because it is not a public IP address. This is because private IP addresses are invalid addresses.
즉, 게이트웨이는 홈 네트워크 내 프라이비트 IP 어드레스를 관리하고, 서버는 게이트웨이의 주소(Public IP Address)를 관리함으로써, 외부 네트워크 및 홈 네트워크 간 통신이 게이트웨이를 경유하여 원활하게 수행될 수 있다.That is, the gateway manages a private IP address in the home network, and the server manages a public IP address of the gateway, so that communication between the external network and the home network can be smoothly performed through the gateway.
예컨대, 홈 네트워크 내 디바이스들 중 하나가 외부 네트워크로 통신을 수행할 경우에는 게이트웨이가 디바이스의 프라이비트 IP 어드레스를 퍼블릭 IP 어드레스토 변환하고, 디바이스가 연결된 내부 포트를 외부 포트로 변환하여 외부 네트워크로 데이터가 전송되도록 한다. 반대로, 게이트웨이에 특정 외부 네트워크로부터의 데이터가 전송되는 경우에는 특정 외부 포트로 지정된 데이터 패킷들은 홈 네트우크 내의 디바이스의 프라이비트 IP 어브레스로 변환되여 전송될 수 있다. 이로써, 프라이비트 IP 어드레스를 가진 디바이스들이 외부 네트워크와 통신할 수 있다.  For example, when one of the devices in the home network communicates with the external network, the gateway converts the private IP address of the device into a public IP address and converts the internal port to which the device is connected to the external port to convert the data into the external network. To be transmitted. In contrast, when data from a specific external network is transmitted to a gateway, data packets designated to a specific external port may be converted into a private IP address of a device in the home network and transmitted. This allows devices with private IP addresses to communicate with the external network.
마찬가지로, 홈 네트워크 내의 디바이스 및 IPTV 수신기상에 실행되는 어플리케이션이, 외부 네트워크와 통신을 수행하기 위해서는 해당 어플리케이션이 사용하는 통신 포트 및 할당된 프라이비트 IP 어드레스가 설정, 관리될 필요가 있다. 그러나, 이러한 설정을 하는데 필요한 인터페이스에 관한 데이터 구조 등이 규정되어 있지 않다. 본 발명에서는 홈 네트워크의 IPTV 수신기 및 이외 디바이스들에서 실행되는 DAE 어플리케이션이 네트워크 설정을 할 수 있기 위해 API를 제공할 수 있도록 한다.Similarly, in order for an application running on a device in an home network and an IPTV receiver to communicate with an external network, a communication port and an allocated private IP address used by the application need to be set and managed. However, no data structure or the like regarding the interface required for such setting is defined. In the present invention, the DAE application running on the IPTV receiver and other devices of the home network can provide an API for network configuration.
도 6은 본 발명의 일 실시예에 따른 오브젝트의 동작 환경을 나타낸다. 도 6을 참조하면 IPTV 수신기와 같은 하드웨어(H/W)상에서 운영 체계(OS)가 실행되고 있고, 운영 체계 위에서 DAE Supported Package가 장착된 DAE가 동작하고 있다. DAE Supported Package는 DAE에서 필요한 리소스를 포함하고, 범용 플러그앤 플레이(Universal Plug and Play) 모듈을 이용하여 게이트웨이와 통신할 수 있는 리소스를 포함하고, DAE 모듈 하위에서 지원되어야 한다. 이외, DAE 에서 필요한 기능들은 DAE Supported Package에 포함될 수 있다.6 illustrates an operating environment of an object according to an embodiment of the present invention. Referring to FIG. 6, an operating system (OS) is running on hardware (H / W) such as an IPTV receiver, and a DAE equipped with a DAE Supported Package is operating on the operating system. The DAE Supported Package contains the resources required by the DAE, includes the resources to communicate with the gateway using Universal Plug and Play modules, and must be supported under the DAE module. In addition, the functions required by the DAE can be included in the DAE Supported Package.
DAE는 DAE 어플리케이션이 실행할 수 있는 환경으로서, 게이트웨이를 발견하고, 게이트웨이 클래스의 오브젝트인 oipfGatewayInfo 오브젝트를 생성할 수 있다. 또한, DAE 어플리케이션으로부터 후술하는 포트 매핑의 요청이 수신되면, UPnP 기능을 이용하여 게이트웨이와 통신할 수 있다.The DAE is an environment in which DAE applications can run. It can discover gateways and create oipfGatewayInfo objects, which are objects of the gateway class. In addition, when a request for port mapping, which will be described later, is received from the DAE application, it may communicate with the gateway using the UPnP function.
DAE 어플리케이션은 상술한 바와 같이, DAE에 다운로드되어 실행되는 어플리케이션으로서, 자바 스크립트 또는 CE-HTML(Consumer Electronics-HTML) 프로토콜을 사용하여 어플리케이션 서버와 통신할 수 있다.As described above, the DAE application is an application downloaded and executed in the DAE and may communicate with the application server using JavaScript or CE-HTML (Consumer Electronics-HTML) protocol.
도 7은 본 발명의 일 실시예에 따른 네트워크 설정 방법에 있어서 필요한 데이터를 정의한 표를 나타낸다. 구체적으로, 본 발명의 일 실시예에 따른 네트워크 설정 방법에 있어서 필요한 데이터의 속성(Attribute), 단위(Unit) 및 설명(Description) 정보가 나타나 있다.7 shows a table defining data required for a network setting method according to an embodiment of the present invention. Specifically, attribute, unit, and description information of data required for a network setting method according to an embodiment of the present invention are shown.
ID는 게이트웨이가 설정하는 포트 매핑의 식별 정보로서, 게이트웨이가 포트 매핑을 수행할 때 순서대로 또는 임의로 번호를 할당함으로써 포트 매핑의 식별 정보를 생성할 수 있다.The ID is identification information of the port mapping set by the gateway, and the identification information of the port mapping may be generated by assigning numbers in sequence or arbitrarily when the gateway performs port mapping.
원격 IP 주소(Remote IP Address)는 외부 네트워크를 통하여 선택적으로 접속하고자 하는 외부 서버 또는 디바이스의 IP 어드레스로서, 퍼블릭 IP 어드레스를 나타낸다. 예컨대, DAE 어플리케이션이 어플리케이션 서버와만 통신하고자 하는 경우 어플리케이션 서버의 퍼블릭 IP 어드레스를 의미할 수 있다. 또한, DAE 어플리케이션이 다른 홈 네트워크 내에 연결되어 있는 IPTV 수신기 또는 가전 기기와만 통신하고자 하는 경우 그 IPTV 수신기 및 가전 기기의 퍼블릭 IP 어드레스를 나타낼 수 있다. 본 발명의 일 실시예에 따라 DAE 어플리케이션이 포트 매핑 시에 Remote IP Address를 설정하는 경우에는 해당 DAE 어플리케이션은 Remote IP Address 에 해당하는 서버 또는 디바이스로부터의 접속만을 허용할 수 있다. 한편, DAE 어플리케이션이 포트 매핑 시에 RemoteIPAddress 를 설정하지 않거나, "255.255.255.255" 로 설정한 경우에는 외부 네트워크로부터의 모든 서버 및 장치로부터의 접속을 허용할 수 있다. The Remote IP Address is an IP address of an external server or device to be selectively connected through an external network, and represents a public IP address. For example, when a DAE application wants to communicate only with an application server, it may mean a public IP address of the application server. In addition, when the DAE application wants to communicate only with an IPTV receiver or a home appliance connected in another home network, the DAE application may indicate a public IP address of the IPTV receiver and the home appliance. According to an embodiment of the present invention, when a DAE application configures a remote IP address when port mapping, the DAE application may allow access only from a server or a device corresponding to the remote IP address. On the other hand, when the DAE application does not set the RemoteIPAddress at the time of port mapping or sets it to "255.255.255.255", it can allow access from all servers and devices from the external network.
외부 포트(External Port) 는 외부 네트워크의 지정한 서버 또는 장치와 통신하기 위한 포트 번호를 의미한다. 즉, 외부 포트(External Port) 는 외부 네트워크에서 게이트로 들어오는 포트를 의미한다.External port refers to a port number for communicating with a designated server or device in an external network. That is, an external port refers to a port that enters a gate from an external network.
외부 포트의 시작 번호(Start Number Of External Port) 는 게이트웨이의 포트들 중 외부 포트의 시작 번호를 의미한다.Start Number Of External Port refers to the start number of the external port among the ports of the gateway.
외부 포트의 끝 번호(End Number Of External Port)는 게이트웨이의 포트들 중 외부 포트의 끝 번호를 의미한다. The end number of the external port refers to the end number of the external port among the ports of the gateway.
게이트웨이가 외부 포트의 시작 번호 및 끝 번호를 인식하고 있는 상태에서 DAE 어플리케이션으로부터 포트 매핑의 요청이 들어오면, 요청된 외부 포트가 상기 시작 번호 및 끝 번호의 범위 밖인 경우에는 에러를 리턴하도록 한다.If a port mapping request is received from the DAE application while the gateway recognizes the start and end numbers of the external port, an error is returned if the requested external port is out of the range of the start and end numbers.
내부 IP 어드레스(Internal IP Address)는 홈 네트워크에 연결되어 있는 IPTV 수신기 또는 디바이스의 프라이비트 아이피 주소(Private IP Address)를 의미한다. 내부 IP 어드레스는 외부 네트워크상에서는 인식되지 못하고 홈 네트워크를 구성하는 게이크웨이에서만 인식되고 있다. 내부 IP 어드레스는 상술한 프라이비트 IP 어드레스를 포함할 수 있다.The internal IP address means a private IP address of an IPTV receiver or device connected to a home network. Internal IP addresses are not recognized on the external network, but only on the gateways that make up the home network. The internal IP address may include the private IP address described above.
내부 포트(Internal Port)는 DAE 어플리케이션이 장착된 IPTV 수신기 또는 디바이스가 사용하는 내부 포트를 나타낸다. DAE 어플리케이션이 포트 매핑을 요청할 때 내푸 포트를 입력하여 요청할 수 있으나, 입력하지 아니한 경우에는 외부 포트와 동일한 포트 번호가 설정될 수 있다. Internal Port refers to the internal port used by an IPTV receiver or device equipped with a DAE application. When the DAE application requests port mapping, the internal port may be inputted and requested, but if not, the same port number as the external port may be set.
내부 포트의 시작 번호(Start Number Of Internal Port)는 게이트웨이의 포트들 중 내부 포트의 시작 번호를 의미한다.The start number of internal ports refers to the start number of internal ports among the ports of the gateway.
내부 포트의 끝 번호(End Number Of Internal Port)는 게이트웨이의 포트들 중 내부 포트의 끝 번호를 의미한다.End number of internal port means the end number of the internal port among the ports of the gateway.
프로토콜(Protocol)은 포트 매핑된 포트를 사용할 때 사용되는 통신 프로토콜 타입을 의미한다. 예컨대, TCP의 경우 '0'을, UDP의 경우'1'로 설정할 수 있다.Protocol refers to a communication protocol type used when using a port mapped port. For example, '0' can be set for TCP and '1' for UDP.
라이프타임(Lifetime)은 포트 매핑의 유지 시간에 대한 시각 정보를 나타낸다. 게이트웨이의 포트는 유한하기 때문에 포트 매핑을 계속적으로 유지하는 것은 게이트웨이 자원의 사용 측면에서 비효율적일 수 있다. 본 발명에서는 어플리케이션이 포트 매핑의 요청 시에 라이프타임을 설정하도록 하여 해당 라이프타임에 도달하는 경우 포트 매핑을 해제하도록 함으로써 포트를 효율적으로 활용할 수 있도록 한다. 한편, 라이프타임의 단위가 도 7에서는 DateTime으로 예시되어 있지만 이에 한정되지 않고, 예컨대, hours, minute, seconds 와 같은 시간 단위로 설정될 수 있다.Lifetime represents time information about the retention time of the port mapping. Since the ports of the gateway are finite, maintaining port mapping continuously can be inefficient in terms of the use of gateway resources. According to the present invention, the application sets the life time at the request of the port mapping so that the port mapping is released when the corresponding lifetime is reached, thereby effectively utilizing the port. Meanwhile, although the unit of the life time is illustrated as DateTime in FIG. 7, the present invention is not limited thereto. For example, the unit of life time may be set to a time unit such as hours, minute, or seconds.
서비스 네임(Service Name)은 포트 매핑을 요청한 DAE 어플리케이션 또는 서비스의 이름을 의미할 수 있다.The service name may mean the name of the DAE application or service that requested port mapping.
도 8은 본 발명의 일 실시예에 따른 네트워크 설정 방법에 있어서 필요한 프라퍼티 및 이벤트를 정의한 표를 나타낸다. 도 8에 예시되는 프라퍼티 및 이벤트는 본 발명의 일 실시예에 따른 oipfGatewayInfo 오브젝트에서 지원, 사용되는 정보일 수 있다. 상술한 바와 같이 oipfGatewayInfo 오브젝트는 DAE 어플리케이션이 초기화되기 전에 생성되고, 접속 가능한 게이트웨이를 발경, 게이트웨이 정보를 수집하는 기능을 수행할 수 있다. 또한, DAE 어플리케이션이 포트 매핑을 요청하는 경우에, oipfGatewayInfo 오브젝트가 필요한 함수를 호출할 수 있도록 한다. 8 shows a table defining properties and events required in a network configuration method according to an embodiment of the present invention. Properties and events illustrated in FIG. 8 may be information supported and used in an oipfGatewayInfo object according to an embodiment of the present invention. As described above, the oipfGatewayInfo object may be created before the DAE application is initialized, and may perform a function of initiating an accessible gateway and collecting gateway information. In addition, when a DAE application requests port mapping, it allows the oipfGatewayInfo object to call the necessary functions.
한편, 본 발명에 따른 네트워크 설정 방법에 있어서, 포트 매핑을 요청받는 게이트웨이는 WAN Gateway이다. IPTV 수신기에 장착된 DAE는 UPnP 를 지원하고 있으므로, WAN Gateway는 적어도 UPnP 기능이 제공되는 게이트웨이일 수 있다. On the other hand, in the network configuration method according to the present invention, the gateway that is requested for port mapping is a WAN gateway. Since the DAE mounted in the IPTV receiver supports UPnP, the WAN gateway may be a gateway provided with at least UPnP function.
wgURL 프라퍼티는 Gateway Discovery 요청에 의해 발견된 WAN Gateway 의 URL 주소를 나타낼 수 있다. The wgURL property may indicate the URL address of the WAN gateway found by the gateway discovery request.
isWGDiscovered 프라퍼티는 WAN Gateway가 발견되었는 지를 나타내는 프라퍼티로서, true 또는 false 값을 포함할 수 있다.The isWGDiscovered property is a property indicating whether a WAN gateway has been discovered and may include a value of true or false.
한편, 본 발명에서 사용되는 이벤트로서, 'onDiscoverWG' 이벤트가 포함될 수 있다. onDiscoverWG는 WAN Gateway가 UPnP로 발견된 경우 DAE가 호출하는 Notification 이벤트를 나타낸다. DAE로부터 해당 이벤트가 호출되면, DAE 어플리케이션은 이를 인식(identify)하고, WAN Gateway에 포트 매핑을 요청할 수 있다. Meanwhile, as an event used in the present invention, an 'onDiscoverWG' event may be included. onDiscoverWG indicates the Notification event that the DAE invokes when the WAN Gateway is found as UPnP. When the event is called from the DAE, the DAE application can identify it and request port mapping from the WAN gateway.
한편, 도 8에서 설명되는 프라퍼티, 함수 및 이벤트는 그 동작의 공통성이 있는 한 그 명칭에 의해 본 발명의 범위가 제한되지 않는다.On the other hand, the properties, functions, and events described in FIG. 8 are not limited to the scope of the present invention by their names as long as the operation is common.
도 9는 본 발명의 일 실시예에 따른 네트워크 설정 방법에 있어서 addPortMapping 함수를 정의한 표를 나타낸다. 9 shows a table defining an addPortMapping function in a network configuration method according to an embodiment of the present invention.
addPortMapping 함수는 DAE 어플리케이션이 외부 네트워크의 서버 등에 직접적으로 통신하기 위하여, 특정 외부 포트에 대한 포트 매핑을 WAN 게이트웨이에 요청하기 위해 호출되는 함수이다. addPortMapping 함수는 해당 어플리케이션의 서비스 네임(serviceName), 연결하고자 하는 외부 네트워크의 서버 주소(remoteIPAddress), 매핑하고자 하는 외부 포트 번호(externalPort), DAE 어플리케이션이 실행되는 디바이스 또는 IPTV 수신기의 내부 IP 주소(internalIPAddress), DAE 어플리케이션이 사용하고자 하는 내부 포트 번호(internalPort), 사용 프로토콜(protocol), 및 라이프타임(lifetime)이 아규먼트(argument)로서 입력될 수 있다. 입력된 외부 포트에 대한 포트 매핑이 성공하면 '0'을 리턴하지만 그렇지 아니한 경우에는 도 9에서 나타내는 바와 같이 다른 결과를 리턴할 수 있다. The addPortMapping function is a function called to request a port mapping for a specific external port to a WAN gateway in order for a DAE application to communicate directly with a server of an external network. The addPortMapping function is the service name of the application (serviceName), the server address of the external network to connect to (remoteIPAddress), the external port number to map (externalPort), the internal IP address of the device running the DAE application or the IPTV receiver (internalIPAddress). The internal port number (internalPort), the protocol used, and the lifetime that the DAE application intends to use may be input as an argument. If the port mapping to the input external port is successful, '0' is returned. Otherwise, as shown in FIG. 9, another result may be returned.
도 10은 본 발명의 일 실시예에 따른 네트워크 설정 방법에 있어서 도 9의 addPortMapping 함수의 시퀀셜 다이어그램을 나타낸다. 도 10에서 예시되는 서버(Server)는 IPTV 수신기에서 실행되는 DAE 어플리케이션의 제공 서버일 수 있다. 게이트웨이는 DAE Supported Package를 지원하는 DAE와 통신하기 위하여 UPnP 기능이 제공되는 WAN Gateway일 수 있다. DAE는 IPTV 수신기에서 DAE 어플리케이션이 실행되는 환경일 수 있다. 이하, addPortMapping 함수가 호출되는 동작에 대한 순서도를 설명한다.FIG. 10 is a sequential diagram of the addPortMapping function of FIG. 9 in the network configuration method according to an embodiment of the present invention. The server illustrated in FIG. 10 may be a server for providing a DAE application executed in an IPTV receiver. The gateway may be a WAN gateway provided with UPnP function to communicate with the DAE supporting the DAE Supported Package. The DAE may be an environment in which the DAE application is executed in the IPTV receiver. Hereinafter, a flowchart of an operation in which the addPortMapping function is called will be described.
1. DAE에서 서버에 DAE 어플리케이션을 요청한다. DAE 어플리케이션의 요청은, 도 2에서 설명한 바아 같이 리모트 컨트롤러와 같은 사용자 인터페이스(User Interface) 에서 발생된 이벤트가 감지되어 이벤트 핸들러에 의해 요청될 수 있다. 1. The DAE requests a DAE application from the server. As described with reference to FIG. 2, the DAE application request may be requested by an event handler after detecting an event generated in a user interface such as a remote controller.
예컨대, IPTV 상에서 특정 방송사의 채널을 시청하는 도중 AIT(Application Information Table)에 특정 어플리케이션이 리스팅되고, 사용자가 리모트 컨트롤러를 통하여 리스트 내 특정 어플리케이션을 선택하는 것을 예로 들어 설명한다. 이 경우, 선택된 어플리케이션의 UI에 포함된 어플리케이션 서버의 URL 정보를 통하여 IPTV 수신기가 어플리케이션 서버에 접속하고, 어플리케이션을 요청할 수 있다. For example, a specific application is listed in an application information table (AIT) while watching a channel of a specific broadcaster on an IPTV, and a user selects a specific application in a list through a remote controller as an example. In this case, the IPTV receiver may access the application server and request an application through URL information of the application server included in the UI of the selected application.
2. 서버는 요청된 DAE 어플리케이션을 IPTV 수신기에 전송, DAE에 다운로드되도록 한다. DAE 어플리케이션의 다운로드 시에는 HTTP 프로토콜을 이용하여 어플리케이션의 실행에 필요한 리소스들이 전송될 수 있다.2. The server sends the requested DAE application to the IPTV receiver for download to the DAE. When downloading the DAE application, resources necessary for executing the application may be transmitted using the HTTP protocol.
3. DAE 어플리케이션이 DAE상에서 실행(excute) 된다.3. The DAE application runs on the DAE.
4. DAE 어플리케이션이 초기화된다(initilize). 어플리케이션은 IPTV 수신기 상의 유저 인터페이스(User Interface)에 의해 초기화 또는 시작될 수 있다. 예컨대, 사용자가 다운로드된 어플리케이션의 시작을 선택하는 경우이다. 이 때, DAE는 어플리케이션 클래스의 application 객체를 생성하고, application.createapplication() 함수를 호출함으로써 다운로드된 어플리케이션을 실행할 수 있다. 4. The DAE application is initialized. The application may be initiated or started by a user interface on the IPTV receiver. For example, when the user selects the start of the downloaded application. At this time, the DAE can execute the downloaded application by creating an application object of the application class and calling the application.createapplication () function.
5. 내지 7. DAE 어플리케이션이 실행 및 초기화되기 이전에, 또는, DAE 어플리케이션이 실행되는 도중에, 게이트웨이의 발견(discovery) 및 알림(notification)이 실행될 수 있다. 이때, IPTV 수신기가 WAN 게이트웨이를 발견하여 WAN URL을 획득하면, onDiscoverWG 이벤트가 호출될 수 있다. 이외에도, WAN 게이트웨이가 꺼졌다가 켜질 때 WAN 게이트웨이가 발견되어 onDiscoverWG 이벤트가 호출될 수도 있다. 이 경우, WAN Gateway의 URL이 업데이트될 수 있다.5.-7. Discovery and notification of the gateway may be executed before the DAE application is executed and initialized, or while the DAE application is running. At this time, if the IPTV receiver discovers the WAN gateway and obtains the WAN URL, the onDiscoverWG event may be called. In addition, when the WAN gateway is turned off and on, the WAN gateway may be found and the onDiscoverWG event may be called. In this case, the URL of the WAN gateway may be updated.
8. DAE 어플리케이션은, WAN Gatewa의 발견을 인식하고, WAN URL을 획득할 수 있다. 8. The DAE application may recognize the discovery of the WAN Gatewa and obtain the WAN URL.
9. DAE 어플리케이션은 획득한 WAN URL을 이용하여, 게이트웨이에 포트 매핑을 요청한다.9. The DAE application requests the port mapping from the gateway using the obtained WAN URL.
10. 포트 매핑을 요청하기 위해서 addPortMapping() 함수가 호출될 수 있다. addPortMapping() 함수는 외부 네트워크 상의 서버 및 디바이스와 DAE 어플리케이션이 직접적으로 통신할 수 있도록 특정 외부 포트가 아규먼트로서 입력되면, 외부 포트의 방화벽 해제 및 포트 매핑을 요청하는 기능을 수행한다. 즉, IPTV 수신기는, 어플리케이션의 식별 정보, 연결하고자 하는 외부 서버 또는 디바이스의 주소 정보, 외부 포트 정보, 내부 포트 정보, 프로토콜 타입 및 상기 외부 포트의 라이프타임 중 적어도 하나를 게이트웨이에 전송함으로써, 포트 매핑을 요청할 수 있다.10. The addPortMapping () function can be called to request port mapping. The addPortMapping () function performs a function of requesting firewall release and port mapping of an external port when a specific external port is input as an argument so that a DAE application can directly communicate with a server and a device on the external network. That is, the IPTV receiver transmits at least one of identification information of an application, address information of an external server or device to be connected, external port information, internal port information, a protocol type, and a lifetime of the external port to the gateway, thereby mapping the port. You can request
11. 및 12. addPortMapping() 함수가 호출되면, DAE는 UPnP를 이용하여 게이트웨이에 아규먼트로서 입력된 외부 포트 번호에 대한 UPnP 포트 매핑을 요청한다.11. and 12. When the addPortMapping () function is called, the DAE requests UPnP port mapping for the external port number entered as an argument to the gateway using UPnP.
13. 게이트웨이는 요청된 외부 포트에 대한 방화벽의 해제 또는 포트 매핑을 수행하기 위해 포트를 개방한다. 요청된 외부 포트가 사용중인 경우에는 에러(Conflict in Port Mapping)을 리턴한다. 13. The gateway opens the port to perform a firewall release or port mapping to the requested external port. If the requested external port is in use, an error (Conflict in Port Mapping) is returned.
14. 포트 매핑이 성공한 경우에는 게이트웨이는 요청된 외부 포트의 매핑을 수락한다.14. If the port mapping succeeds, the gateway accepts the mapping of the requested external port.
15. DAE 는 포트 매핑의 결과를 수신한다.15. The DAE receives the results of the port mapping.
16. DAE 어플리케이션이 포트 매핑이 성공하였음을 나타내는 결과값으로서 예컨대 '0'을 수신한다. 16. The DAE application receives, for example, '0' as a result indicating that the port mapping was successful.
17. DAE 어플리케이션은 포트 매핑에 의해 할당된 외부 포트를 이용하여 어플리케이션을 시작한다. 즉, IPTV 수신기는 DAE 어플리케이션을 동작시킬 수 있으며, 요청에 의해 매핑된 포트를 통하여 외부 네트워크에 접속하여 어플리케이션을 동작시킬 수 있다. 17. The DAE application starts the application using the external port assigned by the port mapping. That is, the IPTV receiver can operate the DAE application, and can access the external network through the port mapped by the request to operate the application.
18. DAE 어플리케이션은 DAE에 서버 소켓의 개방을 요청할 수 있다. 서버 소켓은, DAE 어플리케이션이 외부의 서버, 어플리케이션 또는 디바이스간에 양지향성(bidirectional) 통신을 하고, 외부의 어플리케이션 또는 디바이스에 대하여 서버로서 동작하기 위한 접점(endpoint)를 의미할 수 있다. DAE 에 서버 소켓이 생성이되면, IPTV 수신기의 DAE 어플리케이션은, 이 서버 소켓을 통하여 외부의 어플리케이션 등과 데이터를 교환할 수 있을 수 있다.18. A DAE application can request the DAE to open a server socket. The server socket may mean an endpoint for a DAE application to perform bidirectional communication between an external server, an application, or a device, and operate as a server with respect to the external application or device. When a server socket is created in the DAE, the DAE application of the IPTV receiver may exchange data with an external application or the like through the server socket.
19. DAE 는 서버 소켓을 생성하여 'OK'를 리턴한다. 19. The DAE creates a server socket and returns 'OK'.
20. DAE 어플리케이션은 포트 매핑에 의해 할당된 외부 포트에 대한 정보를 어플리케이션 서버에 전송할 수 있다. 이로써, 어플리케이션 서버와 DAE 어플리케이션은 직접적으로 통신할 수 있다.20. The DAE application may send information about the external port allocated by the port mapping to the application server. In this way, the application server and the DAE application can communicate directly.
21. 또한, DAE 어플리케이션은 포트 매핑에 의해 할당된 외부 포트에 대한 정보를 다른 DAE 어플리케이션 클라이언트에게 알리도록 어플리케이션 서버에 요청할 수 있다. 요청에 따라 어플리케이션 서버가 다른 디바이스의 DAE 어플리케이션에 외부 포트를 알려주면, 다른 디바이스의 DAE 어플리케이션과 IPTV 수신기의 DAE 어플리케이션은 어플리케이션의 중계 없이도 직접적으로 통신할 수 있다.21. The DAE application may also request the application server to inform other DAE application clients of the information about the external port assigned by the port mapping. When the application server informs the DAE application of the other device of the external port according to the request, the DAE application of the other device and the DAE application of the IPTV receiver can communicate directly without relaying the application.
상기 18. 및 19.의 동작과, 20. 및 21의 동작 순서는 도 10에서 예시된 순서에 제한되지 않고, 동시 또는 반대로 진행될 수도 있다.The operations of 18. and 19. and the operations of 20. and 21 are not limited to the order illustrated in FIG. 10 and may be performed simultaneously or vice versa.
이외에도 도 10에서 예시되는 다른 동작도 그 번호와 달리하여 진행될 수 있으며 그 순서에 제한을 두지 않는다.In addition, other operations illustrated in FIG. 10 may be performed differently from the numbers, and the order is not limited thereto.
한편, 상술한 바와 같이 요청한 외부 포트에 대한 매핑이 성공하지 아니한 경우, 예컨대, 입력된 외부 포트가 이미 사용중이거나 존재하지 아니한 경우, 다른 외부 포트에 대한 포트 매핑을 재요청할 필요가 있다. 이 경우, DAE 어플리케이션의 동작 시간이 길어지게 된다. On the other hand, when the mapping to the requested external port is not successful as described above, for example, if the input external port is already in use or does not exist, it is necessary to request the port mapping to another external port. In this case, the operation time of the DAE application becomes long.
이러한 문제점을 해결하기 위하여, 매핑 가능한 외부 포트를 탐색하여 다이나믹하게 매핑해주는 addAnyPortMapping 함수에 대해 설명한다.In order to solve this problem, the addAnyPortMapping function that searches for and dynamically maps an external portable port is described.
도 11은 본 발명의 일 실시예에 따른 네트워크 설정 방법에 있어서 addAnyPortMapping 함수를 정의한 표를 나타낸다. 11 illustrates a table in which an addAnyPortMapping function is defined in a network configuration method according to an embodiment of the present invention.
addAnyPortMapping 함수는 DAE 어플리케이션이 외부 네트워크의 서버에 직접적으로 통신하기 위하여, 특정 외부 포트 및 임의의 오부 포트에 대한 포트 매핑을 WAN 게이트웨이에 요청하기 위해 호출하는 함수이다. 한편, 앞서 설명한 addPortMapping 함수와는 다르게 아규먼트로서 입력된 외부 포트가 매핑 가능한 경우에는 해당 외부 포트 번호를 결과값으로서 리턴하고, 매핑 가능하지 아니한 경우에는 사용 가능한 외부 포트를 탐색하여 매핑해주도록 하는 다이나믹한 포트 매핑함수이다. addAnyPortMapping 함수는 해당 어플리케이션의 서비스 네임(serviceName), 통신하고자 하는 외부 네트워크의 서버 주소(remoteIPAddress), 매핑하고자 하는 외부 포트 번호(externalPort), DAE 어플리케이션이 실행되는 디바이스 또는 IPTV 수신기의 내부 IP 주소(internalIPAddress), DAE 어플리케이션이 사용하고자 하는 내부 포트 번호(internalPort), 사용 프로토콜(protocol), 및 라이프타임(lifetime)을 파라미터로서 입력될 수 있다. 입력된 외부 포트에 대한 포트 매핑이 성공하면 해당 외부 포트값을 리턴하고, 입력된 외부 포트가 사용중이어서 다른 외부 포트로 매핑 F 경우에는 새로운 외부 포트 번호를 리턴한다. 또한, 매핑이 성공하지 아니한 경우에는 addPortMapping 함수와 동일한 방식으로 다른 결과를 리턴할 수 있다. The addAnyPortMapping function is a function that a DAE application calls to request a WAN gateway to port mapping for a specific external port and any false port in order to communicate directly with a server of an external network. On the other hand, unlike the addPortMapping function described above, if the external port inputted as an argument can be mapped, the corresponding external port number is returned as a result value. If the external port is not mapped, the dynamic port is searched and used for the external port. Port mapping function. The addAnyPortMapping function is the service name (serviceName) of the application, the server address (remoteIPAddress) of the external network to communicate with, the external port number (externalPort) to be mapped, the internal IP address of the device running the DAE application or the IPTV receiver (internalIPAddress). For example, the internal port number (internalPort), the protocol used, and the lifetime, which the DAE application intends to use, may be input as parameters. If the port mapping to the external port is successful, the external port value is returned. If the external port is mapped to another external port because the input external port is in use, the new external port number is returned. If the mapping is not successful, other results can be returned in the same manner as the addPortMapping function.
addAnyPortMapping 함수는 addPortMapping 함수와 비교하여 아규먼트는 동일하게 입력되는 반면, 상술한 바와 같이 결과값에 있어서 다소 차이점이 있다. The addAnyPortMapping function has the same arguments as compared to the addPortMapping function, but as described above, there are some differences in the result values.
한편, addAnyPortMapping에 의해 매핑된 포트를 사용하는 DAE 어플리케이션은 임의의 외부 포트를 사용하도록 제작되어야 할 것이다. 예컨대, "telnet(23)", "ftp(21)"와 같이 국제 표준에 의해 정해진 포트를 사용하는 프로그램에 대해서는 addAnyPortMapping 함수는 논외로 한다. On the other hand, DAE applications that use ports mapped by addAnyPortMapping will have to be built to use arbitrary external ports. For example, the addAnyPortMapping function is left out for programs that use ports determined by international standards such as "telnet (23)" and "ftp (21)."
마찬가지로, 도 12에서 예시되는 20. 및 21.의 동작과, 22. 및 23의 동작 순서는 도시된 순서에 제한되지 않고, 동시 또는 반대로 진행될 수도 있다.Likewise, the operations of 20. and 21. and the operations of 22. and 23 illustrated in FIG. 12 are not limited to the order shown and may be performed simultaneously or vice versa.
이외에도 도 12에서 예시되는 다른 동작도 그 번호와 달리하여 진행될 수 있으며 그 순서에 제한을 두지 않는다.In addition, other operations illustrated in FIG. 12 may be performed differently from the numbers, and the order is not limited thereto.
도 12는 본 발명의 일 실시예에 따른 네트워크 설정 방법에 있어서 도 11의 addAnyPortMapping 함수의 시퀀셜 다이어그램을 나타낸다. 12 is a sequential diagram of the addAnyPortMapping function of FIG. 11 in the network configuration method according to an embodiment of the present invention.
도 12에서 나타내는 동작 중, 1. 내지 9. 의 동작에 대한 설명, 11. 내지 12의 동작, 16. 내지 23. 에서의 설명은 도 10의 그것과 동일하므로 생략한다.Of the operations shown in FIG. 12, descriptions of operations of 1. to 9., operations of 11. to 12, and descriptions of 16. to 23. are the same as those of FIG.
10. DAE 어플리케이션은, addAnyPortMapping 함수를 호출한다. addAnyPortMapping 함수의 호출은 어플리케이션을 시작할 때 처음으로 호출될 수도 있지만, 앞서 설명한 바와 같이, addPortMapping에 의한 포트 매핑이 실패할 때 호출될 수도 있다.10. The DAE application calls the addAnyPortMapping function. The call to the addAnyPortMapping function may be called for the first time when starting an application, but as described above, it may be called when the port mapping by addPortMapping fails.
13. 게이트웨이가 포트 매핑의 요청을 수신한 경우에는 입력된 외부 포트가 사용 가능한 지, 예컨대, 이미 사용중이거나 존재하는 외부 포트인 지를 파악한다. 13. If the gateway receives a request for port mapping, it determines whether the external port entered is available, for example, an external port already in use or existing.
14. 입력된 외부 포트가 매핑이 허용되지 아니한 경우에는 사용 가능한 포트를 탐색한다.14. If the input external port is not allowed to map, search the available port.
15. 사용 가능한 외부 포트가 발견되면 해당 포트를 개방한다. 15. If an available external port is found, open the port.
상술한 바와 같이, addAnyPortMapping 함수에 의해 할당된 외부 포트를 이용하여, IPTV 수신기상의 DAE 어플리케이션은 어플리케이션 서버 또는 다른 DAE 어플리케이션과 직접적으로 통신할 수 있다. 직접적 통신 방식은 어플리케이션 및 프로토콜 타입에 따라 다양할 수 있으며 이에 대한 설명은 생략한다.As described above, using an external port assigned by the addAnyPortMapping function, a DAE application on an IPTV receiver can communicate directly with an application server or other DAE application. The direct communication scheme may vary depending on the application and protocol type, and a description thereof will be omitted.
한편, 도 9 내지 도 12에서 설명한 포트 매핑 함수에 의해 외부 포트가 매핑되더라도, DAE 어플리케이션의 실행이 종료될 때에는 해당 포트는 회수될 필요가 있다. 즉, addPortMapping 및 addAnyPortMapping 의 함수들은 DAE 어플리케이션이 동작할 동안 사용되고, 최종 DAE 어플리케이션이 종료될 때에는 삭제될 필요가 있다. 다음에는, 매핑된 외부 포트를 해제하는 함수의 동작을 설명한다. On the other hand, even if the external port is mapped by the port mapping function described with reference to FIGS. 9 to 12, when the execution of the DAE application is terminated, the corresponding port needs to be recovered. That is, the functions of addPortMapping and addAnyPortMapping need to be used while the DAE application is running and deleted when the last DAE application terminates. Next, the operation of the function for releasing the mapped external port will be described.
도 13은 본 발명의 일 실시예에 따른 네트워크 설정 방법에 있어서 deletePortMapping 함수를 정의한 표를 나타낸다. 도 13을 참조하면, deletePortMapping 함수는 매핑된 포트를 해제하기 위한 함수로서, 원격 IP 어드레스(remoteIPAddress), 외부 포트(externalPort), 프로토콜(prootocol)가 아규먼트로서 입력되면, 입력된 외부 포트의 매핑을 폐쇄하는 함수이다. 프로토콜은 선택적 사항으로서, 프로토콜이 입력되지 아니한 경우에는, 이와 무관하게 일괄적으로 포트가 폐쇄된다. 포트 매핑의 폐쇄 성공에 따라 결과값을 리턴한다.FIG. 13 is a table illustrating a deletePortMapping function in a network configuration method according to an embodiment of the present invention. FIG. Referring to FIG. 13, the deletePortMapping function is a function for releasing a mapped port. When a remote IP address, an external port, and a protocol are input as arguments, the mapping of the input external port is closed. Function. The protocol is optional. If no protocol is input, the port is closed in a batch regardless. Returns a value based on the success of closing the port mapping.
포트 매핑의 폐쇄는, DAE 어플리케이션이 종료 또는 중단되는 경우, 또는 포트 매핑 시에 설정하였던 외부 포트의 라이프타임이 경과하는 경우에 필요할 수 있다. Closing the port mapping may be necessary when the DAE application is terminated or stopped, or when the lifetime of the external port set at the time of port mapping elapses.
한편, 도 13에서와 같이 특정 외부 포트의 매핑을 폐쇄하는 것 이외에도 소정 범위의 외부 포트를 일괄적으로 폐쇄할 필요가 있다. 즉, 소정 범위의 외부 포트의 매핑을 폐쇄하기 위한 함수로서 도 14에서 설명한다.On the other hand, in addition to closing the mapping of a specific external port as shown in Figure 13 it is necessary to collectively close the external port of a predetermined range. That is, it is described in FIG. 14 as a function for closing the mapping of the external port of the predetermined range.
도 14는 본 발명의 일 실시예에 따른 네트워크 설정 방법에 있어서 deletePortMappingRange 함수를 정의한 표를 나타낸다. 도 14를 참조하면, deletePortMappingRange 함수는 매핑된 포트를 해제하기 위한 함수로서, 원격 IP 어드레스(remoteIPAddress), 외부 포트의 시작 번호(startOfExternalPort), 외부 포트의 끝 번호(endOfExternalPort), 프로토콜(prootocol)을 아규먼트로서 입력하여, 입력된 외부 포트의 매핑을 폐쇄하는 함수이다. 아규먼트로서 외부 포트의 시작 번호 및 끝 번호가 입력되는 것을 제외하고는 deletePortMapping 함수에서의 입력값과 리턴값이 동일하다. 14 illustrates a table in which a deletePortMappingRange function is defined in a network configuration method according to an embodiment of the present invention. Referring to FIG. 14, the deletePortMappingRange function is a function for releasing a mapped port. The deletePortMappingRange function arguments a remote IP address (remoteIPAddress), an external port start number (startOfExternalPort), an external port end number (endOfExternalPort), and a protocol (prootocol). As a function, it closes the mapping of the input external port. The input and return values of the deletePortMapping function are the same except that the start and end numbers of the external port are entered as arguments.
도 15는 본 발명의 일 실시예에 따른 네트워크 설정 방법에 있어서 deletePortMapping 함수의 시퀀셜 다이어그램을 나타낸다. 도 15는 DAE 어플리케이션이 종료 또는 중단될 때 포트 매핑을 해제하는 경우의 동작을 나타낸다. 15 is a sequential diagram of a deletePortMapping function in a network configuration method according to an embodiment of the present invention. 15 illustrates an operation of releasing port mapping when the DAE application is terminated or stopped.
1. DAE 어플리케이션의 동작 종료를 명령한다.1. Command the operation termination of the DAE application.
2. DAE 어플리케이션이 프로그램을 종료한다. 2. The DAE application terminates the program.
또한, DAE 어플리케이션은 도 10 및에서 설명한 포트매핑에 의해 생성된 서버 소켓의 클로징(closing)을 DAE에 요청할 수 있다. DAE는 포트 매핑에 의해 개방된 서버 소켓을 닫고 OK를 DAE 어플리케이션에 전송할 수 있다.In addition, the DAE application may request the DAE to close the server socket generated by the port mapping described with reference to FIGS. 10 and 10. The DAE can close the server socket opened by port mapping and send OK to the DAE application.
3. DAE 어플리케이션이 deletePortMapping() 함수를 호출한다. 3. The DAE application calls the deletePortMapping () function.
4. DAE 는 UPnP를 이용하여 게이트웨이에 포트 매핑의 해제를 명령한다.4. The DAE instructs the gateway to unmap the port using UPnP.
5. 포트 매핑의 해제 요청이 게이트웨이에 전송된다.5. A request to release the port mapping is sent to the gateway.
6. 게이트웨이는 해당 포트의 해제를 실행한다.6. The gateway performs the release of the port.
7. 및 8. 포트 매핑의 해제의 결과가 DAE 에 전송된다.7. and 8. The result of the release of the port mapping is sent to the DAE.
9. DAE 어플리케이션이 포트 매핑 해제 결과를 수신하면, 9. Once the DAE application receives the port unmapped result,
10. DAE로부터 DAE 어플리케이션이 퇴장한다(exit).10. The DAE application exits from the DAE.
이상, 도 15에서는 deletePortMapping 함수의 호출에 의한 포트 매핑의 해제 동작을 설명하였다. 한편, deletePortMappingRange 함수의 호출에 의한 동작은 3. 단계에서 deletePortMappingRange 함수를 호출하는 것을 제외하고는 도 15에서의 그것과 유사하므로 설명을 생략한다.In the above, the release operation of the port mapping by calling the deletePortMapping function has been described. On the other hand, the operation by the call to the deletePortMappingRange function is similar to that in Figure 15 except for calling the deletePortMappingRange function in step 3. A description thereof is omitted.
도 16은 본 발명의 일 실시예에 따른 네트워크 설정 방법에 있어서 라이프타임 경과에 따른 포트 해제의 시퀄셜 다이어그램을 나타낸다. FIG. 16 is a sequential diagram of port release over time in a network configuration method according to an embodiment of the present invention.
1. 게이트웨이가 포트 매핑 시에 입력된 라이프 타임을 이용하여 해당 포트 매핑이 라이프 타임을 경과하는지를 탐색한다. 라이프타임의 경과 여부는 주기적으로 탐색될 수 있다.1. The gateway searches for whether the corresponding port mapping has elapsed using the life time input at the time of port mapping. Whether or not the life time has elapsed may be periodically detected.
2. 라이프타임이 경과한 경우 게이트웨이는 해당 포트 매핑을 해제 또는 삭제한다. 2. If the lifetime has elapsed, the gateway releases or deletes the corresponding port mapping.
도 17은 본 발명의 일 실시예에 따른 네트워크 설정 방법을 자바 스크립트로 실행하는 일례를 나타낸다. 도 17에서는, DAE 어플리케이션이 본 발명의 일 실시예에 따른 네트워크 설정 방법에 따라 정의된 함수를 호출하여 포트 매핑을 수행하는 실시예가 구현되고 있다. 17 illustrates an example of executing a network setting method using JavaScript according to an embodiment of the present invention. In FIG. 17, an embodiment in which a DAE application performs a port mapping by calling a function defined according to a network configuration method according to an embodiment of the present invention is implemented.
먼저, DAE 어플리케이션상에서 외부 네트워크의 서버 또는 디바이스와 독립적으로 통신을 수행하기 위하여, 원격 IP 어드레스(remoteIPAddress), 외부 포트(external Port), 내부 IP 어드레스(internalIPAddress), 내부 포트(internalPort), 프로토콜 타입(protocol) 이 입력되고 있다. 각 아규먼트의 값은 DAE 어플리케이션에 의해 획득될 수 있다.First, in order to independently communicate with a server or a device of an external network in a DAE application, a remote IP address, an external port, an internal IP address, an internal port, an internal port, and a protocol type ( protocol) is being input. The value of each argument can be obtained by the DAE application.
다음에, 게이트웨이 클래스의 오브젝트로서 oipfGatewayInfo 오브젝트를 생성하고, allocatePortMapping 함수를 호출한다. allocatePortMapping 함수는 외부 포트(externalPort), 내부 IP 어드레스(internalIPAddress), 내부 포트(internal Port)가 아규먼트로서 입력되는 함수로서, 앞서 설명한 addPortMapping 함수 및 addAnyPortMapping 함수가 이 함수 내에서 호출됨으로써 포트 매핑을 수행시키고 있다. Next, create an oipfGatewayInfo object as an object of the gateway class, and call the allocatePortMapping function. The allocatePortMapping function is an external port, internal IP address, and internal port as an argument. The addPortMapping function and the addAnyPortMapping function are called in this function to perform port mapping. .
도 17에서 예시하는 바와 같이, allocatePortMapping 내에서 본 발명에 따른 함수를 간접적으로 호출함으로 포트 매핑이 수행될 수도 있지만, 이에 한정되지 않고, addPortMapping 함수 및 addAnyPortMapping 함수가 직접적으로 호출될 수도 있다.As illustrated in FIG. 17, port mapping may be performed by indirectly calling a function according to the present invention in allocatePortMapping, but is not limited thereto. The addPortMapping function and the addAnyPortMapping function may be directly called.
한편, addPortMapping 함수에 의한 결과값 'iReturn'이 '0'이 아닌 경우, 즉, 포트 매핑이 성공하지 아니한 조건에 해당하는 경우에는 addAnyPortMapping 함수를 호출함으로써 포트 매핑이 허용되는 임의의 포트가 매핑되도록 구현되고 있다. 이후, addAnyPortMapping 함수에 의해 새로 매핑된 외부 포트를 newExternalPort로 받아서 externalPort 프라퍼티에 할당시키고 있다. 따라서, 새로 매핑된 외부 포트 정보가 DAE 어플리케이션에 의해 인식되도록 구현되고 있다.On the other hand, when the result value 'iReturn' by the addPortMapping function is not '0', that is, when the port mapping is not successful, the addAnyPortMapping function is called so that an arbitrary port is allowed to be mapped. It is becoming. After that, the newly mapped external port is added as newExternalPort by addAnyPortMapping function and assigned to externalPort property. Therefore, the newly mapped external port information is implemented to be recognized by the DAE application.
또한, 포트 매핑 이후 deletePortMapping 함수를 호출함으로써 포트를 회수하도록 하고 있다.Also, after port mapping, the port is reclaimed by calling deletePortMapping function.
도 18은 본 발명의 일 실시예에 따른 IPTV 수신기의 기능에 대한 블록 다이어그램을 나타낸다. 도 18을 참조하면 IPTV 수신기(600)는 프론트엔드(frontend)(610), 네트워크 트랜스포트(Network Transport)(620), 서비스 억세스(Service Access)(630), 비활성/활성 스토리지 시스템(Volatile/Non-Volatile Storage System)(640), 프로그램 시스템 정보 디코더(Program System Information Decoder)(643), 인증(DRM/CP/CAS)(650), DVR 엔진(DVR Engine)(660), Embeded DBMS/Filesystem(670), 수신기서브시스템(Hybrid/IPTV/OITF HNED Subsyste)(680), 어플리케이션(OITF/HNED Application(s))(690)의 기능을 수행하는 엔터티(functional Entity)를 포함할 수 있다. 18 shows a block diagram of the function of an IPTV receiver according to an embodiment of the present invention. Referring to FIG. 18, the IPTV receiver 600 includes a frontend 610, a network transport 620, a service access 630, an inactive / active storage system (Volatile / Non). -Volatile Storage System (640), Program System Information Decoder (643), Authentication (DRM / CP / CAS) 650, DVR Engine (660), Embeded DBMS / Filesystem ( 670, a receiver entity (Hybrid / IPTV / OITF HNED Subsyste) 680, and an application (OITF / HNED Application (s)) 690 may include an entity performing a function.
또한, IPTV 수신기(600)는 안테나, 케이블 헤드엔드(Cable HeadEnd) 시스템과 같은 RF 트랜스미터(RF Transmitter)(692)와 연결되어 RF 로 전송되는 데이터를 수신할 수 있다. In addition, the IPTV receiver 600 may be connected to an RF transmitter 692 such as an antenna and a cable headend system to receive data transmitted through RF.
또한, IPTV 수신기(600)는 HNI-DM 인터페이스를 이용하여 WAN Gateway(700)과 통신할 수 있다.In addition, the IPTV receiver 600 may communicate with the WAN gateway 700 using the HNI-DM interface.
프론트엔드(frontend)(610)는, RF 를 튜닝하고, 선택된 MPEG2 트랜스포트 스트림을 수신하는 RF 인터페이스를 포함할 수 있다. RF 인터페이스는 Hybrid IPTV의 경우 선택 사항이다. The frontend 610 may include an RF interface for tuning the RF and receiving the selected MPEG2 transport stream. The RF interface is optional for Hybrid IPTV.
또한, 프론트엔드는 네트워크 인터페이스를 포함할 수 있다. 네트워크 인터페이스는 본 발명의 일 실시예에 따른 IPTV 수신기의 네트워크 인터페이스부의 기능을 수행한다. 구체적으로, 네트워크 인터페이스는 물리층 및 데이터 링크층(physical layer and data link layer) 간의 IP 패킷의 송수신을 수행한다. 또한, 본 발명의 일 실시예에 따른 네트워크 인터페이스는 IPTV 수신기에서 다운로드되어 DAE(Declarative Application Environment) 에서 실행되는 DAE 어플리케이션을 수신할 수 있다. 또한, 네트워크 인터페이스는 어플리케이션의 포트 매핑의 요청에 의해 외부 포트를 할당받은 경우, 할당받은 포트 정보를 외부 네트워크의 서버 및 디바이스에 통보할 수 있다. Also, the front end may include a network interface. The network interface performs a function of the network interface unit of the IPTV receiver according to the embodiment of the present invention. Specifically, the network interface transmits and receives IP packets between the physical layer and the data link layer. In addition, the network interface according to an embodiment of the present invention may be downloaded from an IPTV receiver and receive a DAE application running in a Declarative Application Environment (DAE). In addition, when an external port is allocated by a request for port mapping of an application, the network interface may notify the server and the device of the external network of the allocated port information.
또한, 네트워크 인터페이스는, DAE(Declarative Application Environment)에서 실행되는 어플리케이션을 수신하고, 포트 매핑의 요청 결과 및 매핑된 포트에 대한 정보 중 적어도 하나를 수신할 수 있다.In addition, the network interface may receive an application executed in a Declarative Application Environment (DAE), and may receive at least one of a request result of the port mapping and information on the mapped port.
네트워크 트랜스포트(Network Transport)(620)는 IPTV 수신기(600)로부터 송수신되는 패킷에 대하여 소스로부터 목적지까지의 패킷 전달에 관여하는 TCP/IP 매니저를 포함할 수 있다. The network transport 620 may include a TCP / IP manager involved in packet forwarding from the source to the destination for the packets transmitted and received from the IPTV receiver 600.
또한, 네트워크 트랜스포트(650)는 IPTV의 서비스의 품질을 보장하는 기능을 수행하는 QoS & Bandwidthe Control 기능을 수행할 수 있다. QoS & Bandwidthe Control 기능은 균형잡힌 방식으로 각 서비스가 사용할 대역을 할당할 수 있다. 할당된 대역은 서비스 제공자(service provider)에 의해 제어되거나 수신기 자체에서 자동으로 또는 사용자에 의해 제어될 수 있다. 할당되는 대역은 IPTV 어플리케이션 또는 서비스 제공자에 의해 관리될 수 있다. 즉, 해당 기능은 허용되지 아니한 접근을 거절하는 기능을 수행한다.In addition, the network transport 650 may perform a QoS & Bandwidthe Control function that performs a function of guaranteeing the quality of service of the IPTV. The QoS & Bandwidthe Control feature can allocate bandwidth for each service in a balanced way. The allocated band may be controlled by a service provider or automatically by the receiver itself or by a user. The allocated band can be managed by the IPTV application or service provider. That is, the function performs the function of denying unauthorized access.
또한, 네트워크 트랜스포트(650)는 서비스 보호 기능(service protection)을 수행할 수 있다. 구체적으로, 터미널 간 통신(end to end communication)의 보안을 제공하고, 서비스 제공자 또는 다른 클라이언트 장치에 논리적 연결(logical link) 또는 물리적 연결(physical link)을 보호할 수 있다. In addition, the network transport 650 may perform a service protection function. In particular, it may provide security of end-to-end communication and protect a logical link or a physical link to a service provider or another client device.
서비스 억세스(Service Access)(630)는, 서비스 발견 매니저(service discovery)(미도시), 메타데이터 매니저(미도시), 서비스와 세션 제어 매니저(service and session control management)(미도시) 기능을 수행할 수 있다.The service access 630 performs a service discovery manager (not shown), a metadata manager (not shown), and a service and session control management (not shown) function. can do.
서비스 발견 매니저는 양방향 IP 네트워크를 통하여 IPTV 서비스의 발견을 수행한다. 즉, 선택된 서비스를 위한 모든 정보를 제공할 수 있다. 서비스 발견 매니저는 P2P 제공자 정보 및 P2P 트래커 접속 정보(P2P Tracker Access Information)을 관리할 수 있다. 서비스 발견 매니저는 IGMP, HCDP 및 SIP 프로토콜 스택을 제공하고 서비스를 검색할 수 있다.The service discovery manager performs discovery of IPTV services through a bidirectional IP network. That is, all information for the selected service can be provided. The service discovery manager may manage P2P provider information and P2P tracker access information. The service discovery manager can provide IGMP, HCDP and SIP protocol stacks and discover services.
메타데이터 매니저는 XML 다큐먼트를 파싱하고 XML 데이터를 임베디드 데이터베이스와 함께 관리하거나, 파일 시스템에 XML 엘리먼트로서 저장할 수 있다. The metadata manager can parse XML documents and manage XML data with embedded databases, or store them as XML elements in a file system.
서비스와 세션 제어 매니저는 서비스를 선택 및 제어하고, IGMP 또는 RTSP 프로토콜을 이용하여 생방송 서비스 및 VOD 서비스와 같은 세션을 관리한다. 예컨대, IMS 게이트웨이를 통하여 세션을 관리하고 초기화하는 데에 IMS 및 SIP 프로토콜이 이용될 수 있다. 또한, 전달 요구(on demand delivery) 뿐만 아니라, 브로드캐스트 TV 및 오디오의 전달을 제어하는 데에는 RTSP 프로토콜이 이용될 수 있다. RTSP 프로토콜은 지속적인 TCP 커텍션을 사용하고 실시간 미디어 스트리밍에서 트릭 모드 제어(trick mode control)를 허용한다.Service and session control managers select and control services and manage sessions such as live and VOD services using IGMP or RTSP protocols. For example, IMS and SIP protocols can be used to manage and initiate sessions through an IMS gateway. In addition, the RTSP protocol can be used to control delivery of broadcast TV and audio, as well as on demand delivery. The RTSP protocol uses persistent TCP connection and allows trick mode control in real time media streaming.
서비스 전달 매니저는 수신되는 서비스 데이터의 제어를 담당한다. 서비스 전달 매니저는 실시간 스트리밍 데이터(real-time streaming date)를 핸들링하고, 컨텐츠를 다운로드한다. 예컨대, 서비스 전달 매니저가 실시간 스트리밍 데이터를 제어하는 경우 RTP/RTCP 프로토콜이 사용될 수 있다. 실시간 스트리밍 데이터를 RTP와 프로토콜을 사용하여 전송하는 셩우, 서비스 전달 매니저는 수신된 데이터 패킷을 RTP에 따라 파싱(parsing)하여 디멀티플렉서에 전송하거나 서비스 매니저의 제어에 따라 컨텐츠 데이터베이스(Content DB)에 저장할 수 있다. 또한, 서비스 전달 매니저는 RTCP 를 이용하여 네트워크 수신 정보를 서버측에 피드백한다. 사용자는, VOD 또는 라이브 미디어 브로드 캐스트 MPEG-2 트랜스포트 패킷이 RTP 없이 UDP 에 의해 직접적으로 전송하기 위한 트릭 플레이(trick play)를 지원하기 위하여 IP 스트리밍 프로토콜을 제어할 수 있다. 컨텐츠의 다운로딩을 위하여 HTTP 또는 FLUTE 프로토콜이 전달 프로토콜로서 이용될 수 있다.The service delivery manager is responsible for controlling the received service data. The service delivery manager handles real-time streaming data and downloads content. For example, when the service delivery manager controls real time streaming data, the RTP / RTCP protocol may be used. When real-time streaming data is transmitted using RTP and protocol, the service delivery manager can parse the received data packet according to RTP and transmit it to the demultiplexer or store it in the content database under the control of the service manager. have. The service delivery manager also feeds back network reception information to the server side using RTCP. The user can control the IP streaming protocol to support trick play for VOD or live media broadcast MPEG-2 transport packets to be sent directly by UDP without RTP. The HTTP or FLUTE protocol can be used as the delivery protocol for downloading of the content.
서비스 전달 매니저는 이후의 소비를 위하여 컨텐츠 데이터베이스로부터 컨텐츠를 수신할 수 있다. 서비스 전달 매니저는 다른 peers 또는 CDN으로부터 사용자가 요구한 컨텐츠를 검색, 전달할 수 있다. The service delivery manager may receive the content from the content database for later consumption. The service delivery manager can retrieve and deliver content requested by the user from other peers or CDNs.
비활성/활성 스토리지 시스템(Volatile/Non-Volatile Storage System)(640)은, 컨텐츠 데이터베이스(Content DB) 및 메타데이터 및 SI 데이터베이스(Metadata & SI DB)를 포함할 수 있다. 컨텐츠 데이터베이스(Content DB)는 컨텐츠 다운로드 시스템에 의해 전달되거나, 라이브 미디어 TV로부터 기록되는 컨텐츠를 저장하는 데이터베이스이다. 메타데이터 및 SI 데이터베이스는 서비스와 관련되는 메타데이터 및 서비스 디스커버리 정보(service discovery information)을 저장하는 데이터베이스이다.The inactive / active storage system (Volatile / Non-Volatile Storage System) 640 may include a content database (Content DB) and metadata and SI database (Metadata & SI DB). The content database (Content DB) is a database that stores the content delivered by the content download system or recorded from the live media TV. The metadata and SI database is a database that stores metadata and service discovery information related to a service.
프로그램 시스템 정보 디코더(Program System Information Decoder)(643)는, PSI 테이블을 위한 PID를 설정하고, PSIP/DVB-SI 테이블을 디먹스로 보내서, 디먹스로 전송된 PSI 및 (PSI 및/또는 DVB-SI) 의 프라이비트 섹션(private section)을 디코딩한다. 디코딩 결과는 de-multiplex 인풋 트랜스포트 패킷에 이용될 수 있다(예: 오디오 및 비디오 PID 를 디먹스로 설정). The Program System Information Decoder 643 sets the PID for the PSI table and sends the PSIP / DVB-SI table to the demux to send the PSI and (PSI and / or DVB-) transmitted to the demux. Decode the private section of the SI. The decoding result can be used for de-multiplex input transport packets (eg, set audio and video PID to demux).
인증 매니저(DRM/CP/CAS)(650)은, 메타데이터 매니저에게 요청하여, 라이센스 발행자(license issuer)으로부터 오는 암호화 키 및 컨텐츠 라이센스를 저장한다. 이 매니저는 디먹스 블록으로부터 암호화된 컨텐츠를 디코드 하기 위하여 디스크램블러 블록(descrambler block)을 제어할 수 있다. 인증 매니저는 컨텐츠 보호 기술에 의해 보호되는 다운로드된 컨텐츠 및 라이브 미디어 스트림(live media stream) 모두를 관리한다. 인증 매니저는 수신기에 다운로드된 컨텐츠 및 라이브 미디어 스트림이 수명(lifetime)을 제어할 수 있다. 인증 매니저는 바이패드 모드(bypass mode)를 지원하여 MPEG 디코더를 통과할 수 있다.The authentication manager (DRM / CP / CAS) 650 requests the metadata manager to store encryption keys and content licenses coming from a license issuer. The manager can control a descrambler block to decode the encrypted content from the demux block. The authentication manager manages both downloaded content and live media streams protected by content protection technology. The authentication manager may control the lifetime of content and live media streams downloaded to the receiver. The authentication manager can support the bypass mode to pass the MPEG decoder.
DVR 엔진(DVR Engine)(660)은, 라이브 스트리밍 컨텐츠를 기록하고 플레이하며, 기록된 컨텐츠의 모든 필수적 메타데이터를 수집하고, 썸네일 이미지 또는 인덱스 등과 같이 보다 나은 사용자 경험을 위해 부가 정보(additinal information)를 생성한다.The DVR Engine 660 records and plays live streaming content, collects all the necessary metadata of the recorded content, and adds additional information for a better user experience, such as thumbnail images or indexes. Create
Embeded DBMS/Filesystem(670)는, 전자 프로그램 스케줄 데이터, XML 요소(XML element) 및 관리 가능한 데이터(manageable date)를 관리한다.The Embeded DBMS / Filesystem 670 manages electronic program schedule data, XML elements, and manageable data.
수신기서브시스템(Hybrid/IPTV/OITF HNED Subsyste)(680)은, 시스템 디코더(system decoder), 디먹스(demux), IEEE1394, 비디오 디코더(video decoder), 카피 방지(copy protection), USB 호스트(USB host), 2D/3D 그래픽 프로세서(2D/3D graphic processor), 비디오 디스플레이 프로세서(video display processor), RS-232, 오디오 디코더(audio decoder), HDMI/HDCP, IR 수신기(IR receiver) 및 외부 입출력(External I/O)에 관한 엔터티들을 포함할 수 있다. The receiver subsystem (Hybrid / IPTV / OITF HNED Subsyste) 680 includes a system decoder, demux, IEEE1394, video decoder, copy protection, and USB host. host, 2D / 3D graphic processor, video display processor, RS-232, audio decoder, HDMI / HDCP, IR receiver and external input / output ( External I / O) may be included.
시스템 디코더(system decoder)는 MPEG-2 트랜스포트 패킷(TS Packer)을 디코드하고 기 정의된 휘발성 메모리 영역으로 패킷 요소(elementary packet)를 카피한다., A system decoder decodes an MPEG-2 transport packet (TS Packer) and copies an elementary packet into a predefined volatile memory area.
디먹스(demux)는, 입력된 트랜스포트 패킷으로부터 오디오, 비디오 및 PSI 테이블을 디멀티 플렉싱(de-multiplexing)하고, PSI 디코더에 의해 PSI 테이블을 디멀티플렉싱하는 것을 제어한다. 디먹스가 디코딩할 PSI 테이블을 선택하고, PSI 디코더로 전송하면, 수신기는 오디오/비디오 트랜스포트 패킷을 위한 디멀티플렉싱을 제어한다.Demux de-multiplexes the audio, video, and PSI tables from the input transport packets and controls demultiplexing the PSI tables by the PSI decoder. When the demux selects the PSI table to decode and sends to the PSI decoder, the receiver controls the demultiplexing for the audio / video transport packet.
IEEE1394 매니저는, IEEE1394 디바이스의 인터페이스를 지원한다. The IEEE1394 manager supports the interfaces of IEEE1394 devices.
비디오 디코더(video decoder)는, 비디오 엘리멘터리 스트림 패킷(video elementary stream packets)을 디코딩한다. A video decoder decodes video elementary stream packets.
오디오 디코더(audio decoder)는, 오디오 엘리멘터리 스트림 패킷(audeo elementary stream packets)을 디코딩한다. An audio decoder decodes audio elementary stream packets.
카피 방지(copy protection) 매니저는, AES, DES 및 다른 스크램블 및 디스크램블링 알고리즘을 지원한다. 이 경우, 암호화 키 및 복호화 키는 시스템 내 다른 엔터티에 의해 제공되어야 한다. Copy protection manager supports AES, DES and other scrambling and descrambling algorithms. In this case, the encryption key and the decryption key must be provided by another entity in the system.
USB 호스트(USB host), 사용자 또는 시스템 엔지니어에게 USB 인터페이스를 제공한다.Provides a USB interface to a USB host, user or system engineer.
2D/3D 그래픽 프로세서(2D/3D graphic processor)는, 캡션(caption), UI 어플리케이션을 디스플레이하기 위해 여러가지 평면(surface/plane)을 관리하고, OSD 및 2D 그래픽 데이터를 제어한ㄷ. 또한, 그래픽 디스플레이 평면에 3D 데이터를 만들수 있다. A 2D / 3D graphic processor manages various surfaces / planes to display captions, UI applications, and controls OSD and 2D graphics data. You can also create 3D data on a graphic display plane.
비디오 디스플레이 프로세서(video display processor)는, 사용자가 선택한한 모든 영역 또는 전체 비디오 스크린에 비디오 필터를 처리한다. 비디오 디스플레이 프로세서는 비디오 프레임 버퍼 메모리(video frame buffer memory)에 접근하여 비디오 또는 스틱 픽쳐(still picture)를 조정할 수 있다. The video display processor processes the video filter on all or all video screens selected by the user. The video display processor may access the video frame buffer memory to adjust the video or still picture.
RS-232 매니저는, PC 호환성 시스템에 RS-232 인터페이스를 지원한다 RS-232 Manager, supports RS-232 interface to PC compatible system
HDMI/HDCP 매니저는, HDMI 출력을 지원하고 HDCP 보호 기능을 지원한다. HDMI / HDCP Manager, supports HDMI output and supports HDCP protection.
IR 수신기(IR receiver)는 리모트 컨트롤러로부터 IR 신호를 수신하고 디모듈레이트하며, 어떠한 리모트 키(remote keys)가 눌러졌는지 분석한다. 수신기는 리모트 키에 적합한 메시지를 UI 어플리케이션에 전달하고, 해당하는 리모트 모드가 없는 경우 드랍(drop)한다.The IR receiver receives and demodulates the IR signal from the remote controller and analyzes which remote keys have been pressed. The receiver delivers a message suitable for the remote key to the UI application and drops if there is no corresponding remote mode.
외부 입출력(External I/O)은 입출력 흐름을 제어하고, 다른 엔터티 또는 내부 블록으로부터의 패킷을 차단(block)하거나 필터링한다. External I / O controls the flow of I / O and blocks or filters packets from other entities or internal blocks.
어플리케이션(OITF/HNED Application(s))(690)은, EPG/BCG, UI application, OICD Application, Remote Management Client, Internet-TV Content Delivery Application, Firmware Upgrade Client, Event handler, Embedded Web Browser, RF Transmitter, IMS Gateway/DNG 엔터티를 포함할 수 있다.The application (OITF / HNED Application (s)) 690 is an EPG / BCG, UI application, OICD Application, Remote Management Client, Internet-TV Content Delivery Application, Firmware Upgrade Client, Event handler, Embedded Web Browser, RF Transmitter, It can include an IMS Gateway / DNG entity.
EPG/BCG 는, 전자 프로그램 가이드(Electronic Program Guide) 및 브로드캐스트 컨텐츠 가이드(Broadcast Content Guide)를 디스플레이하고, 메타데이터 매니저 또는 임베디드 데이터베이스로부터의 XML 데이터 및 컨텐츠 정보를 수집할 수 있다. The EPG / BCG may display an Electronic Program Guide and a Broadcast Content Guide and collect XML data and content information from a metadata manager or an embedded database.
UI application 은, 스크린상에 그래픽 유저 인터페이스(Graphic User Interface)를 지원하고, 리모트 컨트롤러 또는 프런트 패널(front panel)에 의한 사용자 키를 수신하고, 전체 TV 시스템의 상태를 관리한다. The UI application supports a graphical user interface on the screen, receives a user key from a remote controller or front panel, and manages the state of the entire TV system.
OICD Application 은, 인터넷 커넥션을 통하여 P2P 다운로드 가능한 컨텐츠를 전달한다. OICD Application delivers P2P downloadable content via Internet connection.
원결 관리 클라이언트(Remote Management Client) 는, 사용자가 로컬 어플리케이션(local application) 또는 시스템 엔터티(system entity)를 제어할 수 있도록 허용한다. The Remote Management Client allows a user to control a local application or system entity.
인터넷 TV 컨텐츠 전달 어플리케이션(Internet-TV Content Delivery Application) 은, 인터넷 TV가 수신할 수 있는 CDN 또는 peer 시스템을 접속할 수 있다. 사용자는 수신기상에서 인터넷 TV 컨텐츠 딜리버리 어플리케이션을 관리할 수 있고, 다운로드 컨텐츠와 같은 인터넷 TV 서비스를 제어하거나, 인터넷 TV 서비스를 위한 스토리지를 제어할 수 있다.The Internet TV Content Delivery Application may connect a CDN or peer system that the Internet TV can receive. The user can manage the Internet TV content delivery application on the receiver, control the Internet TV service such as download content, or control the storage for the Internet TV service.
펌웨어 업그레이드 클라이언트(Firmware Upgrade Client)는, 최근 펌웨어를 발견하고 사용자에게 이를 통보하며, 사용자가 제조자(manufacturere) 또는 서비스 제공자(service provider)로부터의 통보를 허락하는 경우 펌웨어를 업그레이드한다. The Firmware Upgrade Client discovers the latest firmware and notifies the user, and upgrades the firmware if the user allows notification from the manufacturer or service provider.
이벤트 핸들러(Event handler)는, 서비스 제공자로부터의 이벤트 및 메세지를 관리하고, 어디에 어떠한 이벤트가 전송될 지를 결정한다.Event handlers manage events and messages from service providers and determine where and which events are sent.
임베디드 웹 브라우저(Embedded Web Browser)는, 스크린 상에 인터넷 컨텐츠를 오픈하도록 한다. Embedded Web Browsers allow the opening of Internet content on screens.
한편, 본 발명의 일 실시예에 따른 IPTV 수신기의 제어부의 기능은 도 18에서의 프론트엔드(610)의 일부 기능, 네트워크 트랜스포트(620), 서비스 억세스(630), DRM/CA/CAS(650), 수신기 어플리케이션(690) 등과 같은 복수의 모듈들에 분할되어 구현될 수 있다. Meanwhile, the functions of the control unit of the IPTV receiver according to an embodiment of the present invention may include some functions of the front end 610 in FIG. 18, the network transport 620, the service access 630, and the DRM / CA / CAS 650. ), And may be divided into a plurality of modules such as a receiver application 690 and the like.
WAN/LAN Gateway(700)는 WAN/LAN Gateway, QoS, IGMP Support, UPnP Control Point, UC/MC conversion, RMS3, Attachment 기능을 수행할 수 있다. The WAN / LAN Gateway 700 may perform a WAN / LAN Gateway, QoS, IGMP Support, UPnP Control Point, UC / MC conversion, RMS3, and Attachment functions.
WAN/LAN Gateway 기능은 광역 통신망(WAN) 및 홈 네트워크(LAN) 에 연결시킬 수 있는 물리적 접속점(physical termination)을 제공하고, UPnP 기능을 수행할 수 있는 게이트웨이다.The WAN / LAN Gateway function provides a physical termination point that can be connected to a wide area network (WAN) and a home network (LAN), and performs a UPnP function.
QoS 기능은, 상술한 바와 같은 서비스 및 데이터 품질을 보장하는 기능이다.The QoS function is a function to guarantee the service and data quality as described above.
IGMP Support는, IGMP 프록시 또는 IGMP 스투핑(snooping)을 제공한다.IGMP Support provides IGMP Proxy or IGMP Snooping.
UPnP Control Point는, 원격지의 관리 동작을 수행하기 위하여, 수신기 내 UPnP 디바이스 매니지먼트 클라이언트와의 통신을 수행한다.The UPnP Control Point performs communication with a UPnP device management client in a receiver to perform a remote management operation.
UC/MC conversion은 ,무선 네트워크상에서의 멀티캐스트 방식의 비효율적이고 불안정성을 해결하기 위해 제공된다.UC / MC conversion is provided to address the inefficiency and instability of multicast over wireless networks.
RMS3 기능은, WAN 게이트웨이가 원격에서 모니터링되고 억세스 서비스 제공자에 의해 구성될 때 원격지의 관리자(remote manager)와의 인터페이스를 제공한다. The RMS3 function provides an interface with a remote manager when the WAN gateway is monitored remotely and configured by an access service provider.
Attachment 기능은, 네트워크 제공자 또는 어플리케이션 제공자 또는 서비스 제공자가 홈 네트워크에 접속할 수 있도록 한다.The Attachment function allows a network provider or application provider or service provider to access a home network.
이상, 본 발명에 따른 네트워크 설정 방법 및 이를 이용한 IPTV 수신기에 대해 설명하였다.The network setting method and the IPTV receiver using the same have been described above.
상술한 본 발명에 따른 네트워크 설정 방법은 컴퓨터에서 실행되기 위한 프로그램으로 제작되어 컴퓨터가 읽을 수 있는 기록 매체에 저장될 수 있으며, 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다.The above-described network setting method according to the present invention can be stored in a computer-readable recording medium that is produced as a program for execution on a computer. Examples of the computer-readable recording medium include ROM, RAM, CD-ROM, Magnetic tapes, floppy disks, optical data storage devices, and the like, and also include those implemented in the form of carrier waves (eg, transmission over the Internet).
컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 상기 방법을 구현하기 위한 기능적인(function) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.The computer readable recording medium can be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion. In addition, functional programs, codes, and code segments for implementing the method can be easily inferred by programmers in the art to which the present invention belongs.
또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형 실시가 가능한 것은 물론이고, 이러한 변형 실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.In addition, while the above has been shown and described with respect to preferred embodiments of the present invention, the present invention is not limited to the specific embodiments described above, the technical field to which the invention belongs without departing from the spirit of the invention claimed in the claims. Of course, various modifications can be made by those skilled in the art, and these modifications should not be individually understood from the technical spirit or the prospect of the present invention.

Claims (22)

  1. IPTV 수신기에서 실행되는 어플리케이션을 위한 네트워크 설정 방법에 있어서,In the network setting method for an application running on an IPTV receiver,
    DAE(Declarative Application Environment)에서 실행되는 어플리케이션을 다운로드하는 단계;Downloading an application running in a Declarative Application Environment (DAE);
    상기 다운로드된 어플리케이션을 초기화하는 단계;Initializing the downloaded application;
    상기 IPTV 수신기와 연결된 게이트웨이의 주소를 획득하는 단계;Obtaining an address of a gateway connected to the IPTV receiver;
    상기 연결된 게이트웨이에 상기 어플리케이션과 외부 네트워크 사이의 통신을 위한 포트의 매핑을 요청하는 단계; 및Requesting the connected gateway to map a port for communication between the application and an external network; And
    상기 요청에 의해 매핑된 포트를 이용하여 상기 어플리케이션을 동작시키는 단계를 포함하는 어플리케이션의 네트워크 설정 방법.Operating the application using a port mapped by the request.
  2. 제1항에 있어서,The method of claim 1,
    상기 요청하는 단계는, 상기 어플리케이션의 식별 정보, 연결하고자 하는 외부 서버 또는 디바이스의 주소 정보, 외부 포트 정보, 내부 포트 정보, 프로토콜 타입 및 상기 외부 포트의 라이프타임 중 적어도 하나를 상기 게이트웨이에 전송하는 단계를 포함하는 네트워크 설정 방법.The requesting may include transmitting at least one of identification information of the application, address information of an external server or device to be connected, external port information, internal port information, a protocol type, and a lifetime of the external port to the gateway. Network setting method comprising a.
  3. 제1항에 있어서,The method of claim 1,
    상기 동작시키는 단계는, 상기 요청에 의해 매핑된 포트를 통하여 외부 네트워크에 접속하는 단계 및 상기 할당받은 포트 정보를 전송하는 단계를 포함하는 네트워크 설정 방법.The operation may include connecting to an external network through a port mapped by the request and transmitting the allocated port information.
  4. 제3항에 있어서,The method of claim 3,
    상기 전송하는 단계는, 연결하고자 하는 상기 외부 서버 및 디바이스 중 적어도 하나에 상기 할당받은 포트 정보를 전송하는 단계를 포함하는 네트워크 설정 방법.The transmitting may include transmitting the allocated port information to at least one of the external server and the device to be connected.
  5. 제1항에 있어서,The method of claim 1,
    상기 IPTV 수신기와 상기 외부 네트워크 사이의 통신을 위한 서버 소켓을 개방하는 단계를 더 포함하는 네트워크 설정 방법.Opening a server socket for communication between the IPTV receiver and the external network.
  6. 제1항에 있어서,The method of claim 1,
    상기 요청 결과 및 매핑된 포트에 대한 정보 중 적어도 하나를 수신하는 단계를 더 포함하는 네트워크 설정 방법.And receiving at least one of the request result and information on the mapped port.
  7. 제1항에 있어서,The method of claim 1,
    상기 게이트웨이는 WAN(Wide Area Network) Gateway 인 네트워크 설정 방법.The gateway is a wide area network (WAN) gateway setting method.
  8. 제1항에 있어서, The method of claim 1,
    상기 요청 결과 포트 매핑이 허용되지 아니한 경우, 상기 요청한 포트 이외의 포트 정보를 순차적으로 또는 랜덤하게 생성하고, 생성된 포트 정보를 이용하여 포트 매핑을 요청하는 단계를 더 포함하는 네트워크 설정 방법.And if the port mapping is not permitted as a result of the request, generating port information other than the requested port sequentially or randomly, and requesting port mapping using the generated port information.
  9. 제1항에 있어서,The method of claim 1,
    상기 DAE에서 실행되고 상기 연결된 게이트웨이와 통신하기 위한 오브젝트를 생성하는 단계를 더 포함하는 네트워크 설정 방법.Generating an object executed in the DAE and for communicating with the connected gateway.
  10. 제1항에 있어서,The method of claim 1,
    상기 어플리케이션의 중단, 상기 포트의 라이프타임의 경과 중 적어도 하나에 해당하는 경우 포트 매핑의 해제를 요청하는 단계를 더 포함하는 네트워크 설정 방법.And requesting release of port mapping when at least one of stopping the application and elapsed life of the port.
  11. 제10항에 있어서,The method of claim 10,
    상기 어플리케이션을 종료시키는 단계를 더 포함하는 네트워크 설정 방법.Terminating the application.
  12. IPTV 수신기에 있어서,In an IPTV receiver,
    DAE(Declarative Application Environment)에서 실행되는 어플리케이션을 수신하는 네트워크 인터페이스부; 및A network interface unit configured to receive an application executed in a Declarative Application Environment (DAE); And
    상기 다운로드된 어플리케이션을 초기화하고, 상기 IPTV 수신기가 연결된 게이트웨이의 주소를 획득하고, 상기 연결된 게이트웨이에 상기 어플리케이션과 외부 네트워크 사이의 통신을 위한 포트의 매핑을 요청하며, 상기 요청에 의해 매핑된 포트를 이용하여 상기 어플리케이션을 동작시키는 제어부를 포함하는 IPTV 수신기.Initialize the downloaded application, obtain an address of a gateway to which the IPTV receiver is connected, request a mapping of a port for communication between the application and an external network to the connected gateway, and use a port mapped by the request IPTV receiver comprising a control unit for operating the application.
  13. 제12항에 있어서,The method of claim 12,
    상기 제어부는 상기 어플리케이션의 식별 정보, 연결하고자 하는 외부 서버 또는 디바이스의 주소 정보, 외부 포트 정보, 내부 포트 정보, 프로토콜 타입 및 상기 외부 포트의 라이프타임 중 적어도 하나를 상기 게이트웨이에 전송하여 상기 포트의 매핑을 요청하는 IPTV 수신기.The controller may transmit at least one of identification information of the application, address information of an external server or device to be connected, external port information, internal port information, a protocol type, and a lifetime of the external port to the gateway to map the port. Requesting an IPTV receiver.
  14. 제12항에 있어서,The method of claim 12,
    상기 제어부는, 상기 요청에 의해 매핑된 포트를 통하여 외부 네트워크에 접속하고, 상기 할당받은 포트 정보를 전송하도록 하는 IPTV 수신기.The control unit is connected to the external network through the port mapped by the request, IPTV receiver to transmit the assigned port information.
  15. 제14항에 있어서,The method of claim 14,
    상기 제어부는 연결하고자 하는 상기 외부 서버 및 디바이스 중 적어도 하나에 상기 할당받은 포트 정보를 전송하는 IPTV 수신기.The controller transmits the allocated port information to at least one of the external server and the device to be connected.
  16. 제12항에 있어서,The method of claim 12,
    상기 네트워크 인터페이스부는 상기 요청 결과 및 매핑된 포트에 대한 정보 중 적어도 하나를 수신하는 IPTV 수신기.The network interface unit receives at least one of the request result and information on the mapped port.
  17. 제12항에 있어서,The method of claim 12,
    상기 제어부는, 상기 IPTV 수신기와 상기 외부 네트워크 사이의 통신을 위한 서버 소켓을 개방하는 IPTV 수신기.The control unit, the IPTV receiver for opening a server socket for communication between the IPTV receiver and the external network.
  18. 제12항에 있어서, The method of claim 12,
    상기 게이트웨이는 WAN(Wide Area Network) Gateway 인 IPTV 수신기.The gateway is a wide area network (WAN) gateway IPTV receiver.
  19. 제12항에 있어서,The method of claim 12,
    상기 제어부는 상기 요청 결과 포트 매핑이 허용되지 아니한 경우, 상기 요청한 포트 이외의 포트 정보를 순차적으로 또는 랜덤하게 생성하고, 생성된 포트 정보를 이용하여 포트 매핑을 요청하는 IPTV 수신기.The control unit generates port information other than the requested port sequentially or randomly when the port mapping is not allowed as a result of the request, and requests port mapping using the generated port information.
  20. 제12항에 있어서,The method of claim 12,
    상기 제어부는 상기 DAE에서 실행되고 상기 연결된 게이트웨이와 통신하기 위한 오브젝트를 생성하는 IPTV 수신기.And the controller is configured to generate an object to be executed in the DAE and to communicate with the connected gateway.
  21. 제12항에 있어서,The method of claim 12,
    상기 제어부는 상기 어플리케이션의 중단, 상기 포트의 라이프타임의 경과 중 적어도 하나에 해당하는 경우 포트 매핑의 해제를 요청하는 IPTV 수신기.And the controller requests release of port mapping when at least one of stopping the application and elapsed life of the port.
  22. 제21항에 있어서,The method of claim 21,
    상기 제어부는 상기 어플리케이션을 종료시키는 IPTV 수신기.The controller terminates the application.
PCT/KR2011/003150 2010-04-29 2011-04-28 Method for setting up a network and an iptv receiver using same WO2011136581A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US32952010P 2010-04-29 2010-04-29
US61/329,520 2010-04-29

Publications (2)

Publication Number Publication Date
WO2011136581A2 true WO2011136581A2 (en) 2011-11-03
WO2011136581A3 WO2011136581A3 (en) 2012-03-08

Family

ID=44862062

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2011/003150 WO2011136581A2 (en) 2010-04-29 2011-04-28 Method for setting up a network and an iptv receiver using same

Country Status (1)

Country Link
WO (1) WO2011136581A2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9304181B1 (en) 2015-04-30 2016-04-05 Ecopro Ict, Inc. Method of installing terrestrial broadcast signal relay apparatus
US9313552B1 (en) 2015-04-30 2016-04-12 Ecopro Ict, Inc. Method and apparatus for relaying terrestrial broadcast signal
WO2016190662A1 (en) * 2015-05-26 2016-12-01 엘지전자 주식회사 Broadcasting signal transmitting apparatus, broadcasting signal receiving apparatus, broadcasting signal transmitting method, and broadcasting signal receiving method
WO2017003065A1 (en) * 2015-06-29 2017-01-05 주식회사 케이티 Network device and terminal for multi-net aggregation transmission, and operating method thereof
CN106919836A (en) * 2015-12-28 2017-07-04 阿里巴巴集团控股有限公司 The port detecting method and device of application

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040091086A (en) * 2002-03-04 2004-10-27 콸콤 인코포레이티드 Method and apparatus for processing internet protocol transmissions
KR20070082176A (en) * 2006-02-15 2007-08-21 (주)타임네트웍스 Dynamic service allocation gateway system and the method for plug&play in the ubiquitous environment
KR20090123781A (en) * 2008-05-27 2009-12-02 삼성전자주식회사 Method and apparatus for using internet protocol television based on application received by multi-cast session

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040091086A (en) * 2002-03-04 2004-10-27 콸콤 인코포레이티드 Method and apparatus for processing internet protocol transmissions
KR20070082176A (en) * 2006-02-15 2007-08-21 (주)타임네트웍스 Dynamic service allocation gateway system and the method for plug&play in the ubiquitous environment
KR20090123781A (en) * 2008-05-27 2009-12-02 삼성전자주식회사 Method and apparatus for using internet protocol television based on application received by multi-cast session

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9304181B1 (en) 2015-04-30 2016-04-05 Ecopro Ict, Inc. Method of installing terrestrial broadcast signal relay apparatus
US9313552B1 (en) 2015-04-30 2016-04-12 Ecopro Ict, Inc. Method and apparatus for relaying terrestrial broadcast signal
WO2016190662A1 (en) * 2015-05-26 2016-12-01 엘지전자 주식회사 Broadcasting signal transmitting apparatus, broadcasting signal receiving apparatus, broadcasting signal transmitting method, and broadcasting signal receiving method
US10362371B2 (en) 2015-05-26 2019-07-23 Lg Electronics Inc. Broadcasting signal transmitting apparatus, broadcasting signal receiving apparatus, broadcasting signal transmitting method, and broadcasting signal receiving method
US10674234B2 (en) 2015-05-26 2020-06-02 Lg Electronics Inc. Broadcasting signal transmitting apparatus, broadcasting signal receiving apparatus, broadcasting signal transmitting method, and broadcasting signal receiving method
WO2017003065A1 (en) * 2015-06-29 2017-01-05 주식회사 케이티 Network device and terminal for multi-net aggregation transmission, and operating method thereof
CN106919836A (en) * 2015-12-28 2017-07-04 阿里巴巴集团控股有限公司 The port detecting method and device of application

Also Published As

Publication number Publication date
WO2011136581A3 (en) 2012-03-08

Similar Documents

Publication Publication Date Title
WO2010077123A2 (en) An iptv receiver and method for performing a personal video recorder function in the iptv receiver
WO2010019022A2 (en) System and method for transmitting and receiving a call on a home network
WO2013089437A1 (en) Device and method for receiving media content
WO2009157740A2 (en) An internet protocol tv(iptv) receiver and a method for receiving application information in an iptv receiver
WO2009126008A2 (en) Device for recording and playing contents, sever for managing content location information, information recording medium, method for managing content information
WO2012093767A2 (en) Method for providing remote control service and image display apparatus thereof
WO2010123248A2 (en) Method for transmitting an iptv streaming service by p2p transmission, and method for receiving an iptv streaming service by p2p transmission
WO2012026651A1 (en) Method for synchronizing contents and display device enabling the method
WO2009126009A2 (en) Method and system for providing interactive content service of ubiquitous environment and computer-readable recording medium
WO2011043534A1 (en) A method for operating an interactive program guide, a user device for an interactive program guide, a method and a device for providing a consolidated data guide information listing
WO2012067344A2 (en) Web-browsing method, and image display device using same
WO2011002147A1 (en) Method of processing data on epg in service provider connected to network and digital broadcast receiver of processing data on epg
WO2014209053A1 (en) A digital device and method of processing service data thereof
WO2012099378A2 (en) Method and apparatus for controlling the transceiving of content
WO2016045207A1 (en) Method and device for combining dvb live broadcast and network on-demand broadcast
WO2012074189A1 (en) Method for controlling screen display and image display device using same
WO2011136581A2 (en) Method for setting up a network and an iptv receiver using same
WO2015108319A1 (en) Method and apparatus for managing connection between broadcasting reception device and another device which are connected through network
WO2010079954A2 (en) An iptv receiver and an method of managing video functionality and video quality on a screen in the iptv receiver
WO2012070789A2 (en) System, method and apparatus of providing/receiving service of plurality of content providers and client
WO2018038579A1 (en) Apparatus and method for providing security service in communication system
WO2012053764A2 (en) Method for moving pointer in video display apparatus and video display apparatus thereof
WO2010074535A2 (en) An iptv receiver and method for controlling an application in the iptv receiver
WO2010079907A2 (en) System, method, and computer readable recording medium for providing two-way service in digital cable broadcasting environment
WO2016089161A1 (en) Method for controlling ip-based hdmi device

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

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase in:

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11775286

Country of ref document: EP

Kind code of ref document: A2