WO2007039942A1 - 端末装置及びサーバ装置及び指令装置 - Google Patents

端末装置及びサーバ装置及び指令装置 Download PDF

Info

Publication number
WO2007039942A1
WO2007039942A1 PCT/JP2006/305250 JP2006305250W WO2007039942A1 WO 2007039942 A1 WO2007039942 A1 WO 2007039942A1 JP 2006305250 W JP2006305250 W JP 2006305250W WO 2007039942 A1 WO2007039942 A1 WO 2007039942A1
Authority
WO
WIPO (PCT)
Prior art keywords
command
execution
terminal device
unit
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/JP2006/305250
Other languages
English (en)
French (fr)
Inventor
Hitoshi Kamasaka
Shinji Kitagami
Atsushi Murata
Takao Shindou
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to EP06729243.3A priority Critical patent/EP1936510A4/en
Priority to CN2006800352292A priority patent/CN101273337B/zh
Priority to US11/991,809 priority patent/US8103717B2/en
Priority to JP2007538631A priority patent/JPWO2007039942A1/ja
Publication of WO2007039942A1 publication Critical patent/WO2007039942A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2816Controlling appliance services of a home automation network by calling their functionalities
    • H04L12/2818Controlling appliance services of a home automation network by calling their functionalities from a device located outside both the home and the home network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0272Virtual private networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/029Firewall traversal, e.g. tunnelling or, creating pinholes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications

Definitions

  • Terminal device server device, and command device
  • the present invention relates to a LAN (Local Area) connected to the Internet via a gateway device.
  • LAN Local Area
  • the present invention relates to a technology for accessing a device (terminal device) connected to the network (device) connected to the device (server device) connected to the Internet.
  • NAT Network Address Translation
  • NAPT Network Address There is a technology that translates IP addresses and port numbers using the (Port Translation) function.
  • the server device When converting the IP address and port number of the terminal device using the NAT function or NAPT function, the server device knows the port number of the terminal device by requesting the terminal device power. Therefore, it is difficult to actively access the terminal device from the server device side.
  • Patent Document 1 As a technique for solving this problem, for example, there is Patent Document 1.
  • firewall technology There are various types of firewall technology, but access from the terminal device to the server device and the response from the server device are permitted, and access from the other server devices to the terminal device is restricted.
  • the method is widely used.
  • Patent Document 1 Japanese Patent Application Laid-Open No. 2004-120547
  • Patent Document 1 The technology described in Patent Document 1 is a server device that can be used to access a terminal device for UDP (User Datagram Protocol). ⁇ .
  • UDP User Datagram Protocol
  • the present invention has been made to solve the above-described problems, for example, and does not require a complicated procedure such as changing a firewall setting, and thus does not reduce security.
  • the server device power is also intended to enable access to the terminal device. Means for solving the problem
  • a terminal device according to the present invention provides:
  • a terminal device having a communication device that communicates with a server device via a network and an execution device that executes an execution command
  • An inquiry transmission unit that transmits to the server device using the communication device in the form of a Transfer Protocol) request
  • the response to the command inquiry sent by the inquiry sending unit is used as a command answer in the form of an HTTP response to the HTTP command that is a combination of the command question and an answer receiving unit that receives from the server device using the communication device.
  • a command execution unit that executes the execution command using the execution device
  • the terminal device further includes:
  • a result transmission unit that transmits the result of execution of the execution command by the command execution unit as an execution result in the form of an HTTP request to the server device using the communication device;
  • the response receiving unit further includes:
  • the presence / absence of another execution command to be executed by the execution device is sent from the server device using the communication device in the form of an HTTP response to the HTTP request that is the execution result transmitted by the result transmission unit as a command response.
  • the execution command included in the command response is executed using the execution device.
  • the communication device further communicates with the command device via a network
  • the terminal device further includes:
  • a command transmission request for requesting transmission of the execution command is sent to the command device using the communication device in the HTTP request format.
  • a command reception unit that receives the execution command from the command device using the communication device in the form of an HTTP response to the HTTP request that is the command transmission request;
  • the command execution unit executes the execution command received by the command receiving unit using the execution device.
  • the terminal device further includes:
  • a result transmission unit that transmits the result of execution of the execution command by the command execution unit as an execution result in the form of an HTTP request to the command device using the communication device;
  • the command receiving unit further includes:
  • the inquiry transmission unit further includes:
  • the command inquiry is transmitted to the server device using the communication device when the command response received by the response receiving unit is a content indicating that there is no execution command.
  • a server device includes:
  • a command inquiry for inquiring whether or not there is an execution command to be executed by the terminal device is transmitted in the form of an HTTP request using the communication device.
  • the response to the command inquiry received by the inquiry receiver is sent as a command response to the terminal device using the communication device in the form of an HTTP response to the HTTP request that is the command question and the combination. And a portion.
  • the server device further includes:
  • the terminal device has a result receiving unit that receives the result of executing the execution command as an execution result in the form of an HTTP request from the terminal device using the communication device, and the response transmitting unit further includes:
  • the presence / absence of another execution command to be executed by the terminal device is transmitted as a command response to the terminal device using the communication device in the form of an HTTP response to the HTTP request that is the execution result.
  • a command response including the execution command is transmitted to the terminal device using the communication device.
  • the server device further includes: A notification receiving unit that receives the execution command from a notification device that notifies the execution command to be executed by the terminal device;
  • the notification receiving unit When the notification receiving unit receives an execution command from the notification device, it transmits a command response indicating that there is an execution command to the terminal device using the communication device, and waits for a predetermined time, When the notification receiving unit does not receive the execution command, the command response having the content indicating no execution command is transmitted to the terminal device using the communication device.
  • the server device further includes:
  • a presence acquisition unit that acquires a notification that there is an execution command from a command device that notifies that there is an execution command to be executed by the terminal device;
  • the presence acquisition unit When the presence acquisition unit acquires a command device power notification that there is an execution command, it transmits a command reply indicating that there is an execution command to the terminal device using the communication device,
  • the presence acquisition unit does not receive a notification that there is an execution command, and does not receive the command device power, the command response with the content indicating that there is no execution command is used. Send to the terminal device
  • a command device includes:
  • a command transmission request for requesting transmission of an execution command to be executed by the terminal device is transmitted in the HTTP request format using the communication device.
  • the execution command is used in the form of an HTTP response to the HTTP request that is the command transmission request.
  • a command transmitter for transmitting to the device It is characterized by having.
  • the command device further includes:
  • the result of executing the execution command by the terminal device as a result of execution is received in the form of an HTTP request from the terminal device using the communication device in the form of an HTTP request.
  • Another execution command to be executed by the terminal device is transmitted to the terminal device using the communication device in the form of an HTTP response to the HTTP request that is the execution result.
  • the command device further includes:
  • a notification receiving unit that receives the execution command from a notification device that notifies the execution command to be executed by the terminal device
  • a presence notification unit that notifies the server device of the presence or absence of an execution command when the notification reception unit receives the execution command.
  • access to the server device terminal device is transmitted in the form of an HTTP response to an HTTP request to the terminal device server device.
  • Server device power without changing the setting of the device.
  • the terminal device can be accessed.
  • Embodiment 1 will be described with reference to FIGS.
  • FIG. 1 is a system configuration diagram showing an example of the overall configuration of a remote operation system 600 in this embodiment.
  • the remote operation system 600 includes a terminal device 100, a router device 500 (gateway device), a server device 200, and an application device 300 (an example of a notification device).
  • the router device 500, the server device 200, and the application device 300 are connected to the Internet 40. Connected to 0 and can communicate with each other.
  • the terminal device 100 is connected to the router device 500 via the LAN 450, is connected to the Internet 400 via the router device 500, and communicates with a device connected to the Internet (for example, the server device 200). Can do.
  • the router device 500 has a firewall function.
  • the router device 500 permits communication from the terminal device 100 to a device on the Internet side (for example, the server device 200). As a response to this, communication from the device on the Internet side to the terminal device 100 is also permitted. However, communication that is not a response to communication from the terminal device 100 is prohibited.
  • the router device 500 has a NAPT function!
  • the router device 500 converts the local IP address of the terminal device 100 that is valid only within the LAN 450 using the NAPT function, and connects to the device on the Internet side.
  • Application device 300 inputs a command (execution command) to be executed by terminal device 100.
  • the application device 300 accesses the server device 200 via the Internet 400 and transmits the input execution command.
  • the server device 200 accesses the terminal device 100 via the router device 500, and transmits the execution command received from the application device 300 to the terminal device 100.
  • the terminal device 100 executes the execution command, and transmits the execution result to the server device 200 via the router device 500 and the Internet 400.
  • the server device 200 receives the execution result from the terminal device 100.
  • the application apparatus 300 accesses the server apparatus 200 via the Internet 400 and acquires the execution result received by the server apparatus 200.
  • FIG. 2 is a hardware configuration diagram showing an example of the hardware configuration of the terminal device 100 in this embodiment.
  • FIG. 3 is a hardware configuration diagram showing an example of a hardware configuration of the server device 200 and the application device 300 in this embodiment.
  • FIG. 4 is a hardware configuration diagram illustrating an example of a hardware configuration of the router device 500 according to this embodiment.
  • the terminal device 100, the server device 200, the application device 300, and the router device 500 include a CPU 901 (Central Processing Unit), a display device 902 (for example, a CRT (Cathod Ray Tube) device, an LCD (Liquid Cristal Display device), input device 903 (for example, keyboard), storage device 904 (for example, ROM (Read Only)
  • CPU 901 Central Processing Unit
  • display device 902 for example, a CRT (Cathod Ray Tube) device, an LCD (Liquid Cristal Display device
  • input device 903 for example, keyboard
  • storage device 904 for example, ROM (Read Only)
  • RAM Random Access Memory
  • HDD Hard Disk Drive
  • SD Silicon Digital
  • the CPU 901 realizes each functional block described below by executing the program stored in the storage device 904.
  • a display device 902 displays an execution result of a program executed by the CPU 901 and the like.
  • the input device 903 inputs a command for the CPU 901.
  • the storage device 904 stores data of execution results of programs executed by the CPU 901 and the like.
  • the network interface device 905 is connected to the Internet 400 and performs communication with other devices connected to the Internet 400.
  • the network interface device 906 is connected to the LAN 450 and communicates with other devices connected to the LAN 450.
  • the terminal device 100 further includes an execution device 910.
  • the execution device 910 is a device that actually executes various functions based on an execution command from the application device 300.
  • the terminal device 100 need not be physically one device.
  • the execution device 910 and other devices may be connected via a unique network such as LAN 450 or infrared communication. In this case, if the entire system including the execution device 910 connected via the LAN 450 or the like functions as the terminal device 100 described below, it is included in the “terminal device” here.
  • FIG. 5 shows a terminal device 100, a server device 200, and an application in this embodiment 3 is a block configuration diagram showing an example of a functional block configuration of apparatus 300.
  • FIG. 5 shows a terminal device 100, a server device 200, and an application in this embodiment 3 is a block configuration diagram showing an example of a functional block configuration of apparatus 300.
  • the router device 500, the LAN 450, and the Internet 400 are omitted.
  • the terminal device 100 includes a server access unit 110, a terminal control unit 120 (an example of an inquiry transmission unit and a result transmission unit), a reply data analysis unit 130 (an example of an answer reception unit), a command execution unit 140 (an instruction execution unit) Example).
  • Server access unit 110 communicates with server device 200 using network interface device 906. HTTP is used as the communication protocol.
  • the communication protocol that uses HTTP is not limited to HTTP, but is a normal gateway device such as HTTPS (Hyper Text Transfer Protocol over Secure Sockets Layer), a firewall, or a proxy. Other protocols can be used if they are allowed to pass! ,.
  • HTTPS Hyper Text Transfer Protocol over Secure Sockets Layer
  • firewall a firewall
  • proxy a proxy
  • HTTP request a message corresponding to an HTTP request in the HTTP protocol is included when a protocol other than HTTP is used.
  • HTTP response when a protocol other than HTTP is used, a message corresponding to an HTTP response in the HTTP protocol is included.
  • the terminal control unit 120 generates a command inquiry for inquiring whether the server device 200 has an execution command for the terminal device 100 and causes the server device 200 to transmit the command inquiry to the server access unit 110. Further, the command execution unit 140 obtains the result of executing the execution command, and causes the server access unit 110 to transmit the command execution result to the server device 200.
  • the reply data analysis unit 130 analyzes data (reply data) received by the server access unit 110 from the server device 200. The reply data analysis unit 130 determines whether or not the execution data is included in the reply data. If included, the reply data analysis unit 130 notifies the command execution unit 140 of the execution command. If not included, the terminal control unit 120 is notified to that effect.
  • the command execution unit 140 executes the execution command received from the reply data analysis unit 130, Execution is performed using the execution device 910.
  • Server device 200 includes terminal access receiver 210, server controller 220 (an example of an answer transmitter), access data analyzer 230 (an example of an inquiry receiver / result receiver), and an access access receiver 240. (An example of a notification receiving unit).
  • the terminal access unit 210 communicates with the terminal device 100 using the network interface device 905.
  • HTTP or HTTPS is used as the communication protocol.
  • Server control unit 220 generates a response (command response) to a command inquiry from terminal device 100 and causes terminal device 100 to transmit to terminal access reception unit 210. Also, the result (execution result) of the terminal device 100 executing the execution command is also acquired by the access data analysis unit 230, and is transmitted to the application access reception unit 240 by the application device 300.
  • the access data analyzing unit 230 includes data received by the terminal access receiving unit 210 from the terminal device 100 (terminal access data) and data received by the application access receiving unit 240 from the application device 300 (application access data). And the server controller 220 is notified of the analysis result.
  • Application access receiver 240 communicates with application device 300 using network interface device 905.
  • a command (command notification) is received from the application apparatus 300 and a command execution result (execution result) is transmitted to the application apparatus 300.
  • the application apparatus 300 includes an application system 310, a command input unit 320, and a result display unit 330.
  • the application system 310 communicates with the server device 200 using the network interface device 905.
  • the command input unit 320 inputs an execution command to the terminal device 100 using the input device 903.
  • the input execution command is transmitted from the application system 310 to the server device 200.
  • the result display unit 330 displays the result of the terminal device 100 executing the execution command using the display device 902.
  • the execution result to be displayed is displayed by the application system 310 on the server device. Receive from 200.
  • FIG. 6 is a flow chart showing an example of the processing flow of the terminal device 100 in this embodiment.
  • terminal control unit 120 In S11, terminal control unit 120 generates a command inquiry.
  • the command inquiry is for inquiring the server device 200 about the power or inability of having an execution command for the terminal device 100.
  • server access unit 110 transmits the command query generated by terminal control unit 120 to server device 200.
  • HTTP HyperText Transfer Protocol
  • GET a command inquiry is transmitted in the form of a “GET” method that specifies a file name that stores a command response to the terminal device 100.
  • the server access unit 110 receives an answer (reply data) to the command inquiry transmitted in S12.
  • the communication protocol at this time is also HTTP (or HTTPS, etc.). For example, if the content of the file that stores the command response is transferred as an HTTP response to the “GET” method sent in S12, the reply data is received in 1 ⁇ ⁇ format.
  • the reply data analysis unit 130 sends a command to the reply data (command response).
  • the terminal control unit 120 If no command is included in the reply data, the terminal control unit 120 returns to S11. If the reply data contains a command, the process proceeds to S16.
  • the reply data analysis unit 130 passes the command included in the reply data to the command execution unit 140.
  • the command execution unit 140 executes the passed command using the execution device 910.
  • the result of command execution by the command execution unit 140 is acquired by the terminal control unit 120 and used as the command execution result.
  • the command execution result is passed to the server access unit 110.
  • the server access unit 110 receives the command execution result acquired by the terminal control unit 120, adds the data, and transmits it to the server device 200.
  • HTTP (or HTTPS, etc.) is also used as the communication protocol at this time.
  • the command execution result is sent as a parameter of the “GET” method.
  • the “POST” method may be used.
  • server device 200 Next, the operation of server device 200 will be described.
  • FIG. 7 is a flowchart showing an example of the processing flow of the server device 200 in this embodiment.
  • terminal access receiving section 210 receives a command inquiry from terminal apparatus 100 (
  • the application access receiving unit 240 determines whether the application apparatus 300 also receives the command notification. If received, proceed to S27. If not received, proceed to S23.
  • the server control unit 220 measures the elapsed time since the terminal access receiving unit 210 received the HTTP request (command inquiry) from the terminal device 100, and determines whether a predetermined time has elapsed. To do.
  • the process branches based on the determination result of the server control unit 220. If it is before the predetermined time has elapsed, the process returns to S22 and waits for access from the application apparatus 300. If the predetermined time has elapsed, go to S25. In S25, if there is no access from application device 300 even after a predetermined time has elapsed, server control unit 220 determines that there is no execution command to be executed by terminal device 100. The server control unit 220 generates reply data (command response) that does not include an execution command. In this embodiment, when the execution command is not included in the reply data, it means that there is no execution command to be executed by the terminal device 100.
  • reply data command response
  • terminal access receiving section 210 transmits the reply data generated by server control section 220 to terminal apparatus 100.
  • the reply data is transmitted as a response (HTTP response) to the HTTP request (command inquiry) from the terminal device 100.
  • the access data analysis unit 230 analyzes the application access (command notification) received by the application access receiving unit 240, and acquires an execution command included therein.
  • the access data analysis unit 230 passes the acquired execution command to the server control unit 220.
  • server control unit 220 In S28, server control unit 220 generates reply data including the execution command received from access data analysis unit 230.
  • the terminal access receiving unit 210 transmits the reply data generated by the server control unit 220 to the terminal device 100 as an HTTP response to the HTTP request (command inquiry).
  • terminal access receiving section 210 receives the command execution result from terminal apparatus 100.
  • HTTP request (HTTP request) is received.
  • access data analysis section 230 acquires the command execution result received by terminal access reception section 210, and application access reception section 240 transmits it to application apparatus 300.
  • FIG. 8 shows the terminal device 100, the server device 200, the application in this embodiment. 4 is a sequence diagram showing an example of messages exchanged between the network devices 300.
  • FIG. 8 shows the terminal device 100, the server device 200, the application in this embodiment. 4 is a sequence diagram showing an example of messages exchanged between the network devices 300.
  • a message exchanged between the terminal device 100 and the server device 200 passes through the router device 500.
  • the router device 500 has a firewall function, and allows only permitted messages.
  • the terminal device 100 transmits the command inquiry 711 as an HTTP request to the server device 200 (S 12).
  • the server access unit 110 of the terminal device 100 starts a TCP (Transmission Control Protocol) session with the server device 200 when transmitting the command inquiry 711.
  • TCP Transmission Control Protocol
  • the router device 500 determines that the terminal device 100 has started this TCP session.
  • the router device 500 determines that the communication in this TCP session is an access from the terminal device 100 and a response thereto, and permits the communication.
  • the router device 500 receives the command query and the combination 711 and transfers it to the server device 200.
  • the server device 200 receives the command inquiry 711 (S21).
  • the server device 200 transmits reply data 7 21 (command response) not including a command (execution command) to the terminal device 100. (S26).
  • the reply data 721 is transmitted as an HTTP response in the TCP session started by the terminal device 100.
  • the waiting time from when the server device 200 receives the command inquiry 711 to when the reply data 721 is transmitted is that the router device 500 or the like determines that there is no communication and terminates the TCP session. To prevent this, set the time to be shorter than the time for determining that there is no communication.
  • the router apparatus 500 receives the reply data 721 and transfers the reply data 721 to the terminal apparatus 100 because the terminal apparatus 100 has started this TCP session.
  • the firewall function of the router device 500 is based on the device that has started the TCP session.
  • the router device 500 further determines whether or not to transfer the communication. Some firewalls check to determine if they are forwarding. Even in that case, the reply data 721 from the server device 200 to the terminal device 100 is in the form of an HTTP response to the HTTP request transmitted by the terminal device 100. Is the same. If it is a normal setting, browsing of the homepage should be permitted. Therefore, the router device 500 does not prohibit the transmission of the reply data 721 and forwards it to the terminal device 100.
  • the terminal device 100 receives the reply data 721 (S13). Since the reply data 721 does not include a command, the terminal device 100 immediately transmits the next command inquiry 712 to the server device 200 as an HT TP request (S12).
  • the TCP session started at the time of sending the command inquiry 711 is maintained, and the command inquiry 712 is sent in the same session.
  • the router device 500 receives the command inquiry 712, permits this communication, and transfers it to the server device 200.
  • the server device 200 receives the command inquiry 712 (S21).
  • the command input unit 320 inputs a command (execution command) using the input device 903.
  • the application system 310 transmits the input command to the server apparatus 200 as an application access 731 (command notification).
  • the server device 200 receives the application access 731 (S22). Since the reception of the command inquiry 712 is also before the predetermined time has elapsed, the server device 200 immediately transmits the reply data 722 (with command) as an HTTP response to the terminal device 100 (S29). .
  • the server device 200 When the server device 200 receives an application access after a lapse of a predetermined time, the server device 200 waits to receive the next command inquiry from the terminal device 100, and immediately transmits reply data for it. And
  • the reply data 722 includes the command included in the application access 731.
  • the router device 500 receives the reply data 722, permits this communication, and transfers it to the terminal device 100.
  • the terminal device 100 receives the reply data 722 (S13). Since the reply data 722 includes a command, the terminal device 100 executes the command (S16).
  • the terminal device 100 transmits the command execution result to the server device 200 as a command execution result 793 in the form of an HTTP request (S 18).
  • the router device 500 receives the command execution result 793, permits this communication, and transfers it to the server device 200.
  • the server device 200 receives the command execution result 793 (S30).
  • the server device 200 transmits the received command execution result to the application device 300 as an application reply 741 (S31).
  • the application apparatus 300 receives the application reply 741.
  • the result display unit 330 of the application device 300 displays the command execution result included in the application reply 741 using the display device 902.
  • the server device 200 waits until the command execution result 793 reception power also elapses for a predetermined time, and since there is no access from the application device 300! /, The command device is not included! /, And the reply data 723 is sent to the terminal device 100. Is sent as an HTTP response.
  • a control command can be passed from the server apparatus 200 to the terminal apparatus 100, so that the terminal apparatus 100 can be controlled from the server apparatus 200.
  • the terminal device 100 accesses the server device 200 via HTTP or HTTPS, remains connected for a certain period of time, and once returns a reply. Thereafter, the terminal device 100 immediately accesses the server device 200 again.
  • KeepAlive periodic communication
  • the TCP session establishment operation needs to be performed only once at the beginning, and the subsequent communication is performed by the TCP session established first. Therefore, the resource consumption caused by using TCP can be minimized.
  • the overall configuration of the remote operation system 600, the terminal device 100, the server device 200, the application device 300 (an example of a notification device), and the router device 500 in this embodiment are the same as those described in the first embodiment. Since it is the same, description is abbreviate
  • FIG. 9 shows a terminal device 100, a server device 200, and an application in this embodiment 3 is a block configuration diagram showing an example of a functional block configuration of apparatus 300.
  • FIG. 9 shows a terminal device 100, a server device 200, and an application in this embodiment 3 is a block configuration diagram showing an example of a functional block configuration of apparatus 300.
  • the terminal device 100 includes a server access preliminary unit 115, a terminal control unit 120 (an example of an inquiry transmission unit), a request data analysis unit 135 (an example of an answer reception unit), and a server communication unit 116 (a request transmission unit / command reception) Unit and result transmission unit) and command execution unit 140 (an example of command execution unit).
  • command execution unit 140 is the same as that described in the first embodiment, and a description thereof will be omitted here.
  • Server access preliminary section 115 communicates with terminal access preliminary section 215 of server apparatus 200 using network interface apparatus 906.
  • the communication protocol is HTTP
  • the terminal control unit 120 asks the server device 200 whether or not there is an execution command for the terminal device 100, generates a matching command !, a matching, and sends the matching to the terminal access advance unit 215 of the server device 200. Then, the server access advance unit 115 is made to transmit.
  • the request data analysis unit 135 analyzes the data (request data) received by the server access preliminary unit 115 from the terminal access preliminary unit 215 of the server device 200. Request data analysis section
  • connection request 135 determines whether or not the connection request is included in the request data, and if it is included, notifies the server communication unit 116 of the connection request. If not included, the terminal control unit 120 is notified accordingly.
  • HTTP (or HTTPS) is used as the communication protocol.
  • the server communication unit 116 When the server communication unit 116 receives a connection request notification from the request data analysis unit 135, the server communication unit 116 transmits a command transmission request to the terminal communication unit 216 of the server device 200.
  • Server communication unit 116 further receives a command (execution command) transmitted by terminal communication unit 216 of server device 200 as a response to the command transmission request.
  • the server communication unit 116 notifies the command execution unit 140 of the received command.
  • the server communication unit 116 acquires the result of the command execution unit 140 executing the notified command, and sends it to the terminal communication unit 216 of the server device 200 as a command execution result (execution result). Send to.
  • the server device 200 includes a terminal access preliminary unit 215 (an example of an inquiry reception unit), a server control unit 220 (an example of an existence acquisition unit / response transmission unit), and a terminal communication unit 216 (a request reception unit / command transmission unit).
  • a terminal access preliminary unit 215 an example of an inquiry reception unit
  • a server control unit 220 an example of an existence acquisition unit / response transmission unit
  • a terminal communication unit 216 a request reception unit / command transmission unit.
  • an application access receiving unit 240 an example of a notification receiving unit and presence notifying unit.
  • the terminal access preliminary unit 215 communicates with the server access preliminary unit 115 of the terminal device 100 using the network interface device 905.
  • HTTP or HTTPS is used as the communication protocol.
  • the server control unit 220 generates a response (command response) to the command inquiry from the terminal device 100 and causes the server access preliminary unit 115 of the terminal device 100 to transmit the response to the terminal access preprocessing unit 215.
  • the terminal communication unit 216 communicates with the server communication unit 116 of the terminal device 100 using the network interface device 905.
  • HTTP or HTTPS is used as the communication protocol.
  • the terminal communication unit 216 receives the command transmission request transmitted by the server communication unit 116 of the terminal device 100.
  • the terminal communication unit 216 When receiving the command transmission request, the terminal communication unit 216 transmits a command (execution command) to the server communication unit 116 of the terminal device 100.
  • the terminal communication unit 216 receives the result of the command executed by the terminal device 100 from the server communication unit 116 of the terminal device 100 as a command execution result (execution result).
  • Application access receiving unit 240 communicates with application device 300 using network interface device 905.
  • a command (command notification) is received from the application apparatus 300 and a command execution result (execution result) is transmitted to the application apparatus 300.
  • application apparatus 300 is the same as that described in the first embodiment, description thereof is omitted here.
  • FIG. 10 is a flowchart showing an example of the processing flow of the terminal device 100 in this embodiment. It is one chart figure.
  • terminal control unit 120 In S41, terminal control unit 120 generates a command inquiry.
  • server access preliminary section 115 transmits the command inquiry generated by terminal control section 120 to terminal access preliminary section 215 of server apparatus 200.
  • HTTP or HTTPS, etc.
  • HTTP is used as the communication protocol, and it is transmitted as an HTTP request (for example, “GET” method).
  • the server access preliminary unit 115 receives an answer (request data) to the command inquiry transmitted in S42.
  • the communication protocol at this time is also HTTP.
  • the request data is received as an HTTP response to the “GET” method transmitted in S12.
  • the request data analysis unit 135 analyzes whether or not there is a connection request in the request data (command response). If there is a connection request, this means that the server apparatus 200 has a command (execution command) to be executed by the terminal apparatus 100.
  • connection request is not included in the request data, return to S41 and send the next command inquiry.
  • connection request is included in the request data, go to S46.
  • the server communication unit 116 receives the notification from the request data analysis unit 135, generates a command transmission request for requesting transmission of a command in the server device 200, and the terminal communication unit 216 of the server device 200. In response to this, it is sent as an HTTP request (eg, “GET” method).
  • HTTP request eg, “GET” method
  • the server communication unit 116 receives a command (execution command) as a reply to the command transmission request transmitted in S46. For example, it is received as an HTTP response to the “GET” method sent in S46.
  • the command execution unit 140 receives a command from the server communication unit 116, and executes the received command.
  • the server communication unit 116 executes the acquired command execution result.
  • the result is transmitted as an HTTP request to the terminal communication unit 216 of the server device 200.
  • the server communication unit 116 responds to the HTTP request sent in S49.
  • HTTP response indicating the end of the command may be received before the predetermined time elapses, and the server communication unit 116 may determine that and return to S41.
  • FIG. 11 is a flowchart showing an example of the processing flow of server device 200 (terminal access pre-part 215 / server control unit 220) in this embodiment.
  • the terminal access preliminary unit 215 sends a command inquiry from the terminal device 100 (
  • server control unit 220 determines whether or not a notification (presence notification) has been received. If a presence notification is received, proceed to S67. If there is no presence notification, go to ⁇ or S63.
  • the server control unit 220 generates request data including a connection request for requesting the terminal device 100 to access the terminal communication unit 216. Then go to S66
  • the server control unit 220 measures the elapsed time since the terminal access preliminary unit 215 received the HTTP request (command inquiry) from the terminal device 100, and determines whether a predetermined time has elapsed. To do.
  • the process branches based on the determination result of the server control unit 220. If it is before the predetermined time has elapsed, the process returns to S62 and waits for a notification from the application access receiving unit 240. If the predetermined time has elapsed, the process proceeds to S65.
  • the server control unit 220 sends the terminal device 100 to the terminal communication unit 216.
  • Request data is generated that does not include connection requests that require access (ie, does not request access).
  • terminal access preliminary section 215 transmits the request data generated by server control section 220 in S65 or S67 to server access preliminary section 115 of terminal apparatus 100 as an HT TP response.
  • FIG. 12 is a flowchart showing an example of the processing flow of the server device 200 (terminal communication unit 216 / application access receiving unit 240) in this embodiment.
  • the application access receiving unit 240 receives a command notification including a command (execution command) to be executed by the terminal device 100 from the application device 300.
  • the application access receiving unit 240 notifies the server control unit 220 that there is a command to be executed by the terminal device 100 (presence notification).
  • terminal communication unit 216 receives a command transmission request (HTTP request) from server communication unit 116 of terminal device 100.
  • HTTP request a command transmission request
  • the application access receiving unit 240 acquires a command included in the received command notification.
  • terminal communication unit 216 transmits the command acquired by application access reception unit 240 as an HTTP response to server communication unit 116 of terminal device 100.
  • terminal communication unit 216 receives, as a command execution result, server communication unit 116 of terminal device 100, as a command execution result, the result of terminal device 100 executing the transmitted command.
  • application access receiving section 240 transmits the command execution result received by terminal communication section 216 to application apparatus 300.
  • the application access receiving unit 240 determines whether or not a command notification for the application apparatus 300 is received. If it is received, the process proceeds to S74, and the received command is transmitted to the terminal device 100. If not received, go to S79.
  • the application access receiver 240 measures the elapsed time since the terminal communication unit 216 received the HTTP request (command execution result), and the predetermined time has passed. Determine if you have missed.
  • the process branches based on the determination result of application access reception unit 240. If it is before the predetermined time has elapsed, the process returns to S78 and waits for access from the application apparatus 300. If the predetermined time has elapsed, the process returns to S71 and waits for access from the application apparatus 300.
  • Communication between terminal device 100 and server device 200 includes communication between server access preliminary unit 115 and terminal access preliminary unit 215, and communication between server communication unit 116 and terminal communication unit 216.
  • server access preliminary unit 115 and terminal access preliminary unit 215 There are two types. Both types of communication use the HTTP protocol (or HTTPS, etc.).
  • the communication between the server access preliminary unit 115 and the terminal access preliminary unit 215 establishes a TCP session at the start of communication, and then periodically issues a command inquiry and exchanges command responses. maintain.
  • the server communication unit 116 and the terminal communication unit 216 are infrequent, if the connection is disconnected due to a timeout after the TCP session is established, reconnection is made when necessary. . Alternatively, it may be explicitly disconnected at the end of the command. Alternatively, it may be disconnected by a command for instructing TCP session disconnection.
  • communication between the terminal device 100 and the server device 200 includes communication between the server access preliminary unit 115 and the terminal access preliminary unit 215, server communication unit 116, and terminal communication unit 216. It is divided into the communication between. For example, by distinguishing the port number used by the terminal access advance unit 215 and the port number used by the terminal communication unit 216, the communication between the two is distinguished. Alternatively, communication between the two may be distinguished by using two IP addresses.
  • the terminal access advance unit 215 is in charge of a command inquiry 'command response.
  • the command inquiry 'command response is constantly exchanged even when there is no command to be executed by the terminal device 100, so the processing per time is light but the number is large. In particular, when there are a large number of terminal devices 100 handled by one server device 200, the number of command inquiry / command responses becomes enormous.
  • the terminal communication unit 216 is in charge of a command transmission request, an execution command, and an execution result.
  • Command Transmission request 'execution command ⁇ Since the execution result is exchanged only when there is an execution command to be executed by the terminal device 100, the number of processing is small, but the processing at one time is heavy.
  • Embodiment 3 will be described with reference to FIGS.
  • FIG. 13 is a system configuration diagram showing an example of the overall configuration of the remote control system 600 in this embodiment.
  • the remote operation system 600 includes a terminal device 100, a router device 500, a server device 200, a command device 250, and an application device 300 (an example of a notification device).
  • terminal device 100 The hardware configurations of terminal device 100, router device 500, server device 200, and application device 300 are the same as those described in the first embodiment, and thus description thereof is omitted here.
  • command device 250 is the same as that of server device 200.
  • FIG. 14 is a block configuration diagram showing an example of the functional block configuration of the terminal device 100, the server device 200, the command device 250, and the application device 300 in this embodiment.
  • the terminal device 100 and the application device 300 are: Since this is the same as that described in Embodiment 2, the description thereof is omitted here.
  • the server device 200 includes a terminal access advance unit 215 and a server control unit 220.
  • the command device 250 includes a terminal communication unit 216 and an application access receiving unit 240.
  • the terminal access preliminary unit 215, the server control unit 220, the terminal communication unit 216, and the application access reception unit 240 are the same as the functional blocks of the server device 200 described in the second embodiment, and thus description thereof is omitted here.
  • server device 200 of the second embodiment is divided into two devices (server device 2 00, command device 250).
  • FIG. 15 is a sequence diagram showing an example of messages exchanged among terminal device 100, server device 200, command device 250, and application device 300 in this embodiment.
  • the terminal device 100 transmits a command inquiry 711 to the server device 200 (S42).
  • the server device 200 receives the command question and the sum 711 (S61).
  • the command input unit 320 inputs a command (execution command) using the input device 903.
  • the application system 310 transmits the input command to the command device 250 as an application access 731 (command notification).
  • Command device 250 receives application access 731 (S71).
  • the command device 250 transmits the presence notification 771 that informs that there is a command to be executed by the terminal device 100 to the server device 200 (S72).
  • the server device 200 receives the presence notification 771 (S62). Since the command inquiry 711 is received before the predetermined time has elapsed, the server device 200 transmits request data 751 (with command) to the terminal device 100 (S66).
  • the request data 751 includes information indicating the command device 250 having a command to be executed by the terminal device 100 (for example, an IP address), so that the terminal Just specify which command device 250 the device 100 should access.
  • the terminal device 100 receives the request data 751 (command response) (S43).
  • the terminal device 100 Since the terminal device 100 analyzes the request data 751 and has a command, it transmits a command transmission request 761 to the command device 250 (S46).
  • Command device 250 receives command transmission request 761 (S73).
  • Command device 250 transmits command 781 (execution command) to terminal device 100 (S75).
  • the terminal device 100 receives the command 781 (S47).
  • the terminal device 100 executes the command 781 (S48).
  • the terminal device 100 uses the command execution result 792 (execution result) as a result of executing the command 781. As a result, it is transmitted to the command device 250 (S50).
  • Command device 250 receives command execution result 792 (S76).
  • the command device 250 transmits the received command execution result 792 to the application device 300 as an application reply 741.
  • the application apparatus 300 receives the application reply 741.
  • the command execution result is acquired from the received application reply 741, and the result display unit 330 displays it using the display device 902.
  • Command input unit 320 inputs a command and transmits it to command device 250 as application system 310 force application access 732 (command notification).
  • Command device 250 receives application access 732 (S78). Since command reception result 792 received power is also received before the predetermined time has elapsed, command device 250 transmits command 782 to terminal device 100 as an HTTP response to command execution result 792 (HTTP request) (S75). ).
  • the server device 200 specializes in an operation of answering whether there is an execution command to be executed by the terminal device 100.
  • Command inquiries ⁇ Command responses are exchanged regularly even when there is no execution command to be executed by the terminal device 100, so the processing per time is light, but the number is large. In particular, when there are a large number of terminal devices 100 handled by one server device 200, the number of command inquiry / command responses becomes enormous.
  • the number of command inquiries / command responses per unit time is determined by the waiting time from when the command inquiry is received until the command response is transmitted, and the number of terminal devices 100 that the server device 200 has. It is a certain number. Therefore, the processing capacity required to process the command inquiry / command response is a constant steady load. [0177] Therefore, it is not necessary for the processing capability of the server apparatus 200 to have sufficient capacity in consideration of traffic congestion. As a result, the operation cost of the entire remote operation system 600 can be reduced.
  • the command device 250 specializes in transmission / reception of a command transmission request “execution command” execution result. Since these communications occur only when there is an execution command to be executed by the terminal device 100, the number is small.
  • command transmission is performed by actually connecting to the terminal device via the application device force command device, the processing at one time is very heavy due to the load of command transmission processing.
  • the load is not only distributed. Even if the command device 250 is overloaded due to traffic congestion, the server device 200 is not affected. Thus, there is an effect that the operation of the terminal device 100 having no execution command to be executed is not affected.
  • the command response transmitted from the server device 200 to the terminal device 100 is a connection request including information (such as an IP address) indicating the command device 250
  • a plurality of command devices 250 are prepared.
  • the destination to which the terminal device 100 is connected can be assigned to the command device 250 with a light load (in this case, the application device 300 side also needs processing such as redirection).
  • the server device 200 can design a load according to the number of supported terminal devices 100. Just do it.
  • the command device 250 can be designed with a load corresponding to the number of terminal devices 100 operated simultaneously. In general, the number of operation units is extremely small compared to the number of supported units.
  • the remote operation system 600 capable of the same level of service can be constructed with a smaller processing capacity than the total of the processing capacity of the server device 200 and the commanding device 250 in the embodiment.
  • HTTP polling from the terminal device 100 to the server device 200 is performed.
  • terminal device [0184]
  • server device command device, and remote control system described above have the following features.
  • a server access unit that adds 0 or more data obtained from the terminal control unit to the server and accesses HTTP or HTTPS, receives the reply, and passes the data to the reply data analysis unit,
  • the terminal device power is HTTP with 0 or more data added, or it receives the HTTPS access and passes it to the access data analysis unit, and as a reply, the terminal access reception unit returns the data obtained from the server control unit ,
  • Access data analysis unit server control unit that receives zero or more command data, passes the data to the terminal access reception unit, and repeatedly returns the command execution result obtained by the access data analysis unit to the application system,
  • a session management device (remote operation system) includes the terminal device and the server device.
  • a server access advance unit that performs HTTP or HTTPS access to the server in accordance with instructions from the terminal control unit, receives the reply, and passes the data to the reply data analysis means;
  • a terminal control unit that obtains information from the request data analysis unit that there is no connection request and repeatedly executes the server access advance unit;
  • Terminal device power Receives HTTP or HTTPS access, and if there is a connection request from the server control unit, the connection request data is put as a reply, and if there is no connection, the terminal access prior to returning as a reply without putting any data Part,
  • a session management device (remote operation system) includes the terminal device and the server device.
  • Terminal device power Receives HTTP or HTTPS access, and if there is a connection request from the server control unit, the connection request data is put as a reply, and if there is no connection, the terminal access prior to returning as a reply without putting any data Part,
  • a server device (command device) different from the above server device is
  • a session management device includes the terminal device, the server device, and a server device (command device) different from the server device.
  • the execution device may be a terminal device power LAN that does not need to be inherent in the terminal device, or may be connected via a unique network! /.
  • a refrigeration equipment for example, an air conditioner indoor unit or an outdoor unit
  • a refrigeration equipment controller terminal control device
  • the refrigeration equipment controller (terminal control device) is connected to each refrigeration equipment (execution device) via its own network, and the refrigeration equipment controller (terminal control device) is connected to the Internet via the router device via a LAN or the like. Connect to the server device above.
  • the entire cooling / heating device system including the cooling / heating device (execution device) and the cooling / heating device controller (terminal control device) corresponds to the “terminal device” in this specification.
  • multiple execution devices are connected to a single terminal control device that does not contain execution devices. Even the terminal device of the state.
  • each device execution device
  • each control controller terminal control device
  • a water heater system floor heating system, lighting system, elevator system, ball power system, security system, surveillance camera system or FA system
  • FIG. 1 is a system configuration diagram showing an example of the overall configuration of a remote control system 600 according to Embodiment 1.
  • FIG. 2 is a node configuration diagram showing an example of a hardware configuration of terminal apparatus 100 according to the first embodiment.
  • FIG. 3 is a nodeware configuration diagram showing an example of a hardware configuration of the server device 200 and the application device 300 in the first embodiment.
  • FIG. 4 is a node hardware configuration diagram illustrating an example of a hardware configuration of the router device 500 according to the first embodiment.
  • FIG. 5 is a block configuration diagram showing an example of functional block configurations of the terminal device 100, the server device 200, and the application device 300 in the first embodiment.
  • FIG. 6 is a flowchart showing an example of a process flow of the terminal device 100 in the first embodiment.
  • FIG. 7 is a flowchart showing an example of a process flow of the server apparatus 200 in the first embodiment.
  • FIG. 8 is a sequence diagram showing an example of messages exchanged between terminal device 100, server device 200, and application device 300 in the first embodiment.
  • FIG. 9 is a block configuration diagram showing an example of functional block configurations of a terminal device 100, a server device 200, and an application device 300 in the second embodiment.
  • FIG. 10 is a flowchart showing an example of a processing flow of terminal apparatus 100 in the second embodiment.
  • FIG. 11 is a flowchart showing an example of a processing flow of server apparatus 200 (terminal access preliminary unit 215 ⁇ server control unit 220) in the second embodiment.
  • FIG. 12 is a flowchart showing an example of a processing flow of server apparatus 200 (terminal communication unit 216 ⁇ application access receiving unit 240) in the second embodiment.
  • FIG. 13 is a system configuration diagram showing an example of the overall configuration of a remote control system 600 according to the third embodiment.
  • FIG. 14 is a block configuration diagram showing an example of a functional block configuration of terminal device 100, server device 200, command device 250, and application device 300 in the third embodiment.
  • FIG. 15 is a sequence diagram showing an example of messages exchanged between terminal device 100, server device 200, command device 250, and application device 300 in the third embodiment. Explanation of symbols
  • 100 terminal devices 110 server access units, 115 server access predecessors, 116 server communication units, 120 terminal control units, 130 reply data analysis units, 140 command execution units, 200 server devices, 210 terminal access reception units, 215 terminals Pre-access section, 216 Terminal communication section, 220 Server control section, 230 Access data analysis section, 240 Application access reception section, 300 Application device, 310 Application system, 3 20 Command input section, 330 Result display section, 400 Internet, 500 Router device, 711 to 712 request! 792 to 793 Command execution result, 901 CPU, 902 display device, 903 input device, 904 storage device, 905, 906 Network interface device, 910 execution device.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Computer And Data Communications (AREA)

Abstract

 ファイアウォール等の設定を変更することなく、安全かつ確実に、サーバ装置から端末装置へのアクセスを可能にする。端末装置100は、サーバ装置200に対し、端末装置100が実行すべきコマンド(実行指令)があるか否かを問い合わせる指令問い合わせ711,712を、HTTPリクエストの形式で送信する(S12)。サーバ装置200は、端末装置100に対し、端末装置100が実行すべきコマンドがある場合にはそのコマンドを含むリプライデータ721,722(指令回答)を、HTTPリクエストに対するHTTPレスポンスの形式で送信する(S26、S29)。端末装置100は、リプライデータ721,722にコマンドが含まれている場合に、そのコマンドを実行する。

Description

明 細 書
端末装置及びサーバ装置及び指令装置
技術分野
[0001] 本発明は、ゲートウェイ装置を介してインターネットに接続した LAN (Local Area
Network)に接続した装置 (端末装置)に対して、インターネットに接続した装置( サーバ装置)力もアクセスする技術に関する。
背景技術
[0002] ゲートウェイ装置を介して、インターネットに接続した LANに接続した装置 (端末装 置)に対して、インターネットに接続した装置 (サーバ装置)からアクセスをするには様 々な制限がある。
[0003] 例えば、端末装置がグローバル IP (Internet Protocol)アドレスを持たず、ロー力 ル IPアドレスしか持たな!、場合、ゲートウェイ装置 (ルータ)力 NAT (Network Ad dress Translation)機能や NAPT (Network Address Port Translation)機 能を用いて、 IPアドレスやポート番号の変換を行う技術がある。
NAT機能や NAPT機能により、端末装置の IPアドレスやポート番号の変換を行う 場合、端末装置力 のリクエストによって、サーバ装置は、端末装置の IPアドレスゃポ ート番号を知る。したがって、サーバ装置側から、能動的に端末装置にアクセスする ことは困難である。
この課題を解決するための技術として、例えば、特許文献 1がある。
[0004] また、セキュリティ上の観点から、ゲートウェイ装置が、サーバ装置から端末装置へ のアクセスを制限する技術 ( 、わゆるファイアウォール)がある。
ファイアウォール技術には、様々なものがあるが、端末装置からサーバ装置へのァ クセス及びそれに対するサーバ装置からの応答は許可し、それ以外のサーバ装置か ら端末装置へのアクセスは制限すると 、う方式が、広く行われて 、る。
特許文献 1:特開 2004— 120547号公報
発明の開示
発明が解決しょうとする課題 [0005] 特許文献 1に記載の技術は、サーバ装置力 端末装置へのアクセスに UDP (User Datagram Protocol) 用 Vヽて!ヽ 。
しかし、 UDPには、通信開始等の手続がないので、端末装置とサーバ装置とのど ちら力も通信を始めたの力判別することは難しい。
したがって、ファイアウォール技術において、 UDPによる通信を一律に制限する場 合があり、特許文献 1の技術を利用するには、ファイアウォールの設定を直す必要が あるという課題がある。また設定変更の結果、セキュリティが低下する場合があるとい う課題がある。
[0006] 本発明は、例えば、上記のような課題を解決するためになされたものであり、フアイ ァウォールの設定を変更するなどの複雑な手続をせず、したがって、セキュリティを低 下させずに、サーバ装置力も端末装置へのアクセスを可能とすることを目的とする。 課題を解決するための手段
[0007] 本発明に係る端末装置は、
ネットワークを介してサーバ装置と通信する通信装置と、実行指令を実行する実行 装置とを有する端末装置において、
上記実行指令の有無を問!、合わせる指令問!、合わせを、 HTTP (Hypertext
Transfer Protocol)リクエストの形式で、上記通信装置を用いて上記サーバ装置 に対して送信する問 ヽ合わせ送信部と、
上記問い合わせ送信部が送信した指令問い合わせに対する回答を、指令回答とし て、上記指令問 、合わせである HTTPリクエストに対する HTTPレスポンスの形式で 、上記通信装置を用いて上記サーバ装置から受信する回答受信部と、
上記回答受信部が受信した指令回答が、実行指令ありを示す内容である場合に、 上記実行装置を用いて実行指令を実行する指令実行部と、
を有することを特徴とする。
[0008] 上記端末装置は、更に、
上記指令実行部が実行指令を実行した結果を、実行結果として、 HTTPリクエスト の形式で、上記通信装置を用いて上記サーバ装置に対して送信する結果送信部を 有し、 上記回答受信部は、更に、
上記実行装置が実行すべき他の実行指令の有無を、指令回答として、上記結果送 信部が送信した実行結果である HTTPリクエストに対する HTTPレスポンスの形式で 、上記通信装置を用いて上記サーバ装置から受信する
ことを特徴とする。
[0009] 上記指令実行部は、
上記回答受信部が受信した指令回答に実行指令が含まれる場合に、上記指令回 答に含まれる実行指令を、上記実行装置を用いて実行する
ことを特徴とする。
[0010] 上記通信装置は、更に、ネットワークを介して指令装置と通信し、
上記端末装置は、更に、
上記回答受信部が受信した指令回答が、実行指令ありを示す内容である場合に、 実行指令の送信を要求する指令送信要求を、 HTTPリクエストの形式で、上記通信 装置を用いて上記指令装置に対して送信する要求送信部と、
上記要求送信部が送信した指令送信要求に対する回答として、上記実行指令を、 上記指令送信要求である HTTPリクエストに対する HTTPレスポンスの形式で、上記 通信装置を用いて上記指令装置から受信する指令受信部と、
を有し、
上記指令実行部は、上記指令受信部が受信した実行指令を、上記実行装置を用 いて実行する
ことを特徴とする。
[0011] 上記端末装置は、更に、
上記指令実行部が実行指令を実行した結果を、実行結果として、 HTTPリクエスト の形式で、上記通信装置を用いて上記指令装置に対して送信する結果送信部を有 し、
上記指令受信部は、更に、
上記実行装置が実行すべき他の実行指令を、上記結果送信部が送信した実行結 果である HTTPリクエストに対する HTTPレスポンスの形式で、上記通信装置を用い て上記指令装置から受信する
ことを特徴とする。
[0012] 上記問い合わせ送信部は、更に、
上記回答受信部が受信した指令回答が、実行指令なしを示す内容である場合に、 上記指令問い合わせを、上記通信装置を用いて上記サーバ装置に対して送信する ことを特徴とする。
[0013] 本発明に係るサーバ装置は、
ネットワークを介して端末装置と通信する通信装置を有するサーバ装置において、 上記端末装置に実行させる実行指令の有無を問い合わせる指令問い合わせを、 H TTPリクエストの形式で、上記通信装置を用いて上記端末装置力 受信する問 、合 わせ受信部と、
上記問い合わせ受信部が受信した指令問い合わせに対する回答を、指令回答とし て、上記指令問 、合わせである HTTPリクエストに対する HTTPレスポンスの形式で 、上記通信装置を用いて上記端末装置に対して送信する回答送信部と、 を有することを特徴とする。
[0014] 上記サーバ装置は、更に、
上記端末装置が実行指令を実行した結果を、実行結果として、 HTTPリクエストの 形式で、上記通信装置を用いて上記端末装置から受信する結果受信部を有し、 上記回答送信部は、更に、
上記端末装置に実行させる他の実行指令の有無を、指令回答として、上記実行結 果である HTTPリクエストに対する HTTPレスポンスの形式で、上記通信装置を用い て上記端末装置に対して送信する
ことを特徴とする。
[0015] 上記回答送信部は、
上記端末装置に実行させる実行指令がある場合に、上記実行指令を含む指令回 答を、上記通信装置を用いて上記端末装置に対して送信する
ことを特徴とする。
[0016] 上記サーバ装置は、更に、 上記端末装置に実行させる実行指令を通知する通知装置から、上記実行指令を 受信する通知受信部を有し、
上記回答送信部は、
上記通知受信部が実行指令を通知装置から受信した場合に、実行指令ありを示す 内容の指令回答を、上記通信装置を用いて上記端末装置に対して送信し、 所定の時間待っても、上記通知受信部が実行指令を通知装置力 受信しな力つた 場合に、実行指令なしを示す内容の指令回答を、上記通信装置を用いて上記端末 装置に対して送信する
ことを特徴とする。
[0017] 上記サーバ装置は、更に、
上記端末装置に実行させる実行指令があることを通知する指令装置から、上記実 行指令があることの通知を取得する存在取得部を有し、
上記回答送信部は、
上記存在取得部が、実行指令があることの通知を指令装置力 取得した場合に、 実行指令ありを示す内容の指令回答を、上記通信装置を用いて上記端末装置に対 して送信し、
所定の時間待っても、上記存在取得部が、実行指令があることの通知を指令装置 力も受信しな力つた場合に、実行指令なしを示す内容の指令回答を、上記通信装置 を用 、て上記端末装置に対して送信する
ことを特徴とする。
[0018] 本発明にかかる指令装置は、
ネットワークを介して端末装置と通信する通信装置を有する指令装置において、 上記端末装置に実行させる実行指令の送信を要求する指令送信要求を、 HTTPリ タエストの形式で、上記通信装置を用いて上記端末装置から受信する要求受信部と 上記要求受信部が受信した指令送信要求に対する回答として、上記実行指令を、 上記指令送信要求である HTTPリクエストに対する HTTPレスポンスの形式で、上記 通信装置を用いて上記端末装置に対して送信する指令送信部と、 を有することを特徴とする。
[0019] 上記指令装置は、更に、
上記端末装置が実行指令を実行した結果を、実行結果として、 HTTPリクエストの 形式で、上記通信装置を用いて上記端末装置から受信する結果受信部を有し、 上記指令送信部は、更に、
上記端末装置に実行させる他の実行指令を、上記実行結果である HTTPリクエスト に対する HTTPレスポンスの形式で、上記通信装置を用いて上記端末装置に対して 送信する
ことを特徴とする。
[0020] 上記指令装置は、更に、
上記端末装置に実行させる実行指令を通知する通知装置から、上記実行指令を 受信する通知受信部と、
上記通知受信部が実行指令を受信した場合に、実行指令の有無を上記端末装置 に知らせるサーバ装置に対して、実行指令があることを通知する存在通知部と、 を有することを特徴とする。
発明の効果
[0021] 本発明によれば、例えば、端末装置力 サーバ装置に対する HTTPリクエストに対 する HTTPレスポンスと 、う形式で、サーバ装置力 端末装置に対するアクセスが送 信されるので、途中に介在するファイアウォール等の設定を変更することなぐサーバ 装置力 端末装置へのアクセスが可能になるという効果を奏する。
発明を実施するための最良の形態
[0022] 実施の形態 1.
実施の形態 1を、図 1〜図 8を用いて説明する。
図 1は、この実施の形態における遠隔操作システム 600の全体構成の一例を示す システム構成図である。
遠隔操作システム 600は、端末装置 100、ルータ装置 500 (ゲートウェイ装置)、サ ーバ装置 200、アプリケーション装置 300 (通知装置の一例)を有する。
[0023] ルータ装置 500、サーバ装置 200、アプリケーション装置 300は、インターネット 40 0に接続しており、相互に通信することができる。
端末装置 100は、 LAN450を介してルータ装置 500に接続しており、ルータ装置 5 00を経由することにより、インターネット 400に接続し、インターネットに接続した装置 (例えば、サーバ装置 200)と通信することができる。
[0024] ルータ装置 500は、ファイアウォール機能を有している。
ルータ装置 500は、端末装置 100からインターネット側の装置 (例えば、サーバ装 置 200)に対する通信を許可する。また、それに対する応答として、インターネット側 の装置から端末装置 100への通信も許可する。しかし、端末装置 100からの通信に 対する応答でない通信は、禁止する。
したがって、端末装置 100からサーバ装置 200へのアクセスは可能である力 サー バ装置 200から端末装置 100へのアクセスは許可しない。
[0025] また、ルータ装置 500は、 NAPT機能を有して!/、る。
ルータ装置 500は、 LAN450内でのみ有効な端末装置 100のローカル IPアドレス を、 NAPT機能によって変換し、インターネット側の装置と接続する。
[0026] アプリケーション装置 300は、端末装置 100に実行させたい指令 (実行指令)を入 力する。アプリケーション装置 300は、インターネット 400を介してサーバ装置 200に アクセスし、入力した実行指令を送信する。
サーバ装置 200は、ルータ装置 500を経由して端末装置 100にアクセスし、アプリ ケーシヨン装置 300から受信した実行指令を、端末装置 100に送信する。
端末装置 100は、実行指令を実行し、ルータ装置 500を経由してインターネット 40 0を介し、サーバ装置 200に、実行結果を送信する。
サーバ装置 200は、端末装置 100から実行結果を受信する。
アプリケーション装置 300は、インターネット 400を介してサーバ装置 200にァクセ スし、サーバ装置 200が受信した実行結果を取得する。
[0027] 図 2は、この実施の形態における端末装置 100のハードウェア構成の一例を示す ハードウェア構成図である。
図 3は、この実施の形態におけるサーバ装置 200、アプリケーション装置 300のハ 一ドウエア構成の一例を示すノヽードウエア構成図である。 図 4は、この実施の形態におけるルータ装置 500のハードウェア構成の一例を示す ハードウェア構成図である。
[0028] 端末装置 100、サーバ装置 200、アプリケーション装置 300、ルータ装置 500は、 C PU901 (Central Processing Unit:中央処理装置)、表示装置 902 (例えば、 C RT(Cathod Ray Tube)装置や LCD (Liquid Cristal Display)装置など)、入 力装置 903 (例えば、キーボードなど)、記憶装置 904 (例えば、 ROM (Read Only
Memory)、 RAM (Random Access Memory)などの内部記憶装置や、 HDD (Hard Disk Drive)装置、 SD (Secured Digital)メモリなどの外部記憶装置)、 ネットワークインターフェース装置 905, 906を有する。
[0029] CPU901は、記憶装置 904が記憶したプログラムを実行することにより、以下説明 する各機能ブロックを実現する。
表示装置 902は、 CPU901が実行したプログラムの実行結果等を表示する。 入力装置 903は、 CPU901に対する指令を入力する。
記憶装置 904は、 CPU901が実行するプログラムのほ力 実行結果のデータなど を記憶する。
ネットワークインターフェース装置 905は、インターネット 400に接続し、インターネッ ト 400に接続した他の装置との間の通信を行う。
ネットワークインターフェース装置 906は、 LAN450に接続し、 LAN450に接続し た他の装置との間の通信を行う。
[0030] 端末装置 100は、更に、実行装置 910を有する。
実行装置 910は、アプリケーション装置 300からの実行指令に基づいて、様々な機 能を実際に実行する装置である。
なお、端末装置 100は、物理的に 1つの装置である必要はない。例えば、実行装置 910と、その他の装置とが LAN450や赤外線通信などの独自のネットワークを介して 接続していてもよい。その場合、 LAN450などを介して接続した実行装置 910を含 めたシステム全体が、以下説明する端末装置 100として機能するものであれば、ここ にいう「端末装置」に含まれる。
[0031] 図 5は、この実施の形態における端末装置 100、サーバ装置 200、アプリケーション 装置 300の機能ブロックの構成の一例を示すブロック構成図である。
なお、図 5では、ルータ装置 500、 LAN450、インターネット 400は省略されている
[0032] 端末装置 100は、サーバアクセス部 110、端末制御部 120 (問い合わせ送信部兼 結果送信部の一例)、リプライデータ解析部 130 (回答受信部の一例)、コマンド実行 部 140 (指令実行部の一例)を有する。
[0033] サーバアクセス部 110は、ネットワークインターフェース装置 906を用いて、サーバ 装置 200と通信する。通信のプロトコルには、 HTTPを用いる。
[0034] なお、この実施の形態では、 HTTPを用いることとしている力 通信のプロトコルは、 HTTPに限らず、 HTTPS (Hyper Text Transfer Protocol over Secure S ockets Layer)など通常のゲートウェイ装置、ファイアウォールやプロキシで通過が 許可されて 、るプロトコルであれば、他のプロトコルを用いてもよ!、。
以下の説明において、「HTTPリクエスト」という用語を使った場合には、 HTTP以 外のプロトコルを用いた場合において、 HTTPプロトコルにおける HTTPリクエストに 相当するメッセージを含むものとする。また、「HTTPレスポンス」という用語を使った 場合には、 HTTP以外のプロトコルを用いた場合において、 HTTPプロトコルにおけ る HTTPレスポンスに相当するメッセージを含むものとする。
[0035] 端末制御部 120は、サーバ装置 200に、端末装置 100に対する実行指令があるか 否かを問い合わせる指令問い合わせを生成し、サーバ装置 200に対して、サーバァ クセス部 110に送信させる。また、コマンド実行部 140が実行指令を実行した結果を 取得し、コマンド実行結果として、サーバ装置 200に対して、サーバアクセス部 110 に送信させる。
[0036] リプライデータ解析部 130は、サーバアクセス部 110がサーバ装置 200から受信し たデータ(リプライデータ)を解析する。リプライデータ解析部 130は、リプライデータ に実行指令が含まれている力否かを判断し、含まれている場合は、コマンド実行部 1 40に実行指令を通知する。含まれていない場合は、その旨、端末制御部 120に通 知する。
[0037] コマンド実行部 140は、リプライデータ解析部 130から通知を受けた実行指令を、 実行装置 910を用いて、実行する。
[0038] サーバ装置 200は、端末アクセス受信部 210、サーバ制御部 220 (回答送信部の 一例)、アクセスデータ解析部 230 (問い合わせ受信部兼結果受信部の一例)、アブ リケーシヨンアクセス受信部 240 (通知受信部の一例)を有する。
[0039] 端末アクセス部 210は、ネットワークインターフェース装置 905を用いて、端末装置 100と通信する。通信のプロトコルには、 HTTP (または HTTPSなど)を用いる。
[0040] サーバ制御部 220は、端末装置 100からの指令問い合わせに対する回答 (指令回 答)を生成し、端末装置 100に対して、端末アクセス受信部 210に送信させる。また、 端末装置 100が実行指令を実行した結果 (実行結果)を、アクセスデータ解析部 230 力も取得し、アプリケーション装置 300に対して、アプリケーションアクセス受信部 240 に送信させる。
[0041] アクセスデータ解析部 230は、端末アクセス受信部 210が端末装置 100から受信し たデータ (端末アクセスデータ)や、アプリケーションアクセス受信部 240がアプリケー シヨン装置 300から受信したデータ(アプリケーションアクセスデータ)を解析し、解析 結果をサーバ制御部 220に通知する。
[0042] アプリケーションアクセス受信部 240は、ネットワークインターフェース装置 905を用 いて、アプリケーション装置 300と通信する。アプリケーション装置 300からコマンド( 指令通知)を受信し、アプリケーション装置 300に対して、コマンド実行結果 (実行結 果)を送信する。
[0043] アプリケーション装置 300は、アプリケーションシステム 310、指令入力部 320、結 果表示部 330を有する。
[0044] アプリケーションシステム 310は、ネットワークインターフェース装置 905を用いて、 サーバ装置 200と通信する。
[0045] 指令入力部 320は、入力装置 903を用いて、端末装置 100に対する実行指令を入 力する。入力した実行指令は、アプリケーションシステム 310が、サーバ装置 200に 対して送信する。
[0046] 結果表示部 330は、表示装置 902を用いて、端末装置 100が実行指令を実行した 結果を表示する。表示する実行結果は、アプリケーションシステム 310がサーバ装置 200から受信する。
[0047] 次に、端末装置 100の動作について説明する。
図 6は、この実施の形態における端末装置 100の処理の流れの一例を示すフロー チャート図である。
[0048] S11において、端末制御部 120は、指令問い合わせを生成する。指令問い合わせ は、サーバ装置 200に、端末装置 100に対する実行指令がある力否力を問い合わせ るものである。
[0049] S12において、サーバアクセス部 110は、端末制御部 120が生成した指令問い合 わせをサーバ装置 200に対して送信する。
このとき、通信プロトコルには HTTP (または HTTPSなど)を用いる。例えば、端末 装置 100に対する指令回答を格納したファイル名を指定した「GET」メソッドの形式 で、指令問い合わせを送信する。
[0050] S13において、サーバアクセス部 110は、 S 12で送信した指令問い合わせに対す る回答 (リプライデータ)を受信する。
このときの通信プロトコルも、 HTTP (または HTTPSなど)である。例えば、 S12で 送信した「GET」メソッドに対する HTTPレスポンスとして、指令回答を格納したフアイ ルの内容を転送すると 1ヽぅ形式で、リプライデータを受信する。
[0051] S14において、リプライデータ解析部 130は、リプライデータ(指令回答)にコマンド
(実行指令)があるかどうかを解析する。すなわち、リプライデータを解析し、コマンド が含まれて 、るかどうかを判断する。
[0052] S15において、リプライデータ解析部 130の解析結果に基づいて、処理を分岐する
。リプライデータにコマンドが含まれていない場合には、端末制御部 120により S11 へ戻る。リプライデータにコマンドが含まれている場合には、 S16へ進む。
[0053] S16において、リプライデータ解析部 130が、リプライデータに含まれているコマン ドを、コマンド実行部 140に渡す。コマンド実行部 140は、渡されたコマンドを、実行 装置 910を用いて実行する。
[0054] S 17において、コマンド実行部 140がコマンドを実行した結果を、端末制御部 120 が取得し、コマンド実行結果とする。コマンド実行結果は、サーバアクセス部 110に渡 す。
[0055] S18において、サーバアクセス部 110は、端末制御部 120が取得したコマンド実行 結果を受け取り、そのデータを付加してサーバ装置 200に送信する。
このときの通信プロトコルも、 HTTP (または HTTPSなど)を用いる。例えば、コマン ド実行結果を「GET」メソッドのパラメータとして送信する。あるいは、「POST」メソッド を用いてもよい。
[0056] その後、 S13へ進み、サーバアクセス部 110が、 S18で送信したコマンド実行結果 である「GET」メソッドに対する HTTPレスポンスとして、リプライデータを受信し、以上 の処理を繰り返す。
[0057] このように、コマンド実行結果に対するレスポンスも、指令問い合わせに対するレス ポンスと同等に扱う。これにより、指令問い合わせの送信を 1回省略することができ、 通信のトラフィックを削減できると!、う効果を奏する。
[0058] なお、 S13において、通信障害などにより、リプライデータを受信できな力つた場合 には、 S11に戻り、指令問い合わせを再送するものとする。
[0059] 次に、サーバ装置 200の動作について説明する。
図 7は、この実施の形態におけるサーバ装置 200の処理の流れの一例を示すフロ 一チャート図である。
[0060] S21において、端末アクセス受信部 210は、端末装置 100からの指令問い合わせ(
HTTPリクエスト)を受信する。
[0061] S22において、アプリケーションアクセス受信部 240は、アプリケーション装置 300 力も指令通知を受信した力どうかを判断する。受信した場合には、 S27へ進む。受信 していない場合には、 S23へ進む。
[0062] S23において、サーバ制御部 220は、端末装置 100からの HTTPリクエスト(指令 問い合わせ)を端末アクセス受信部 210が受信してからの経過時間を測定し、所定 の時間が経過したかを判断する。
[0063] S24にお 、て、サーバ制御部 220の判断結果に基づ 、て、処理を分岐する。所定 の時間が経過する前である場合には、 S22へ戻り、アプリケーション装置 300からの アクセスを受けるのを待つ。所定の時間が経過した場合には、 S25へ進む。 [0064] S25において、所定の時間が経過しても、アプリケーション装置 300からのアクセス がない場合には、端末装置 100に実行させるべき実行指令がないと、サーバ制御部 220が判断する。サーバ制御部 220は、実行指令を含まないリプライデータ (指令回 答)を生成する。この実施の形態では、リプライデータに実行指令が含まれない場合 には、端末装置 100が実行すべき実行指令がないことを意味する。
[0065] S26において、端末アクセス受信部 210は、サーバ制御部 220が生成したリプライ データを、端末装置 100に対して送信する。このとき、リプライデータは、端末装置 10 0からの HTTPリクエスト(指令問!ヽ合わせ)に対する応答 (HTTPレスポンス)として、 送信する。
以上の処理が終わったら、 S21に戻り、端末装置 100からの次のアクセスを待つ。
[0066] S27において、アクセスデータ解析部 230は、アプリケーションアクセス受信部 240 が受信したアプリケーションアクセス (指令通知)を解析し、そのなかに含まれる実行 指令を取得する。アクセスデータ解析部 230は、取得した実行指令を、サーバ制御 部 220に渡す。
[0067] S28において、サーバ制御部 220は、アクセスデータ解析部 230から受け取った実 行指令を含むリプライデータを生成する。
[0068] S29において、端末アクセス受信部 210は、サーバ制御部 220が生成したリプライ データを、 HTTPリクエスト(指令問い合わせ)に対する HTTPレスポンスとして、端末 装置 100に送信する。
[0069] S30において、端末アクセス受信部 210は、端末装置 100からのコマンド実行結果
(HTTPリクエスト)を受信する。
[0070] S31において、アクセスデータ解析部 230は、端末アクセス受信部 210が受信した コマンド実行結果を取得し、アプリケーションアクセス受信部 240が、アプリケーション 装置 300に対して送信する。
[0071] 以上の処理が終わったら、 S22に戻り、アプリケーション装置 300からのアクセスを 待つ。
[0072] 次に、遠隔操作システム 600の全体の動作について説明する。
図 8は、この実施の形態において、端末装置 100、サーバ装置 200、アプリケーショ ン装置 300の間でやり取りされるメッセージの一例を示すシーケンス図である。
[0073] 端末装置 100とサーバ装置 200との間でやり取りされるメッセージは、ルータ装置 5 00を通過する。ルータ装置 500はファイアウォール機能を有しており、許可されたメッ セージしか通さない。
[0074] 端末装置 100は、指令問い合わせ 711を HTTPリクエストとして、サーバ装置 200 に送信する(S 12)。
[0075] 端末装置 100のサーバアクセス部 110は、指令問い合わせ 711の送信にあたり、 サーバ装置 200との間の TCP (Transmission Control Protocol)セッションを開 始する。
ルータ装置 500は、この TCPセッションを開始したのが端末装置 100であることを 判別する。ルータ装置 500は、この TCPセッションにおける通信は、端末装置 100か らのアクセス及びそれに対する応答であると判断し、通信を許可する。
[0076] ルータ装置 500は、指令問 、合わせ 711を受信し、サーバ装置 200に転送する。
サーバ装置 200は、指令問い合わせ 711を受信する(S21)。
[0077] サーバ装置 200は、所定の時間待ってもアプリケーション装置 300からのアクセス がないので、端末装置 100に対して、コマンド (実行指令)を含まないリプライデータ 7 21 (指令回答)を送信する(S26)。
リプライデータ 721は、端末装置 100が開始した TCPセッションにおける HTTPレ スポンスとして送信される。
[0078] なお、サーバ装置 200が指令問い合わせ 711を受信してからリプライデータ 721を 送信するまでの待ち時間は、ルータ装置 500等が無通信状態と判断し、 TCPセッシ ヨンを終了してしまうことを防ぐため、無通信状態と判断する時間よりも短い時間となる ように設定する。
[0079] ルータ装置 500は、リプライデータ 721を受信し、この TCPセッションを開始したの が端末装置 100であるから、リプライデータ 721を端末装置 100に転送する。
[0080] なお、この例では、ルータ装置 500のファイアウォール機能は、 TCPセッションを開 始した装置に基づいて、通信を転送するか否かを判断している力 ルータ装置 500 が更に通信の内容を調べて、転送するカゝ否かを判断するファイアウォールもある。 その場合であっても、サーバ装置 200から端末装置 100へのリプライデータ 721は 、端末装置 100が送信した HTTPリクエストに対する HTTPレスポンスの形式を取つ ているので、通常のホームページに対するアクセスにおける通信とまったく同じである 。通常の設定であれば、ホームページの閲覧は許可する設定となっているはずであ るから、ルータ装置 500は、リプライデータ 721の送信を禁止せず、端末装置 100に 対して転送する。
[0081] 端末装置 100は、リプライデータ 721を受信する(S13)。リプライデータ 721はコマ ンドを含んでいないので、端末装置 100は、すぐに、次の指令問い合わせ 712を HT TPリクエストとして、サーバ装置 200に対して送信する(S12)。
このとき、指令問 、合わせ 711送信時に開始した TCPセッションを維持しておき、 同じセッションで、指令問 、合わせ 712を送信する。
[0082] ルータ装置 500は、指令問い合わせ 712を受信し、この通信を許可して、サーバ装 置 200に転送する。
[0083] サーバ装置 200は、指令問い合わせ 712を受信する(S21)。
[0084] 一方、アプリケーション装置 300は、指令入力部 320がコマンド (実行指令)を入力 装置 903を用いて入力する。入力したコマンドを、アプリケーションシステム 310が、 アプリケーションアクセス 731 (指令通知)として、サーバ装置 200に対して送信する。
[0085] サーバ装置 200は、アプリケーションアクセス 731を受信する(S22)。この受信は、 指令問い合わせ 712の受信力も所定時間の経過前なので、サーバ装置 200は、す ぐに、リプライデータ 722 (コマンドあり)を、端末装置 100に対して、 HTTPレスポンス として送信する(S 29)。
[0086] なお、所定時間経過後に、サーバ装置 200がアプリケーションアクセスを受信した 場合には、次の指令問い合わせを端末装置 100から受信するのを待ち、すぐに、そ れに対するリプライデータを送信するものとする。
[0087] リプライデータ 722は、アプリケーションアクセス 731に含まれていたコマンドを含ん でいる。
[0088] ルータ装置 500は、リプライデータ 722を受信し、この通信を許可して、端末装置 1 00に転送する。 [0089] 端末装置 100は、リプライデータ 722を受信する(S13)。リプライデータ 722は、コ マンドを含んでいるので、端末装置 100は、そのコマンドを実行する(S16)。
[0090] 端末装置 100は、コマンド実行の結果を、サーバ装置 200に対して、コマンド実行 結果 793として、 HTTPリクエストの形式で送信する(S 18)。
[0091] なお、コマンドの実行に時間が力かる場合には、 TCPセッションの終了を防ぐため、 コマンド実行が終わるのを待たず、指令問 、合わせを送信することとしてもよ 、。
[0092] ルータ装置 500は、コマンド実行結果 793を受信し、この通信を許可して、サーバ 装置 200に転送する。
[0093] サーバ装置 200は、コマンド実行結果 793を受信する(S30)。サーバ装置 200は、 受信したコマンド実行結果を、アプリケーションリプライ 741として、アプリケーション装 置 300に対して送信する(S31)。
[0094] アプリケーション装置 300は、アプリケーションリプライ 741を受信する。アプリケー シヨン装置 300の結果表示部 330は、アプリケーションリプライ 741に含まれるコマン ド実行結果を、表示装置 902を用いて表示する。
[0095] サーバ装置 200は、コマンド実行結果 793受信力も所定時間経過するまで待ち、 アプリケーション装置 300からのアクセスがな!/、ので、コマンドを含まな!/、リプライデー タ 723を、端末装置 100に対して、 HTTPレスポンスとして送信する。
[0096] このように、端末装置 100とサーバ装置 200との間の通信はすべて、端末装置 100 力もサーバ装置 200への HTTP (ある!/、は HTTPSなど)アクセス(リクエスト)および そのリプライ(レスポンス)で実現する。
これにより、端末装置 100とサーバ装置 200との間に介在する装置 (例えば、ルー タ装置 500)の設定(例えば、ファイアウォールや、 NAPT、 Web (ウェブ)プロキシな ど)に関わらず、通信が可能であるという効果を奏する。
[0097] したがって、この通信をするために、ファイアウォール等の設定を変更する必要がな ぐ面倒な作業が必要ないだけでなぐセキュリティを高く保つことができるという効果 を奏する。
[0098] この通信により、サーバ装置 200から端末装置 100に対して、制御コマンドを渡すこ とができるので、サーバ装置 200から端末装置 100を制御することが可能となる。 [0099] また、端末装置 100が、指令回答を受信してから、次の指令問い合わせを送信する までの時間が十分短ければ、サーバ装置 200と常時接続しているのとほぼ同じであ る。したがって、端末装置 100に対する制御の時間遅延はほとんどなぐ即時の制御 が可能である。
[0100] このように、端末装置 100からサーバ装置 200に対して HTTPあるいは HTTPSァ クセスし、一定期間の間接続した状態にしておき、一旦リプライを返す。その後、すぐ に端末装置 100からサーバ装置 200に対して再びアクセスする。これにより、常時接 続しているのと同じ効果をもたらしている。本当に常時接続した場合には、途中のル ータ装置 500等が無通信状態と判断して自動的に TCPセッションを切断する場合が あるが、この実施の形態では、そのような事態は発生しない。また、無通信状態による 自動的セッション切断を防ぐために、定期的な通信 (KeepAlive:キープアライブ)を 行う必要もない。
[0101] また、端末装置 100とサーバ装置 200との間の通信を、 TCPにより行うので、 UDP を用いる場合と比較して、安全、確実となり、信頼性が高まるという効果を奏する。
[0102] UDPを用いる場合と異なり、通信エラー処理などの複雑な処理をする必要がない ので、アプリケーションレベルでの処理が簡略化できる。
[0103] TCPセッション確立には、ネゴシエーションが必要なので、 UDPによる通信よりも、 負荷が高ぐリソースを消費する。
しかし、この実施の形態では、 TCPセッションの確立動作は、最初に一度だけ行え ばよぐその後の通信は、最初に確立した TCPセッションにより行う。したがって、 TC Pを用いることにより生じるリソースの消費を最小限に抑えることができるという効果を 奏する。
[0104] 実施の形態 2.
実施の形態 2を、図 9〜図 12を用いて説明する。
この実施の形態における遠隔操作システム 600の全体構成、端末装置 100、サー バ装置 200、アプリケーション装置 300 (通知装置の一例)、ルータ装置 500のハード ウェア構成は、実施の形態 1で説明したものと同様なので、ここでは説明を省略する。
[0105] 図 9は、この実施の形態における端末装置 100、サーバ装置 200、アプリケーション 装置 300の機能ブロックの構成の一例を示すブロック構成図である。
[0106] 端末装置 100は、サーバアクセス事前部 115、端末制御部 120 (問い合わせ送信 部の一例)、要求データ解析部 135 (回答受信部の一例)、サーバ通信部 116 (要求 送信部兼指令受信部兼結果送信部の一例)、コマンド実行部 140 (指令実行部の一 例)を有する。
このうち、コマンド実行部 140は、実施の形態 1で説明したものと同様なので、ここで は説明を省略する。
[0107] サーバアクセス事前部 115は、ネットワークインターフェース装置 906を用いて、サ ーバ装置 200の端末アクセス事前部 215と通信する。通信のプロトコルには、 HTTP
(または HTTPSなど)を用いる。
[0108] 端末制御部 120は、サーバ装置 200に、端末装置 100に対する実行指令があるか 否かを問!、合わせる指令問!、合わせを生成し、サーバ装置 200の端末アクセス事前 部 215に対して、サーバアクセス事前部 115に送信させる。
[0109] 要求データ解析部 135は、サーバアクセス事前部 115がサーバ装置 200の端末ァ クセス事前部 215から受信したデータ(要求データ)を解析する。要求データ解析部
135は、要求データに、接続要求が含まれているか否かを判断し、含まれている場合 には、サーバ通信部 116に接続要求を通知する。含まれていない場合は、その旨、 端末制御部 120に通知する。
[0110] サーバ通信部 116は、ネットワークインターフェース装置 906を用いて、サーバ装置
200の端末通信部 216と通信する。通信のプロトコルには、 HTTP (または HTTPS など)を用いる。
サーバ通信部 116は、要求データ解析部 135から接続要求の通知を受けた場合 に、サーバ装置 200の端末通信部 216に対して、指令送信要求を送信する。
サーバ通信部 116は、更に、サーバ装置 200の端末通信部 216が、指令送信要求 に対する応答として送信したコマンド (実行指令)を受信する。
サーバ通信部 116は、受信したコマンドをコマンド実行部 140に通知する。 サーバ通信部 116は、コマンド実行部 140が、通知したコマンドを実行した結果を 取得し、コマンド実行結果 (実行結果)として、サーバ装置 200の端末通信部 216に 対して送信する。
[0111] サーバ装置 200は、端末アクセス事前部 215 (問い合わせ受信部の一例)、サーバ 制御部 220 (存在取得部兼回答送信部の一例)、端末通信部 216 (要求受信部兼指 令送信部兼結果受信部の一例)、アプリケーションアクセス受信部 240 (通知受信部 兼存在通知部の一例)を有する。
[0112] 端末アクセス事前部 215は、ネットワークインターフェース装置 905を用いて、端末 装置 100のサーバアクセス事前部 115と通信する。通信のプロトコルには、 HTTP ( または HTTPSなど)を用いる。
[0113] サーバ制御部 220は、端末装置 100からの指令問い合わせに対する回答 (指令回 答)を生成し、端末装置 100のサーバアクセス事前部 115に対して、端末アクセス事 前部 215に送信させる。
[0114] 端末通信部 216は、ネットワークインターフェース装置 905を用いて、端末装置 100 のサーバ通信部 116と通信する。通信のプロトコルには、 HTTP (または HTTPSな ど)を用いる。
端末通信部 216は、端末装置 100のサーバ通信部 116が送信した指令送信要求 を受信する。
端末通信部 216は、指令送信要求を受信した場合に、端末装置 100のサーバ通 信部 116に対して、コマンド (実行指令)を送信する。
端末通信部 216は、端末装置 100がコマンドを実行した結果を、コマンド実行結果 (実行結果)として、端末装置 100のサーバ通信部 116から受信する。
[0115] アプリケーションアクセス受信部 240は、ネットワークインターフェース装置 905を用 いて、アプリケーション装置 300と通信する。アプリケーション装置 300からコマンド( 指令通知)を受信し、アプリケーション装置 300に対して、コマンド実行結果 (実行結 果)を送信する。
[0116] アプリケーション装置 300は、実施の形態 1で説明したものと同様なので、ここでは 説明を省略する。
[0117] 次に、端末装置 100の動作について説明する。
図 10は、この実施の形態における端末装置 100の処理の流れの一例を示すフロ 一チャート図である。
[0118] S41において、端末制御部 120は、指令問い合わせを生成する。
[0119] S42において、サーバアクセス事前部 115は、端末制御部 120が生成した指令問 い合わせをサーバ装置 200の端末アクセス事前部 215に対して送信する。このとき、 通信プロトコルは HTTP (または HTTPSなど)を用い、 HTTPリクエスト(例えば、「G ET」メソッド)として送信する。
[0120] S43において、サーバアクセス事前部 115は、 S42で送信した指令問い合わせに 対する回答(要求データ)を受信する。このときの通信プロトコルも HTTPであり、例え ば、 S 12で送信した「GET」メソッドに対する HTTPレスポンスとして、要求データを 受信する。
[0121] S44において、要求データ解析部 135が、要求データ (指令回答)に接続要求があ るかどうかを解析する。接続要求がある場合には、端末装置 100が実行すべきコマン ド (実行指令)が、サーバ装置 200にあることを意味している。
[0122] S45において、要求データ解析部 135の解析結果に基づいて、処理を分岐する。
要求データに接続要求が含まれていない場合には、 S41に戻り、次の指令問い合 わせを送信する。
要求データに接続要求が含まれて ヽる場合には、 S46へ進む。
[0123] S46において、サーバ通信部 116は、要求データ解析部 135からの通知を受けて 、サーバ装置 200にあるコマンドの送信を要求する指令送信要求を生成し、サーバ 装置 200の端末通信部 216に対して、 HTTPリクエスト (例えば、「GET」メソッド)とし て送信する。
[0124] S47において、サーバ通信部 116は、 S46で送信した指令送信要求に対する回答 として、コマンド (実行指令)を受信する。例えば、 S46で送信した「GET」メソッドに対 する HTTPレスポンスとして、受信する。
[0125] S48において、コマンド実行部 140は、サーバ通信部 116からコマンドを受け取り、 受け取ったコマンドを実行する。
[0126] S49において、コマンド実行部 140がコマンドを実行した結果を、サーバ通信部 11
6が取得し、コマンド実行結果とする。サーバ通信部 116は、取得したコマンド実行結 果を、サーバ装置 200の端末通信部 216に対して、 HTTPリクエストとして送信する。
[0127] S50において、サーバ通信部 116が、 S49で送信した HTTPリクエストに対する H
TTPレスポンスを、所定時間内に受信したかを判断する。
所定時間内に HTTPレスポンスを受信した場合には、そのなかに次のコマンドが含 まれているので、 S47に戻り、次のコマンドを処理する。
所定時間内に HTTPレスポンスを受信しなカゝつた場合には、続けて実行すべきコ マンドはないので、 S41に戻る。
[0128] なお、所定時間経過前に、コマンド終了を意味する HTTPレスポンスを受信し、サ ーバ通信部 116がそのことを判別して、 S41に戻ることとしてもよ 、。
[0129] 次に、サーバ装置 200の動作について説明する。
図 11は、この実施の形態におけるサーバ装置 200 (端末アクセス事前部 215 ·サー バ制御部 220)の処理の流れの一例を示すフローチャート図である。
[0130] S61において、端末アクセス事前部 215は、端末装置 100からの指令問い合わせ (
HTTPリクエスト)を受信する。
[0131] S62において、サーバ制御部 220は、アプリケーションアクセス受信部 240から、端 末装置 100に実行させるべきコマンドがあると 、う通知(存在通知)を受けたか否かを 判断する。存在通知を受けた場合には、 S67へ進む。存在通知を受けていない場合 に ίま、 S63へ進む。
[0132] S67において、サーバ制御部 220は、端末装置 100に対して、端末通信部 216へ のアクセスを要求する接続要求を含む要求データを生成する。その後、 S66へ進む
[0133] S63において、サーバ制御部 220は、端末装置 100からの HTTPリクエスト(指令 問い合わせ)を端末アクセス事前部 215が受信してからの経過時間を測定し、所定 の時間が経過したかを判断する。
[0134] S64において、サーバ制御部 220の判断結果に基づいて、処理を分岐する。所定 の時間が経過する前である場合には、 S62へ戻り、アプリケーションアクセス受信部 2 40からの通知を受けるのを待つ。所定の時間が経過した場合には、 S65へ進む。
[0135] S65において、サーバ制御部 220は、端末装置 100に対して、端末通信部 216へ のアクセスを要求する接続要求を含まな 、 (すなわち、アクセスを要求しな 、)要求デ ータを生成する。
[0136] S66において、端末アクセス事前部 215は、 S65または S67でサーバ制御部 220 が生成した要求データを、端末装置 100のサーバアクセス事前部 115に対して、 HT TPレスポンスとして送信する。以上の処理が終わったら、 S61へ戻り、次の指令問い 合わせを待つ。
[0137] 図 12は、この実施の形態におけるサーバ装置 200 (端末通信部 216 ·アプリケーシ ヨンアクセス受信部 240)の処理の流れの一例を示すフローチャート図である。
[0138] S71において、アプリケーションアクセス受信部 240は、アプリケーション装置 300 から、端末装置 100が実行すべきコマンド (実行指令)を含む指令通知を受信する。
[0139] S72において、アプリケーションアクセス受信部 240は、端末装置 100が実行すベ きコマンドがあることを、サーバ制御部 220に通知する(存在通知)。
[0140] S73において、端末通信部 216は、端末装置 100のサーバ通信部 116からの指令 送信要求 (HTTPリクエスト)を受信する。
[0141] S74において、アプリケーションアクセス受信部 240は、受信した指令通知に含ま れるコマンドを取得する。
[0142] S75において、端末通信部 216は、アプリケーションアクセス受信部 240が取得し たコマンドを、端末装置 100のサーバ通信部 116に対して、 HTTPレスポンスとして 送信する。
[0143] S76において、端末通信部 216は、送信したコマンドを端末装置 100が実行した結 果を、コマンド実行結果として、端末装置 100のサーバ通信部 116から受信する。
[0144] S77において、アプリケーションアクセス受信部 240は、端末通信部 216が受信し たコマンド実行結果を、アプリケーション装置 300に対して送信する。
[0145] S78において、アプリケーションアクセス受信部 240は、アプリケーション装置 300 力 の指令通知を受信したか否かを判断する。受信した場合には、 S74へ進み、受 信したコマンドを端末装置 100に送信する。受信しな力つた場合には、 S79へ進む。
[0146] S79において、アプリケーションアクセス受信部 240は、端末通信部 216が HTTP リクエスト(コマンド実行結果)を受信してからの経過時間を測定し、所定の時間が経 過したかを判断する。
[0147] S80において、アプリケーションアクセス受信部 240の判断結果に基づいて、処理 を分岐する。所定の時間が経過する前である場合には、 S78へ戻り、アプリケーショ ン装置 300からのアクセスを受けるのを待つ。所定の時間が経過した場合には、 S71 に戻り、アプリケーション装置 300からのアクセスを受けるのを待つ。
[0148] 端末装置 100とサーバ装置 200との間の通信は、サーバアクセス事前部 115と端 末アクセス事前部 215との間の通信と、サーバ通信部 116と端末通信部 216との間 の通信との 2種類がある。 2種類の通信は、どちらも HTTPプロトコル(または HTTPS など)を用いる。
[0149] サーバアクセス事前部 115と端末アクセス事前部 215との間の通信は、通信開始 時に TCPセッションを確立し、その後、定期的に指令問い合わせ.指令回答をやり取 りすることにより、セッションを維持する。
[0150] 一方、サーバ通信部 116と端末通信部 216との間の通信は、頻度が低いので、 TC Pセッション確立後、タイムアウトによって切断した場合には、必要となったときに、再 接続する。あるいは、コマンド終了時に、明示的に切断してもよい。また、 TCPセッシ ヨン切断を指令するコマンドにより、切断することとしてもよい。
[0151] このように、端末装置 100とサーバ装置 200との間の通信を、サーバアクセス事前 部 115と端末アクセス事前部 215との間の通信と、サーバ通信部 116と端末通信部 2 16との間の通信とに分けて行う。例えば、端末アクセス事前部 215が使用するポート 番号と端末通信部 216が使用するポート番号とを異なるポート番号とすることにより、 両者の通信を区別する。あるいは、 2つの IPアドレスを使い分けることにより、両者の 通信を区別してもよい。
[0152] 端末アクセス事前部 215は、指令問い合わせ '指令応答を担当する。指令問い合 わせ'指令応答は、端末装置 100が実行すべきコマンドがない場合でも、定常的に やり取りされるものなので、 1回あたりの処理は軽いが、数が多い。特に、 1つのサー バ装置 200が受け持つ端末装置 100が多数ある場合には、指令問い合わせ ·指令 応答の数は、膨大となる。
[0153] 一方、端末通信部 216は、指令送信要求 ·実行指令 ·実行結果を担当する。指令 送信要求'実行指令 ·実行結果は、端末装置 100が実行すべき実行指令がある場合 にのみ、やり取りされるものなので、数は少ないが、 1回あたりの処理が重い。
[0154] この 2種類の通信を区別することにより、サーバ装置 200が受信するメッセージの大 多数を占める指令問 、合わせを受信した際に、それが指令問!、合わせであることを 判別する処理を省くことができる。これにより削減できる負荷はわずかであるが、指令 問い合わせの数が膨大なので、全体として大幅な負荷の削減ができるという効果を 奏する。
[0155] 実施の形態 3.
実施の形態 3を、図 13〜図 15を用いて説明する。
図 13は、この実施の形態における遠隔操作システム 600の全体構成の一例を示す システム構成図である。
遠隔操作システム 600は、端末装置 100、ルータ装置 500、サーバ装置 200、指令 装置 250、アプリケーション装置 300 (通知装置の一例)を有する。
[0156] 端末装置 100、ルータ装置 500、サーバ装置 200、アプリケーション装置 300のハ 一ドウエア構成は、実施の形態 1で説明したものと同様であるので、ここでは説明を省 略する。
指令装置 250のハードウェア構成は、サーバ装置 200と同様である。
[0157] 図 14は、この実施の形態における端末装置 100、サーバ装置 200、指令装置 250 、アプリケーション装置 300の機能ブロックの構成の一例を示すブロック構成図である 端末装置 100、アプリケーション装置 300は、実施の形態 2で説明したものと同様で あるので、ここでは説明を省略する。
[0158] サーバ装置 200は、端末アクセス事前部 215、サーバ制御部 220を有する。
指令装置 250は、端末通信部 216、アプリケーションアクセス受信部 240を有する。 端末アクセス事前部 215、サーバ制御部 220、端末通信部 216、アプリケーション アクセス受信部 240は、実施の形態 2で説明したサーバ装置 200の機能ブロックと同 様なので、ここでは説明を省略する。
[0159] この実施の形態は、実施の形態 2のサーバ装置 200を、 2つの装置(サーバ装置 2 00、指令装置 250)に分けたものである。
[0160] 図 15は、この実施の形態において、端末装置 100、サーバ装置 200、指令装置 25 0、アプリケーション装置 300の間でやり取りするメッセージの一例を示すシーケンス 図である。
[0161] 端末装置 100は、指令問い合わせ 711を、サーバ装置 200に送信する(S42)。
サーバ装置 200は、指令問 、合わせ 711を受信する(S61)。
[0162] 一方、アプリケーション装置 300は、指令入力部 320がコマンド (実行指令)を入力 装置 903を用いて入力する。入力したコマンドを、アプリケーションシステム 310が、 アプリケーションアクセス 731 (指令通知)として、指令装置 250に対して送信する。
[0163] 指令装置 250は、アプリケーションアクセス 731を受信する(S71)。
指令装置 250は、端末装置 100が実行すべきコマンドがあることを知らせる存在通 知 771を、サーバ装置 200に対して送信する(S72)。
[0164] サーバ装置 200は、存在通知 771を受信する(S62)。指令問い合わせ 711受信か ら所定時間経過前に受信したので、サーバ装置 200は、要求データ 751 (コマンドあ り)を、端末装置 100に対して送信する(S66)。
[0165] なお、指令装置 250が複数ある場合には、要求データ 751に、端末装置 100が実 行すべきコマンドを有する指令装置 250を示す情報 (例えば、 IPアドレス)を含めるこ とにより、端末装置 100がどの指令装置 250にアクセスすべきかを指定することとして ちょい。
[0166] 端末装置 100は、要求データ 751 (指令回答)を受信する(S43)。
端末装置 100は、要求データ 751を解析し、コマンドありなので、指令送信要求 76 1を、指令装置 250に対して送信する(S46)。
[0167] 指令装置 250は、指令送信要求 761を受信する(S73)。
指令装置 250は、コマンド 781 (実行指令)を、端末装置 100に対して送信する(S7 5)。
[0168] 端末装置 100は、コマンド 781を受信する(S47)。
端末装置 100は、コマンド 781を実行する(S48)。
端末装置 100は、コマンド 781を実行した結果を、コマンド実行結果 792 (実行結 果)として、指令装置 250に対して送信する(S50)。
[0169] 指令装置 250は、コマンド実行結果 792を受信する(S76)。
指令装置 250は、受信したコマンド実行結果 792を、アプリケーションリプライ 741と して、アプリケーション装置 300に対して送信する。
[0170] アプリケーション装置 300は、アプリケーションリプライ 741を受信する。受信したァ プリケーシヨンリプライ 741からコマンド実行結果を取得し、結果表示部 330が、表示 装置 902を用いて表示する。
[0171] ここで、アプリケーション装置 300では、実行結果を見た利用者が、次のコマンドを 入力したものとする。
[0172] 指令入力部 320がコマンドを入力し、アプリケーションシステム 310力 アプリケーシ ヨンアクセス 732 (指令通知)として、指令装置 250に対して送信する。
[0173] 指令装置 250は、アプリケーションアクセス 732を受信する(S78)。コマンド実行結 果 792受信力も所定時間経過前に受信したので、指令装置 250は、コマンド実行結 果 792 (HTTPリクエスト)に対する HTTPレスポンスとして、コマンド 782を、端末装 置 100に対して送信する(S75)。
[0174] 端末装置 100とサーバ装置 200との間の通信、あるいは、端末装置 100と指令装 置 250との間の通信は、すべて端末装置 100からの HTTPリクエストから始まる HTT pプロトコルによって行われる。したがって、途中に介在するルータ装置 500等のファ ィァウォール、 NAPT、 Webプロキシなどにかかわらず、通信が可能である。
[0175] この実施の形態では、サーバ装置 200は、端末装置 100が実行すべき実行指令が あるか否かを回答する動作に特化する。指令問い合わせ ·指令回答は、端末装置 10 0が実行すべき実行指令がない場合でも、定常的にやり取りされるものなので、 1回あ たりの処理は軽いが、数が多い。特に、 1つのサーバ装置 200が受け持つ端末装置 100が多数ある場合には、指令問い合わせ ·指令応答の数は、膨大となる。
[0176] しかし、単位時間あたりの指令問い合わせ ·指令応答の数は、指令問い合わせを受 信してから指令応答を送信するまでの待ち時間と、サーバ装置 200が受け持つ端末 装置 100の数とによって定まる一定数である。したがって、指令問い合わせ.指令応 答の処理に必要な処理能力は、一定の定常負荷である。 [0177] したがって、サーバ装置 200の処理能力に、トラフィックの輻輳を考慮した余力を持 たせる必要がない。これにより、遠隔操作システム 600全体の運用コストを削減できる という効果を奏する。
[0178] 一方、指令装置 250は、指令送信要求'実行指令'実行結果の送受信に特化する 。これらの通信は、端末装置 100が実行すべき実行指令がある場合にのみ発生する ので、数としては少ない。
しかし、アプリケーション装置力 指令装置を経由して端末装置に実際に接続して コマンド送付などを実施するので、コマンド送付処理の負荷等により、 1回あたりの処 理は非常に重い。
また、いつ発生するか予測できないので、トラフィックの輻輳を考慮して、処理能力 に余力を持たせる必要がある。
[0179] サーバ装置 200と指令装置 250とを分けることにより、負荷が分散するだけでなぐ トラフィックの輻輳により、指令装置 250が過負荷となった場合でも、サーバ装置 200 には影響が出ないので、実行すべき実行指令がない端末装置 100の動作には影響 しないという効果を奏する。
[0180] また、サーバ装置 200が端末装置 100に送信する指令回答が、指令装置 250を示 す情報 (IPアドレスなど)を含む接続要求となって 、るので、複数の指令装置 250を 用意しておけば、端末装置 100が接続する先を、負荷が軽い指令装置 250に振り分 けることができる(なお、その場合は、アプリケーション装置 300側も、リダイレクション 等の処理が必要となる)。
[0181] これにより、負荷を分散し、特定の指令装置 250へ負荷が集中することを防ぐことが できるので、指令装置 250に持たせる処理能力の余力は、少なくてすむ。したがって 、遠隔操作システム 600全体の運用コストを削減できると 、う効果を奏する。
[0182] このように、接続要求の処理を行うサーバ装置 200と、実際のデータ通信を行う指 令装置 250とを分けることにより、サーバ装置 200は、端末装置 100のサポート台数 に応じた負荷設計をすればよい。また、指令装置 250は、同時に操作する端末装置 100の台数に応じた負荷設計が可能である。一般的にサポート台数に比べ、操作台 数は極めて少ないため、実施の形態 1におけるサーバ装置 200の処理能力よりも、こ の実施の形態のサーバ装置 200の処理能力と指令装置 250の処理能力の合計のほ う力 より少ない処理能力で、同レベルのサービスが可能な遠隔操作システム 600を 構築することができる。
[0183] 端末装置 100とアプリケーション装置 300との間の通信セッションの確立を準備す るプロセスでは、端末装置 100からサーバ装置 200への HTTPポーリングを実施す る。
端末装置 100とアプリケーション装置 300との間の通信セッションを維持管理する プロセスでは、アプリケーション装置 300から、サーバ装置を経由して、端末装置へ の HTTPリクエストの送受信を処理する。このとき、セッション維持管理プロセスは、一 種のプロキシの働きをする。
このように、セッション確立準備プロセスと、セッション維持管理プロセスとを、 1 :Nで 処理することにより、多数の通信セッションを維持管理した場合であっても、少ないリ ソースで処理ができる。
[0184] 以上説明した端末装置、サーバ装置、指令装置、遠隔操作システムは、以下の特 徴をもつ。
[0185] 端末装置は、
(a)サーバに対して、端末制御部より得た 0個以上のデータを付加して HTTPあるい は HTTPSアクセスし、そのリプライを受信し、そのデータをリプライデータ解析部に 渡すサーバアクセス部、
(b)サーバアクセス部力も渡されたリプライのデータを解析し、データ内容がコマンド であればコマンド実行部にわたし、コマンドがなければ、なにも処理せずに、端末制 御部に制御を渡すリプライデータ解析部、
(c)リプライデータ解析部力も受けたコマンドを実行し、そのコマンド実行結果を端末 制御部に渡すコマンド実行部、
(d)コマンド実行部力も渡されたコマンド実行結果データがあれば、そのデータをサ ーバアクセス部の付加データとして渡し、リプライデータ解析部力も制御を受ければ、 サーバアクセス部へは付加データを渡さずに制御を渡すことを繰り返し実行する端 末制御部、を有することを特徴とする。 [0186] サーバ装置は、
(a)端末装置力も 0個以上のデータが付加された HTTPある 、は HTTPSアクセスを 受けてアクセスデータ解析部に渡し、また、そのリプライとして、サーバ制御部から得 たデータを返す端末アクセス受信部、
(b)他のアプリケーションシステムから、端末装置を操作するコマンドデータが付加さ れたアクセスを受け、その受けた情報をアクセスデータ解析部に渡し、また、サーバ 制御部から受けたデータを前述のリプライとしてアプリケーションシステムに返すアブ リケーシヨンアクセス受信部、
(c)端末アクセス受信部からアクセスを受けた後、一定時間以内にアプリケーション 受信部からのアクセスがある場合は、そのアクセスで得た情報をサーバ制御部に渡し 、一定時間以内にアプリケーション受信部力 のアクセスがない場合には、何も処理 せずに制御をサーバ制御部に渡すアクセスデータ解析部、
(d)アクセスデータ解析部力 0個以上のコマンドデータを受けて端末アクセス受信 部にデータを渡し、アクセスデータ解析部力も得たコマンド実行結果をアプリケーショ ンシステムに返すことを繰り返すサーバ制御部、
を有することを特徴とする。
[0187] セッション管理装置 (遠隔操作システム)は、上記端末装置と上記サーバ装置とを 備えることを特徴とする。
[0188] 端末装置は、
(a)端末制御部による指示に従い、サーバに対して、 HTTPあるいは HTTPSァクセ スし、そのリプライを受信し、そのデータをリプライデータ解析手段に渡すサーバァク セス事前部、
(b)サーバアクセス事前部力も渡されたリプライのデータを解析し、データ内容が接 続要求の場合、サーバ通信部に通知し、接続要求でなければ、端末制御部にその 旨を通知する、要求データ解析部、
(c)要求データ解析部からの通知を受けて、サーバにアクセスして、コマンドを受け、 その受けたコマンドをコマンド実行部に渡し、また、その受けたコマンドの実行結果を 、サーバにアクセスして渡すサーバ通信部、 (d)サーバ通信部力 受けたコマンドを実行し、そのコマンド実行結果をサーバ通信 部に渡すコマンド実行部、
(e)要求データ解析部から、接続要求が無い旨の情報を得て、サーバアクセス事前 部の実行を繰り返し実行する端末制御部、
を有することを特徴とする。
[0189] サーバ装置は、
(a)端末装置力 HTTPあるいは HTTPSアクセスを受け、サーバ制御部からの接続 要求があればそのリプライとして接続要求のデータをのせ、なければ、なにもデータ を載せずにリプライとして返す端末アクセス事前部、
(b)他のアプリケーションシステムから、端末装置を操作するコマンドデータが付加さ れたアクセスを受け、それを接続情報としてサーバ制御部にわたし、またその受けた 情報を端末通信部に渡し、また、端末通信部から受けたデータを前述のリプライとし てアプリケーションシステムに返すアプリケーションアクセス受信部、
(c)端末力もアクセスを受け、そのアクセスにデータがあれば、それをアプリケーショ ンアクセス受信部に渡し、また、そのリプライにアプリケーションアクセス受信部力も得 たデータを渡す端末通信部、
(d)アプリケーションアクセス受信部からの接続要求を受け、端末アクセス事前部に 渡すサーバ制御部、
を有することを特徴とする。
[0190] セッション管理装置 (遠隔操作システム)は、上記端末装置と上記サーバ装置とを 備えることを特徴とする。
[0191] サーバ装置は、
(a)端末装置力 HTTPあるいは HTTPSアクセスを受け、サーバ制御部からの接続 要求があればそのリプライとして接続要求のデータをのせ、なければ、なにもデータ を載せずにリプライとして返す端末アクセス事前部、
(b)他のアプリケーションシステムから、端末装置を操作するコマンドデータが付加さ れたアクセスを受け、それを接続情報としてサーバ制御部にわたし、またその受けた 情報を端末通信部に渡し、また、端末通信部から受けたデータを前述のリプライとし てアプリケーションシステムに返すアプリケーションアクセス受信部、 を有することを特徴とする。
[0192] 上記サーバ装置と異なるサーバ装置 (指令装置)は、
(c)端末力もアクセスを受け、そのアクセスにデータがあれば、それをアプリケーショ ンアクセス受信部に渡し、また、そのリプライにアプリケーションアクセス受信部力も得 たデータを渡す端末通信部、
(d)アプリケーションアクセス受信部からの接続要求を受け、端末アクセス事前部に 渡すサーバ制御部、
を有することを特徴とする。
[0193] セッション管理装置 (遠隔操作システム)は、上記端末装置と、上記サーバ装置と、 上記サーバ装置と異なるサーバ装置 (指令装置)とを備えることを特徴とする。
[0194] 端末装置は、
ネットワーク障害などで端末装置とサーバ装置との間の接続が切れた場合にも、再 度サーバアクセス部により、再接続を行うことを特徴とする。
[0195] これにより、 Webアクセスが可能な環境であれば、既に設定されているセキュリティ を保持し、ルータの設定などの変更も不要でインターネット側のサーバ装置力も LA
N側の端末装置への即時のアクセスが可能となる。
[0196] なお、実行装置は、端末装置に内在している必要はなぐ端末装置力 LANや独 自のネットワーク等で接続した形式でもよ!/、。
例えば、冷熱機器システムにおいては、実行装置としての冷熱機器 (例えば、エア コンの室内機や室外機)と、それらを統合的に管理制御する冷熱機器コントローラ( 端末制御装置)とが、別々の装置として存在する場合がある。
この場合、冷熱機器コントローラ (端末制御装置)は独自のネットワークで各冷熱機 器 (実行装置)と接続し、冷熱機器コントローラ (端末制御装置)は、 LAN等にてルー タ装置を経由してインターネット上のサーバ装置に接続する。
[0197] この例において、冷熱機器 (実行装置)と冷熱機器コントローラ (端末制御装置)とを 含めた冷熱機器システム全体が、この明細書における「端末装置」に該当する。 また、実行装置を内在しない 1つの端末制御装置に複数の実行装置が接続した形 態の端末装置であってもよ 、。
同様に、給湯器システム、床暖房システム、照明システム、エレベータシステム、ォ 一ル電ィ匕システム、セキュリティシステム、監視カメラシステムあるいは F Aシステムな どの各機器 (実行装置)と各制御コントローラ (端末制御装置)も同様の関係であれば 、システム全体として、この明細書における「端末装置」に該当する。
図面の簡単な説明
[図 1]実施の形態 1における遠隔操作システム 600の全体構成の一例を示すシステ ム構成図。
[図 2]実施の形態 1における端末装置 100のハードウェア構成の一例を示すノヽードウ エア構成図。
[図 3]実施の形態 1におけるサーバ装置 200、アプリケーション装置 300のハードゥエ ァ構成の一例を示すノヽードウエア構成図。
[図 4]実施の形態 1におけるルータ装置 500のハードウェア構成の一例を示すノヽード ウェア構成図。
[図 5]実施の形態 1における端末装置 100、サーバ装置 200、アプリケーション装置 3 00の機能ブロックの構成の一例を示すブロック構成図。
[図 6]実施の形態 1における端末装置 100の処理の流れの一例を示すフローチャート 図。
[図 7]実施の形態 1におけるサーバ装置 200の処理の流れの一例を示すフローチヤ ート図。
[図 8]実施の形態 1において、端末装置 100、サーバ装置 200、アプリケーション装置 300の間でやり取りされるメッセージの一例を示すシーケンス図。
[図 9]実施の形態 2における端末装置 100、サーバ装置 200、アプリケーション装置 3 00の機能ブロックの構成の一例を示すブロック構成図。
[図 10]実施の形態 2における端末装置 100の処理の流れの一例を示すフローチヤ一 ト図。
[図 11]実施の形態 2におけるサーバ装置 200 (端末アクセス事前部 215 ·サーバ制御 部 220)の処理の流れの一例を示すフローチャート図。 [図 12]実施の形態 2におけるサーバ装置 200 (端末通信部 216 ·アプリケーションァク セス受信部 240)の処理の流れの一例を示すフローチャート図。
[図 13]実施の形態 3における遠隔操作システム 600の全体構成の一例を示すシステ ム構成図。
[図 14]実施の形態 3における端末装置 100、サーバ装置 200、指令装置 250、アプリ ケーシヨン装置 300の機能ブロックの構成の一例を示すブロック構成図。
[図 15]実施の形態 3において、端末装置 100、サーバ装置 200、指令装置 250、ァ プリケーシヨン装置 300の間でやり取りするメッセージの一例を示すシーケンス図。 符号の説明
100 端末装置、 110 サーバアクセス部、 115 サーバアクセス事前部、 116 サ ーバ通信部、 120 端末制御部、 130 リプライデータ解析部、 140 コマンド実行部 、 200 サーバ装置、 210 端末アクセス受信部、 215 端末アクセス事前部、 216 端末通信部、 220 サーバ制御部、 230 アクセスデータ解析部、 240 アプリケーシ ヨンアクセス受信部、 300 アプリケーション装置、 310 アプリケーションシステム、 3 20 指令入力部、 330 結果表示部、 400 インターネット、 500 ルータ装置、 711 〜712 旨令問!ヽ合わせ、 721〜723 ジプライデータ、 731〜732 アプリゲーシ 3 ンアクセス、 741 アプリケーションリプライ、 751 要求データ、 761 指令送信要求 、 771 存在通知、 781〜782 コマンド、 792〜793 コマンド実行結果、 901 CP U、 902 表示装置、 903 入力装置、 904 記憶装置、 905, 906 ネットワークイン ターフェース装置、 910 実行装置。

Claims

請求の範囲
[1] ネットワークを介してサーバ装置と通信する通信装置と、実行指令を実行する実行 装置とを有する端末装置において、
上記実行指令の有無を問!、合わせる指令問!、合わせを、 HTTP (Hypertext
Transfer Protocol)リクエストの形式で、上記通信装置を用いて上記サーバ装置 に対して送信する問 ヽ合わせ送信部と、
上記問い合わせ送信部が送信した指令問い合わせに対する回答を、指令回答とし て、上記指令問 、合わせである HTTPリクエストに対する HTTPレスポンスの形式で 、上記通信装置を用いて上記サーバ装置から受信する回答受信部と、
上記回答受信部が受信した指令回答が、実行指令ありを示す内容である場合に、 上記実行装置を用いて実行指令を実行する指令実行部と、
を有することを特徴とする端末装置。
[2] 上記端末装置は、更に、
上記指令実行部が実行指令を実行した結果を、実行結果として、 HTTPリクエスト の形式で、上記通信装置を用いて上記サーバ装置に対して送信する結果送信部を 有し、
上記回答受信部は、更に、
上記実行装置が実行すべき他の実行指令の有無を、指令回答として、上記結果送 信部が送信した実行結果である HTTPリクエストに対する HTTPレスポンスの形式で 、上記通信装置を用いて上記サーバ装置から受信する
ことを特徴とする請求項 1に記載の端末装置。
[3] 上記指令実行部は、
上記回答受信部が受信した指令回答に実行指令が含まれる場合に、上記指令回 答に含まれる実行指令を、上記実行装置を用いて実行する
ことを特徴とする請求項 1に記載の端末装置。
[4] 上記通信装置は、更に、ネットワークを介して指令装置と通信し、
上記端末装置は、更に、
上記回答受信部が受信した指令回答が、実行指令ありを示す内容である場合に、 実行指令の送信を要求する指令送信要求を、 HTTPリクエストの形式で、上記通信 装置を用いて上記指令装置に対して送信する要求送信部と、
上記要求送信部が送信した指令送信要求に対する回答として、上記実行指令を、 上記指令送信要求である HTTPリクエストに対する HTTPレスポンスの形式で、上記 通信装置を用いて上記指令装置から受信する指令受信部と、
を有し、
上記指令実行部は、上記指令受信部が受信した実行指令を、上記実行装置を用 いて実行する
ことを特徴とする請求項 1に記載の端末装置。
[5] 上記端末装置は、更に、
上記指令実行部が実行指令を実行した結果を、実行結果として、 HTTPリクエスト の形式で、上記通信装置を用いて上記指令装置に対して送信する結果送信部を有 し、
上記指令受信部は、更に、
上記実行装置が実行すべき他の実行指令を、上記結果送信部が送信した実行結 果である HTTPリクエストに対する HTTPレスポンスの形式で、上記通信装置を用い て上記指令装置から受信する
ことを特徴とする請求項 4に記載の端末装置。
[6] 上記問い合わせ送信部は、更に、
上記回答受信部が受信した指令回答が、実行指令なしを示す内容である場合に、 上記指令問い合わせを、上記通信装置を用いて上記サーバ装置に対して送信する ことを特徴とする請求項 1に記載の端末装置。
[7] ネットワークを介して端末装置と通信する通信装置を有するサーバ装置において、 上記端末装置に実行させる実行指令の有無を問い合わせる指令問い合わせを、 H TTPリクエストの形式で、上記通信装置を用いて上記端末装置力 受信する問 、合 わせ受信部と、
上記問い合わせ受信部が受信した指令問い合わせに対する回答を、指令回答とし て、上記指令問 、合わせである HTTPリクエストに対する HTTPレスポンスの形式で 、上記通信装置を用いて上記端末装置に対して送信する回答送信部と、 を有することを特徴とするサーバ装置。
[8] 上記サーバ装置は、更に、
上記端末装置が実行指令を実行した結果を、実行結果として、 HTTPリクエストの 形式で、上記通信装置を用いて上記端末装置から受信する結果受信部を有し、 上記回答送信部は、更に、
上記端末装置に実行させる他の実行指令の有無を、指令回答として、上記実行結 果である HTTPリクエストに対する HTTPレスポンスの形式で、上記通信装置を用い て上記端末装置に対して送信する
ことを特徴とする請求項 7に記載のサーバ装置。
[9] 上記回答送信部は、
上記端末装置に実行させる実行指令がある場合に、上記実行指令を含む指令回 答を、上記通信装置を用いて上記端末装置に対して送信する
ことを特徴とする請求項 7に記載のサーバ装置。
[10] 上記サーバ装置は、更に、
上記端末装置に実行させる実行指令を通知する通知装置から、上記実行指令を 受信する通知受信部を有し、
上記回答送信部は、
上記通知受信部が実行指令を通知装置から受信した場合に、実行指令ありを示す 内容の指令回答を、上記通信装置を用いて上記端末装置に対して送信し、 所定の時間待っても、上記通知受信部が実行指令を通知装置力 受信しな力つた 場合に、実行指令なしを示す内容の指令回答を、上記通信装置を用いて上記端末 装置に対して送信する
ことを特徴とする請求項 7に記載のサーバ装置。
[11] 上記サーバ装置は、更に、
上記端末装置に実行させる実行指令があることを通知する指令装置から、上記実 行指令があることの通知を取得する存在取得部を有し、
上記回答送信部は、 上記存在取得部が、実行指令があることの通知を指令装置力 取得した場合に、 実行指令ありを示す内容の指令回答を、上記通信装置を用いて上記端末装置に対 して送信し、
所定の時間待っても、上記存在取得部が、実行指令があることの通知を指令装置 力も受信しな力つた場合に、実行指令なしを示す内容の指令回答を、上記通信装置 を用 、て上記端末装置に対して送信する
ことを特徴とする請求項 7に記載のサーバ装置。
[12] ネットワークを介して端末装置と通信する通信装置を有する指令装置において、 上記端末装置に実行させる実行指令の送信を要求する指令送信要求を、 HTTPリ タエストの形式で、上記通信装置を用いて上記端末装置から受信する要求受信部と 上記要求受信部が受信した指令送信要求に対する回答として、上記実行指令を、 上記指令送信要求である HTTPリクエストに対する HTTPレスポンスの形式で、上記 通信装置を用いて上記端末装置に対して送信する指令送信部と、
を有することを特徴とする指令装置。
[13] 上記指令装置は、更に、
上記端末装置が実行指令を実行した結果を、実行結果として、 HTTPリクエストの 形式で、上記通信装置を用いて上記端末装置から受信する結果受信部を有し、 上記指令送信部は、更に、
上記端末装置に実行させる他の実行指令を、上記実行結果である HTTPリクエスト に対する HTTPレスポンスの形式で、上記通信装置を用いて上記端末装置に対して 送信する
ことを特徴とする請求項 12に記載の指令装置。
[14] 上記指令装置は、更に、
上記端末装置に実行させる実行指令を通知する通知装置から、上記実行指令を 受信する通知受信部と、
上記通知受信部が実行指令を受信した場合に、実行指令の有無を上記端末装置 に知らせるサーバ装置に対して、実行指令があることを通知する存在通知部と、 を有することを特徴とする請求項 12に記載の指令装置。
PCT/JP2006/305250 2005-10-06 2006-03-16 端末装置及びサーバ装置及び指令装置 Ceased WO2007039942A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP06729243.3A EP1936510A4 (en) 2005-10-06 2006-03-16 END DEVICE, SERVER DEVICE AND COMMAND EQUIPMENT
CN2006800352292A CN101273337B (zh) 2005-10-06 2006-03-16 终端装置和服务器装置以及指令装置
US11/991,809 US8103717B2 (en) 2005-10-06 2006-03-16 Terminal apparatus, server apparatus, and instruction apparatus
JP2007538631A JPWO2007039942A1 (ja) 2005-10-06 2006-03-16 端末装置及びサーバ装置及び指令装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2005293401 2005-10-06
JP2005-293401 2005-10-06

Publications (1)

Publication Number Publication Date
WO2007039942A1 true WO2007039942A1 (ja) 2007-04-12

Family

ID=37905988

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2006/305250 Ceased WO2007039942A1 (ja) 2005-10-06 2006-03-16 端末装置及びサーバ装置及び指令装置

Country Status (5)

Country Link
US (1) US8103717B2 (ja)
EP (1) EP1936510A4 (ja)
JP (1) JPWO2007039942A1 (ja)
CN (1) CN101273337B (ja)
WO (1) WO2007039942A1 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013042412A1 (ja) * 2011-09-22 2013-03-28 九州日本電気ソフトウェア株式会社 通信システム、通信方法、及びコンピュータ読み取り可能な記録媒体
JP2014179017A (ja) * 2013-03-15 2014-09-25 Brother Ind Ltd 中継装置、画像処理装置および通信システム
JP2017073167A (ja) * 2016-12-20 2017-04-13 ブラザー工業株式会社 中継装置、画像処理装置および通信システム
JP2017182103A (ja) * 2016-03-28 2017-10-05 パナソニックIpマネジメント株式会社 指示情報通知システムと端末装置
JP2019179560A (ja) * 2019-05-22 2019-10-17 ブラザー工業株式会社 中継装置、画像処理装置および通信システム
JP2021117940A (ja) * 2020-01-29 2021-08-10 トヨタ自動車株式会社 エージェント装置、エージェントシステム及びプログラム
JP2024006386A (ja) * 2022-07-01 2024-01-17 富士フイルムビジネスイノベーション株式会社 サービス提供システム

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102011109678A1 (de) * 2011-08-08 2013-02-14 Rwe Effizienz Gmbh Kommunikationssystem
TWI477117B (zh) 2011-10-06 2015-03-11 Av Tech Corp 網路連線狀態檢測系統及其方法
JP6191259B2 (ja) * 2013-06-11 2017-09-06 富士通株式会社 ネットワーク分離方法及びネットワーク分離装置
FR3041198B1 (fr) * 2015-09-16 2018-08-17 Overkiz Procede de configuration et procede de controle d’une installation domotique

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004227121A (ja) * 2003-01-21 2004-08-12 Toshiba Corp サーバ装置、通信制御システム、通信方法及びサーバプログラム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7716674B1 (en) * 2000-10-06 2010-05-11 Apple Inc. Streaming server administration protocol
JP2002223483A (ja) * 2000-11-09 2002-08-09 Yamatake Corp 遠隔管理システム
US20020194289A1 (en) * 2001-06-18 2002-12-19 Engel Glenn R. Configuring devices using server responses
JP2003108449A (ja) * 2001-10-02 2003-04-11 Seiko Epson Corp ネットワークに接続された仲介装置
US20030070094A1 (en) * 2001-10-06 2003-04-10 Gomes John Isaac Chandan Data transfer across firewalls
JP4039195B2 (ja) 2001-12-27 2008-01-30 富士ゼロックス株式会社 ネットワークシステム
JP3610341B2 (ja) 2002-02-19 2005-01-12 キヤノン株式会社 ネットワーク機器及び遠隔制御中継サーバ
EP1418732B1 (en) * 2002-09-19 2016-01-06 Ricoh Company, Ltd. Communication system implementing a plurality of communication apparatuses as communication client and communication server for exchanging operation requests and operation responses
JP3445986B1 (ja) 2002-09-27 2003-09-16 松下電器産業株式会社 インターネットに接続するサーバ、機器および通信システム
US20040098483A1 (en) * 2002-11-14 2004-05-20 Engel Glenn R. Triggering communication from devices that self-initiate communication
JP3880513B2 (ja) * 2002-12-16 2007-02-14 インターナショナル・ビジネス・マシーンズ・コーポレーション 中継処理装置、制御方法、プログラム、記録媒体、及び端末制御サーバ
JP2004246822A (ja) * 2003-02-17 2004-09-02 Hitachi Information Systems Ltd 更新情報表示システム
US7627651B2 (en) * 2003-10-27 2009-12-01 American Power Conversion Corporation System and method for network device communication
JP2005259105A (ja) * 2004-02-09 2005-09-22 Ricoh Co Ltd 仲介装置、通信システム、仲介装置の制御方法、プログラム及び記録媒体
NO323215B1 (no) * 2005-02-04 2007-01-29 Tandberg Telecom As Fremgangsmate for monitorering og konfigurering av brannmur/NAT-beskyttet nettverk

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004227121A (ja) * 2003-01-21 2004-08-12 Toshiba Corp サーバ装置、通信制御システム、通信方法及びサーバプログラム

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013042412A1 (ja) * 2011-09-22 2013-03-28 九州日本電気ソフトウェア株式会社 通信システム、通信方法、及びコンピュータ読み取り可能な記録媒体
JPWO2013042412A1 (ja) * 2011-09-22 2015-03-26 Necソリューションイノベータ株式会社 通信システム、通信方法、及びプログラム
JP2014179017A (ja) * 2013-03-15 2014-09-25 Brother Ind Ltd 中継装置、画像処理装置および通信システム
JP2017182103A (ja) * 2016-03-28 2017-10-05 パナソニックIpマネジメント株式会社 指示情報通知システムと端末装置
JP2017073167A (ja) * 2016-12-20 2017-04-13 ブラザー工業株式会社 中継装置、画像処理装置および通信システム
JP2019179560A (ja) * 2019-05-22 2019-10-17 ブラザー工業株式会社 中継装置、画像処理装置および通信システム
JP2021117940A (ja) * 2020-01-29 2021-08-10 トヨタ自動車株式会社 エージェント装置、エージェントシステム及びプログラム
JP7272293B2 (ja) 2020-01-29 2023-05-12 トヨタ自動車株式会社 エージェント装置、エージェントシステム及びプログラム
JP2024006386A (ja) * 2022-07-01 2024-01-17 富士フイルムビジネスイノベーション株式会社 サービス提供システム

Also Published As

Publication number Publication date
JPWO2007039942A1 (ja) 2009-04-16
EP1936510A1 (en) 2008-06-25
US8103717B2 (en) 2012-01-24
US20100223319A1 (en) 2010-09-02
CN101273337B (zh) 2010-10-06
CN101273337A (zh) 2008-09-24
EP1936510A4 (en) 2013-06-05

Similar Documents

Publication Publication Date Title
US8499083B2 (en) Relay device and communication system
EP2645636B1 (en) Home gateway, cloud server, and method for communication therebetween
KR101055048B1 (ko) 정보 통신 시스템, 정보 처리 장치 및 방법, 및 기록 매체
US20080175383A1 (en) Method and communication unit for communicating between communication apparatus
CN105050202B (zh) 移动终端的利用中继服务器主动接入的会话建立方法
EP2833596A1 (en) Method and apparatus for sharing dlna device
KR20040090224A (ko) 피제어 디바이스의 리스트를 제공하는 네트워크 장치,시스템 및 방법
US10084862B2 (en) Session control method and computer-readable storage medium storing computer program
CN106612340B (zh) 穿透网络位置转换器的方法及通信装置
CN118511499A (zh) 互联网代理系统
CN104683435A (zh) 网络系统、保持连接方法、电子设备、服务器、程序
WO2007039942A1 (ja) 端末装置及びサーバ装置及び指令装置
JP2008271097A (ja) 通信装置およびクライアント装置
US20080034099A1 (en) Connection management system, connection management method, and management server
JP2004227121A (ja) サーバ装置、通信制御システム、通信方法及びサーバプログラム
CN110771117B (zh) 一种采用面向id的网络的会话层通信
KR20050050954A (ko) 사설네트워크 상에 존재하는 네트워크 장치를 제어하는장치 및 그 방법
KR100533667B1 (ko) 효율적인 홈 네트워크 관리 시스템 및 방법
JP2007514212A (ja) インターネットメッセンジャーを用いてファイルを格納、伝達するシステム及び方法
KR101058275B1 (ko) 통신 단말기 및 그 제어방법과, p2p 서버 시스템 및 그 제어방법
JP2015118478A (ja) 通信アダプタ装置、通信システム、トンネル通信方法、及びプログラム
JP2015201758A (ja) 中継装置、通信システム、情報処理方法及びプログラム
CN113794772A (zh) 一种远程访问终端设备内置页面的方法及系统
KR100739138B1 (ko) 네트워크 시스템
JP3886103B2 (ja) 通信システム、通信方法、並びにこれに用いられる通信装置および通信プログラム

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200680035229.2

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2007538631

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 11991809

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2006729243

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE