WO2013121487A1 - 情報処理装置、情報処理方法及びプログラム - Google Patents
情報処理装置、情報処理方法及びプログラム Download PDFInfo
- Publication number
- WO2013121487A1 WO2013121487A1 PCT/JP2012/007588 JP2012007588W WO2013121487A1 WO 2013121487 A1 WO2013121487 A1 WO 2013121487A1 JP 2012007588 W JP2012007588 W JP 2012007588W WO 2013121487 A1 WO2013121487 A1 WO 2013121487A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- server
- notification
- information processing
- message
- unit
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1023—Server selection for load balancing based on a hash applied to IP addresses or costs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
- H04L51/212—Monitoring or handling of messages using filtering or selective blocking
Definitions
- This technology relates to an information processing apparatus that can communicate with a plurality of devices via a network.
- XMPP Extensible Messaging Presence Protocol
- NAT Network Address Translation
- a server using the XMPP is arranged on the cloud, and this server mediates all communication between devices, so that each device can communicate with each other without being affected by a NAT router or a proxy server / firewall. Can be done.
- Patent Document 1 As a document related to XMPP, for example, there is the following Patent Document 1.
- an object of the present technology is to provide an information processing apparatus, an information processing method, and a program that can reduce the load on the system on the cloud side and can handle an enormous number of devices with one device. There is.
- an information processing apparatus includes a communication unit and a control unit.
- the communication unit is connected to the first device, the second device, and the always-on server that is always connected to the second device via the network as needed via the network. Communication is possible.
- the control unit receives notification request information for requesting to receive data addressed to the second device from the first device and to send a notification message notifying the presence of the data to the second device.
- the communication unit can be controlled to transmit the data to the second device in response to a request from the second device that has transmitted to the always-on server and received the notification message.
- the information processing apparatus when the information processing apparatus receives data addressed to the second device from the first device, the information processing device transmits a notification message to the second device via the always-connected server, and the second device Data can be sent in response to access. Therefore, the information processing apparatus can reduce its own load by allowing the always-connected server to maintain the connection with the first device and the second device and to notify the existence of data.
- the always-on server does not require complicated processing and requires only a minimum communication buffer, so that it can be connected to an extremely large number of first devices and second devices. As a result, the number of devices that can be handled indirectly by one information processing apparatus increases significantly.
- the data includes all kinds of data such as moving images, still images, sounds, texts, messages, programs, and the like.
- the information processing apparatus is typically a server apparatus, but is not limited thereto, and may be any other device.
- the information processing apparatus may further include a storage unit.
- the second device may communicate with the information processing apparatus and the always-on server via a communication relay device.
- the control unit stores the information so as to store information related to the transfer setting.
- the unit may be controlled.
- the control unit uses the stored information to transmit the notification message directly to the second device instead of transmitting the notification request information or in addition to transmitting the notification request information.
- the communication unit may be controlled.
- the communication relay device (router) on the second device side supports the NAT-Traversal mechanism based on the UPnP-IGD (Universal-Plug-and-Play-Internet-Gateway-Device) protocol, the so-called NAT exceeded, It is also possible to send a notification message directly to the second device.
- UPnP-IGD Universal-Plug-and-Play-Internet-Gateway-Device
- control unit When a global IP address is assigned to the second device, the control unit sends the notification message to the notification device instead of transmitting the notification request information or in addition to transmitting the notification request information.
- the communication unit may be controlled to transmit directly to the second device.
- the information processing apparatus can also transmit a notification message directly to the second device when the second device can be accessed without going through the communication relay device.
- the communication unit may be controlled as described above.
- the information processing apparatus may further include a storage unit.
- the control unit includes a value based on a hash value obtained from a predetermined hash function based on the device identification information of each of the first device and the second device, and each of the plurality of information processing devices. You may create the table which defined the corresponding relationship with this identification information.
- the control unit may control the storage unit so as to store the created table, and determines another information processing apparatus corresponding to the second device based on the stored table. May be.
- the information processing apparatus can easily determine another information processing apparatus corresponding to the second device by using the table.
- the control unit When the user identification information for uniquely identifying the user who owns each of the first device and the second device is set, the control unit replaces the device identification information with the user identification information.
- the above table may be created using
- An information processing apparatus includes a communication unit and a control unit.
- the communication unit can always communicate with the first device and the second device via a network.
- the communication unit can communicate with the mediation server that mediates transmission / reception of data between the first device and the second device on the network as necessary.
- the control unit sends a notification message for notifying the existence of the data from the mediation server.
- the communication unit can be controlled to receive notification request information for requesting transmission to the second device and to transmit the notification message to the second device based on the notification request information.
- the information processing apparatus can greatly increase the number of devices that can be indirectly handled by one intermediary server, and reduce the load on the intermediary server.
- An information processing apparatus includes a communication unit and a control unit.
- the communication unit can communicate with the first server on the network as necessary, and can communicate with the second server on the network.
- the control unit receives a notification message for notifying the presence of data transmitted from another information processing apparatus from the second server, and based on the received notification message, the control unit transmits the data to the first server.
- the communication unit can be controlled to receive from
- An information processing method includes establishing a connection with a first device via a network and receiving data addressed to a second device from the first device.
- notification request information for requesting transmission of a notification message notifying the presence of the data to the second device is transmitted to a server that is always connected to the second device.
- a connection is established in response to a request from the second device that has received the notification message, and the data is transmitted to the second device.
- a program causes the information processing apparatus to execute a reception step, a first transmission step, and a second transmission step.
- a connection is established with the first device via the network, and data addressed to the second device is received from the first device.
- notification request information for requesting transmission of a notification message notifying the presence of the data to the second device is transmitted to a constantly connected server that is always connected to the second device. Is done.
- a connection is established with the second device in response to a request from the second device that has received the notification message, and the data is transmitted to the second device.
- FIG. 1 is a diagram illustrating a network configuration of a system according to a first embodiment of the present technology. It is the block diagram which showed the hardware constitutions of the messaging server in the said system. It is the block diagram which showed the hardware constitutions of the device in the said system. It is the block diagram which showed the software module structure of each node in the said system. It is the figure which showed the example of the notification means list
- FIG. 12 is a flowchart illustrating a flow of server determination processing corresponding to a device according to the second embodiment of the present technology. It is a figure showing an example of a messaging server allocation table created in a 2nd embodiment of this art. It is a figure showing an example of a notice server allocation table created in a 2nd embodiment of this art. It is the figure which showed the example of the resolution table for network address determination of the messaging server created in 2nd Embodiment of this technique. It is a figure showing an example of a resolution table for network address determination of a notice server created in a 2nd embodiment of this art.
- 14 is a flowchart illustrating an operation flow of a connection processing unit of a messaging server according to the second embodiment of the present technology.
- 12 is a flowchart illustrating an operation flow of a connection management unit of a messaging server according to the second embodiment of the present technology.
- 12 is a flowchart illustrating a flow of operations of a message transfer unit of a messaging server according to the second embodiment of the present technology. It is the figure which showed the network configuration of the system in 3rd Embodiment of this technique.
- 12 is a flowchart illustrating a flow of operation of a connection management unit of a messaging server in the third embodiment of the present technology.
- FIG. 1 is a diagram showing a network configuration of a system according to the present embodiment.
- this system includes a messaging server 100 and a notification server 200 on the cloud, and a plurality of devices 300 that can be connected to these servers via a WAN (Wide Area Network).
- WAN Wide Area Network
- one messaging server 100 and one notification server 200 are provided on the cloud.
- the device 300 includes, for example, a smartphone, a mobile phone, a tablet PC (Personal® Computer), a desktop PC, a notebook PC, a PDA (Personal® Digital Assistant), a portable AV player, an electronic book, a digital still camera, a camcorder, a television device, and a PVR. It can be any information processing apparatus such as (Personal Video Recorder), game machine, car navigation system, digital photo frame, and the like. Although only two devices 300A and 300B are shown in the figure, the number of devices 300 may be three or more.
- Each device 300 may communicate with the messaging server 100 and the notification server 200 via the communication relay device 310, or may directly communicate with those servers without via the communication relay device 310.
- Each device 300 can communicate with the notification server 200 through a constant connection, while communicating with the messaging server 100 by establishing a connection as necessary.
- the messaging server 100 communicates with the notification server 200 and each device 300 by establishing a connection as necessary.
- the communication relay device 310 has a function of relaying communication between an inner (device 300 side) network and an external (cloud side) network, and protects the difference in addresses used in both networks and security. Because of the mechanism, it means that an external server makes it impossible to designate and connect a specific internal device unless a special means is used. Examples of such communication relay device 310 include a NAT router, a proxy server, and a firewall.
- the messaging server 100 functions as a server that mediates communication between the devices 300 (for example, transmission and reception of messages).
- the notification server 200 functions as one of notification means for transmitting a notification message indicating that data (message) transmitted from a certain device 300 exists to the device 300 that is the destination of the data. Other notification means will be described later.
- the messaging server 100, the notification server 200, and the device 300 may be collectively referred to as “nodes”.
- FIG. 2 is a diagram showing a hardware configuration of the messaging server 100.
- the messaging server 100 includes a CPU (Central Processing Unit) 11, a ROM (Read Only Memory) 12, a RAM (Random Access Memory) 13, an input / output interface 15, and a bus 14 for connecting them together. Is provided.
- CPU Central Processing Unit
- ROM Read Only Memory
- RAM Random Access Memory
- the CPU 11 appropriately accesses the RAM 13 or the like as necessary, and comprehensively controls each block of the messaging server 100 while performing various arithmetic processes.
- the ROM 12 is a non-volatile memory in which an OS to be executed by the CPU 11, firmware such as programs and various parameters are fixedly stored.
- the RAM 13 is used as a work area for the CPU 11 and temporarily holds the OS, various applications being executed, and various data being processed.
- a display unit 16 an operation receiving unit 17, a storage unit 18, a communication unit 19 and the like are connected to the input / output interface 15.
- the display unit 16 is a display device using, for example, an LCD (Liquid Crystal Display), an OELD (Organic ElectroLuminescence Display), a CRT (Cathode Ray Tube), or the like.
- LCD Liquid Crystal Display
- OELD Organic ElectroLuminescence Display
- CRT Cathode Ray Tube
- the operation receiving unit 17 is, for example, a pointing device such as a mouse, a keyboard, a touch panel, and other input devices.
- the operation reception unit 17 is a touch panel
- the touch panel can be integrated with the display unit 16.
- the storage unit 18 is, for example, a nonvolatile memory such as an HDD (Hard Disk Drive), a flash memory (SSD; Solid State Drive), or other solid-state memory.
- the storage unit 18 stores the OS, various applications, and various data. Particularly in the present embodiment, the storage unit 18 stores programs such as a plurality of software modules described later, and a database such as a notification means list and a connection information list.
- the communication unit 19 is a NIC or the like for connecting to the WAN 50, and is responsible for communication processing with the notification server 200 and the device 300.
- the hardware configuration of the notification server 200 is the same as the hardware configuration of the messaging server, description thereof is omitted.
- hardware corresponding to the CPU 11, the storage unit 18, and the communication unit 19 of the messaging server 100 is referred to as a CPU 21, a storage unit 28, and a communication unit 29, respectively.
- the storage unit 28 stores programs such as a plurality of software modules, which will be described later, and a database such as a connection information list.
- FIG. 3 is a diagram illustrating a hardware configuration of the device 300.
- the hardware configuration of the device 300 is basically the same as the hardware configuration of the server 100. That is, the device 300 includes a CPU 31, a ROM 32, a RAM 33, an input / output interface 35, a bus 34 that connects them, a display unit 36, an operation reception unit 37, a storage unit 38, and a communication unit 39.
- the display unit 36 may be built in the device 300 or may be externally connected to the device 300.
- the storage unit 38 stores programs such as a plurality of software modules, which will be described later, and various databases.
- FIG. 4 is a diagram illustrating the configuration of software modules included in the messaging server 100, the notification server 200, and the device 300, respectively.
- the messaging server 100 includes software modules of a connection processing unit 101, a connection management unit 102, a message processing unit 105, and a message transmission unit 106, databases of a notification means list 103 and a connection information list 104, Have
- the connection processing unit 101 receives a connection request from the device 300 and establishes a connection with the device 300.
- the connection management unit 102 manages all connections with the notification server 200 and the device 300, and processes, transmits, or forwards the received message.
- the message processing unit 105 processes the received message addressed to the messaging server 100.
- the message transmission unit 106 transmits a message to the device 300 that the messaging server 100 is in charge of.
- the notification means list 103 is a list of information relating to notification means for notifying the device 300 of the presence of a message.
- FIG. 5 shows an example of the notification means list.
- each device 300 communicates with the messaging server 100 prior to actual communication.
- the messaging server 100 receives a message addressed to each device, the device 300 is notified by any means. Register what you want.
- each item of a node ID (device ID for a device, server ID for a server), notification means, and related information is described in the notification means list.
- the node ID is, for example, a 128-bit ID that uniquely identifies the messaging server 100, the notification server 200, and each device 300.
- the device ID is usually pre-embedded in the hardware of each device 300 such as the MAC address in WLAN / Ethernet (registered trademark), the IMEI of the mobile phone, etc. so that it becomes a unique ID for every device 300 Generated based on
- the device ID may be assigned in any form as long as the uniqueness is guaranteed.
- the server ID is an ID for uniquely specifying the messaging server 100 and the notification server 200 on the cloud. Usually, for the purpose of replacing the server at the time of troubleshooting, the ID specified at the start is used. Similar to the device ID, it may be set in any form.
- the node ID represents, for example, the ID type in the upper bits and the ID unique to each node in the lower bits.
- the ID type is, for example, “0300” for the device ID, “0400” for the server ID of the messaging server 100, “0401” for the server ID of the notification server 200, and the like.
- the device ID is, for example, “03000000-0000-0000-0000-0000c293975d”
- the server ID is, for example, “04010000-0000-0000-0000-000000000123”.
- entries of a plurality of notification means relating to one device ID are shown, but actually, notification means for nodes having different IDs (the messaging server 100, the notification server 200, and the plurality of devices 300), respectively. Will be entered.
- the notification server 200 is provided when the communication relay device 310 cannot perform direct communication from the outside (the messaging server 100). Therefore, when the communication relay device 310 does not exist or when a special setting is possible for the communication relay device 310, the messaging server 100 can execute the notification process without using the notification server 200.
- Global IP indicates that a global IP address is allocated to the device 300 (for example, a mobile device), and the messaging server 100 can directly connect to the device 300 without going through the communication relay device 310.
- the global IP address and port number of the node corresponding to the node ID are described as related information.
- “UPnP IGD” can be set so that the communication relay device 310 forwards communication from the outside to a specific internal node in accordance with an instruction from the local node connected thereto. This indicates that connection to the device 300 is possible via the communication relay device 310.
- the NAT router as the communication relay apparatus 310 supports the NAT-Traversal mechanism based on the UPnP-IGD protocol.
- the internal device 300 determines the port number on the WAN 50 side and the port number on the LAN side in cooperation with the messaging server 100, and communicates with the port number on the WAN 50 side using the IP address on the LAN side. / Set to NAT router to forward to port number.
- the messaging server 100 stores the IP address and port number on the WAN side as related information on the notification means list, and uses the stored IP address and port number when communicating with the device 300.
- “User Setting” indicates that the same transfer setting as “UPnP IGD” is made possible by the user manually changing it using the port forwarding mechanism instead of an instruction from the device 300. Also in this case, the set IP address and port number are stored as related information.
- Server indicates that the messaging server 100 can connect to each device 300 via the notification server 200.
- the notification means is used.
- the same device information may exist as a plurality of entries.
- the device 300 is a mobile terminal such as a smartphone and is connected to a mobile phone network or a wireless LAN.
- an expiration date may be provided for each entry in the list.
- the connection information list 104 is a list in which information related to the connection that the messaging server 100 holds at that time. An example is shown in FIG. As shown in the figure, the connection information list 104 describes each item of the node ID, IP address, and socket number of the notification server 200 or the device 300 to which the messaging server 100 is connected. In the connection information list 104, a corresponding entry is added every time a connection with the notification server 200 or the device 300 is established, and when the connection is released, the corresponding entry is deleted.
- the notification server 200 includes software modules of the connection processing unit 201 and the connection management unit 202, and a connection information list 203 as a database.
- the connection processing unit 201 receives a connection request from the device 300 and establishes a connection.
- the connection management unit 202 manages all connections with the messaging server 100 and the device 300, and when a notification request is received from the messaging server 100, transmits a notification message to the corresponding device 300.
- connection information list 203 is a list in which information related to the connection held by the notification server 200 at that time is described, and the configuration is the same as the connection information list 104 included in the messaging server 100.
- each device 300 includes software modules such as a notification unit setting unit 301, a notification server notification receiving unit 302, a direct notification receiving unit 303, a message receiving unit 304, a message transmitting unit 305, and a message processing unit 306.
- software modules such as a notification unit setting unit 301, a notification server notification receiving unit 302, a direct notification receiving unit 303, a message receiving unit 304, a message transmitting unit 305, and a message processing unit 306.
- the notification unit setting unit 301 sets a notification unit that can be used by the device 300 in the messaging server 100.
- the notification server notification receiving unit 302 connects to the notification server 200 and receives a notification message.
- the direct notification receiving unit 303 receives the notification message directly from the messaging server 100 without using the notification server 200.
- the message receiving unit 304 is connected to the messaging server 100 and receives data (message) transmitted from the other device 300.
- the message transmission unit 305 is connected to the messaging server 100 and transmits data (message) addressed to other devices.
- the message processing unit 306 processes data (message) received from the messaging server 100.
- the device 300A on the message transmission side is required to have at least the message transmission unit 305, other module blocks are indicated by broken lines in FIG. However, as a matter of course, the device 300A on the transmission side may have those modules similarly to the device 300B on the reception side. Similarly, in the figure, in the device 300B on the message receiving side, the message transmission unit 305 is indicated by a broken line, but the device 300B may also include the message transmission unit 305.
- the messaging server 100 and the notification server 200 Prior to data (message) transmission processing, the messaging server 100 and the notification server 200 have, as initial setting information, a notification server ID, a messaging server ID, and a network address (host name or IP address / port number) corresponding to them. Is notified to each device 300 in advance.
- FIG. 7 is a diagram schematically showing an outline of the flow of data transmission processing from the device 300A to the device 300B in this case.
- the message receiving side (destination) device 300B confirms the communication environment with the cloud side and then connects to the notification server 200 via the communication relay device 310B ((1) in FIG. )). The connection is always maintained.
- the device 300B connects to the messaging server 100 via the communication relay device 310B, and sets the notification server 200 as a notification unit (sends notification unit setting information) ((2) in the figure).
- the message transmission source device 300A transmits a message addressed to the device 300B to the messaging server 100 ((3) in the figure).
- the messaging server 100 that has received the message transmits a notification message transmission request (notification request) for notifying the presence of the message addressed to the device 300B from the device 300A to the notification server 200 ((4) in the figure). ).
- the notification server 200 that has received the notification request transmits the notification message to the device 300B using the already established connection with the device 300B ((5) in the figure).
- the device 300B that has received the notification message establishes a connection with the messaging server 100 via the communication relay device 310B, and receives the message from the device 300A ((6) in the figure).
- FIG. 8 is a diagram schematically showing an outline of the flow of data transmission processing from the device 300A to the device 300B in this case.
- the device 300B on the message receiving side confirms the communication environment with the cloud side ((1) in the figure).
- the device 300B connects to the messaging server 100 and sets Global IP as a notification means ((2) in the figure).
- the message transmission source device 300A transmits a message addressed to the device 300B to the messaging server 100 ((3) in the figure).
- the messaging server 100 that has received the message establishes a connection with the device 300B, and transmits the notification message directly to the device 300B ((4) in the figure).
- the device 300B that has received the notification message establishes a connection with the messaging server 100 and receives the message from the device 300A ((5) in the figure).
- FIG. 9 is a diagram schematically showing an outline of the flow of data transmission processing from the device 300A to the device 300B in this case.
- the device 300B on the message receiving side confirms the communication environment with the cloud side, and then uses the NAT Traversal mechanism by UPnP IGD to establish the communication relay device 310B (router).
- the communication from the cloud side is set to be transferred to the device 300B ((1) in the figure).
- the device 300B connects to the messaging server 100 via the communication relay device 310B, and sets UPnP IGD as a notification means ((2) in the figure).
- the message transmission source device 300A transmits a message addressed to the device 300B to the messaging server 100 ((3) in the figure).
- the messaging server 100 that has received the message establishes a connection with the device 300B based on the UPnP IGD setting, and transmits the notification message to the device 300B via the communication relay device 310B (FIG. 4)).
- the device 300B that has received the notification message establishes a connection with the messaging server 100 based on the UPnP IGD setting, and receives the message from the device 300A via the communication relay device 310B (see FIG. (5)).
- FIG. 10 is a diagram schematically showing an outline of the flow of data transmission processing from the device 300A to the device 300B in this case.
- the user of the message receiving (destination) device 300B confirms the communication environment with the cloud side and then uses the port forwarding mechanism to communicate with the communication relay device 310B (router). Then, the communication is manually set to transfer the communication from the cloud side to the device 300B ((1) in the figure).
- the device 300B connects to the messaging server 100 via the communication relay device 310B, and sets User Setting as a notification means ((2) in the figure).
- the message transmission source device 300A transmits a message addressed to the device 300B to the messaging server 100 ((3) in the figure).
- the messaging server 100 that has received the message establishes a connection with the device 300B based on the setting by the port forwarding mechanism, and transmits the notification message to the device 300B via the communication relay device 310B (see FIG. (4)).
- the device 300B that has received the notification message establishes a connection with the messaging server 100 based on the setting by the port forwarding mechanism, and receives the message from the device 300A via the communication relay device 310B (same as above).
- Figure (5) The device 300B that has received the notification message establishes a connection with the messaging server 100 based on the setting by the port forwarding mechanism, and receives the message from the device 300A via the communication relay device 310B (same as above).
- FIG. 11 is a flowchart showing an operation flow of the message transmission unit 305 of the device 300A that is a message transmission source.
- the message transmission unit 305 first determines the corresponding messaging server 100 from the node ID (device ID) of the device 300A (step 111). As described above, in this embodiment, there is only one messaging server 100, and each device 300 is informed of its server ID and network address in advance. 100 is specified.
- the message transmission unit 305 establishes a connection with the messaging server 100 via the communication relay device 310A (step 112).
- the message transmission unit 305 transmits a message addressed to the device 300B to the messaging server 100 (step 113).
- the message transmission unit 305 releases the connection with the messaging server 100 (step 114).
- FIG. 12 is a flowchart showing an operation flow of the notification means setting unit 301 of the device 300B that is the destination of data (message).
- the notification means setting unit 301 first determines the corresponding messaging server 100 from the node ID (device ID) of the device 300B (step 121). As described above, in this embodiment, since the server ID and network address of the messaging server 100 are also known in advance in the device 300B, the notification unit setting unit 301 identifies the messaging server 100 based on the information.
- the notification means setting unit 301 establishes a connection with the messaging server 100 via the communication relay device 310B (step 122).
- the notification means setting unit 301 transmits notification means setting information specifying at least one of the four notification means described above to the messaging server 100 (step 123).
- the notification unit setting unit 301 releases the connection with the messaging server 100 (step 124).
- FIG. 13 is a flowchart showing an operation flow of the notification server notification receiving unit 302 of the device 300B. As described above, this operation is performed when the notification unit is set in the notification server 200.
- the notification server notification receiving unit 302 first determines the corresponding notification server 200 from the node ID (device ID) of the device 300B (step 131). As described above, in the present embodiment, there is only one notification server 200, and each device 300 is informed of its server ID and network address in advance, so that the notification server notification reception unit 302 uses the information.
- the notification server 200 is specified.
- the notification server notification receiving unit 302 establishes a connection with the notification server 200 via the communication relay device 310B (step 132).
- the notification server notification receiving unit 302 notifies the notification server 200 of the node ID (device ID) of the device 300B (step 133).
- the notification server notification receiving unit 302 receives a notification message from the notification server 200 that has received the notification request from the messaging server 100 (step 134).
- the notification server notification receiving unit 302 that has received the notification message determines whether or not the connection with the messaging server 100 is established at that time (step 135).
- the notification server notification receiving unit 302 requests the message receiving unit 304 to connect to the messaging server 100 (step 136).
- the notification server notification receiving unit 302 repeats the processes of steps 134 to 136 every time a notification message is received.
- FIG. 14 is a flowchart showing an operation flow of the direct notification receiving unit 303 of the device 300B. As described above, this operation is performed when the notification unit is set to other than the notification server 200.
- the direct notification receiving unit 303 first performs reception waiting processing of a notification message transmitted from the messaging server 100 (step 141).
- the direct notification receiving unit 303 receives a notification message from the messaging server 100 (step 142).
- the direct notification receiving unit 303 that has received the notification message determines whether or not the connection with the messaging server 100 has been established at that time (step 143).
- the direct notification receiving unit 303 requests the message receiving unit 304 to connect to the messaging server 100 (step 144).
- the direct notification receiving unit 303 repeats the processing of steps 142 to 144 every time a notification message is received.
- FIG. 15 is a flowchart showing a flow of operations of the message receiving unit 304 and the message processing unit 306 of the device 300B.
- the message receiving unit 304 first determines the corresponding messaging server 100 from the node ID (device ID) of the device 300B as described above (step 151).
- the message receiving unit 304 establishes a connection with the messaging server 100 via the communication relay device 310B (directly without the communication relay device 310B if the notification means is Global IP) (step 152).
- the message receiving unit 304 notifies the messaging server 100 of the node ID (device ID) of the device 300B (step 153).
- the message receiving unit 304 waits for reception of a message from the messaging server 100, timeout, error, or communication disconnection (step 154).
- Step 155 the message processing unit 306 processes the received message (Step 156).
- the message receiving unit 304 releases the connection with the messaging server 100 (step 158).
- the message receiving unit 304 and the message processing unit 306 repeat the processing in steps 154 to 158 every time a connection with the messaging server 100 is established.
- FIG. 16 is a flowchart showing an operation flow of the connection processing unit 201 of the notification server 200.
- connection processing unit 201 first waits for a connection request from the device 300 or the messaging server 100 (step 161).
- connection processing unit 201 accepts the connection request and establishes a connection (step 163).
- connection processing unit 201 receives the node ID (the device ID of the device 300 or the server ID of the messaging server 100) from the connection source device 300 or the messaging server 100 (step 164).
- connection processing unit 201 records the node ID and connection information (IP address and socket number) in the connection information list 203 and newly adds them to the connection management target (step 165).
- FIG. 17 is a flowchart showing an operation flow of the connection management unit 202 of the notification server 200.
- connection management unit 202 first waits for reception of a message, error, or communication disconnection for all connections managed in the connection information list 203 (step 171).
- connection management unit 202 determines whether or not a message has been received (step 172).
- connection management unit 202 determines whether the message is a notification request from the messaging server 100 (step 173).
- the connection management unit 202 acquires the device ID of the device 300 to be notified (the notification message transmission target) from the received message ( Step 174).
- connection management unit 202 determines whether or not an entry that matches the acquired device ID exists in the connection information list 203 (step 175).
- connection management unit 202 If it is determined that there is an entry that matches the acquired device ID (Yes in step 176), the connection management unit 202 notifies the target device 300 using the connection (IP address and socket number) corresponding to the entry. A message is transmitted (step 177).
- connection management unit 202 determines whether an error has occurred or communication has been disconnected for any of the connections to be managed (step 178). ).
- connection management unit 202 excludes from the connection information list 203 entries related to connections in which the error has occurred or communication has been disconnected (step 179).
- FIG. 18 is a flowchart showing an operation flow of the connection processing unit 101 of the messaging server 100.
- connection processing unit 101 first waits for a connection request from the device 300 (step 181).
- connection processing unit 101 accepts the connection request from the device 300 and establishes a connection (step 183).
- connection processing unit 101 receives the device ID from the connection source device 300 (step 184).
- the connection processing unit 101 records the device ID and connection information (IP address and socket number) in the connection information list 104, and newly adds the device 300 to the connection management target (step 185).
- FIG. 19 is a flowchart showing a flow of operations of the connection management unit 102 and the message processing unit 105 of the messaging server 100.
- connection management unit 102 first waits for a message reception, error, or communication disconnection for all connections managed in the connection information list 104 (step 191).
- connection management unit 102 determines whether or not a message has been received (step 192).
- connection management unit 102 acquires the node ID set for the destination from the message (step 193).
- connection management unit 102 determines whether or not the acquired node ID is the node ID (server ID) of the messaging server 100 (step 194).
- the message processing unit 105 processes the message (step 195).
- the connection management unit 102 determines the node ID of the corresponding messaging server from the node ID set as the destination. (Step 196).
- the connection management unit 102 determines that the node ID of the server corresponding to the destination is the node ID of itself (the messaging server 100). (Yes in step 197).
- connection manager 102 delivers the message to the message transmitter 106 (Step 198).
- connection management unit 102 determines whether an error has occurred or communication has been disconnected for any of the connections to be managed (step 199). ).
- connection management unit 102 excludes from the connection information list 104 entries relating to connections in which the error has occurred or communication has been disconnected (step 200).
- FIG. 20 is a flowchart showing an operation flow of the message transmission unit 106 of the messaging server 100.
- the message transmission unit 106 first acquires an entry that matches the node ID set as the destination from the notification means list 103 (step 201).
- Step 202 If it is determined that the entry matching the node ID does not exist in the notification means list 103 (Yes in Step 202), the message transmission unit 106 ends the process.
- the message transmission unit 106 determines whether or not the notification means for the entry is set to something other than the notification server 200 (Step 203). ).
- the message transmitting unit 106 establishes a connection with the message destination device 300 (300B) based on the related information on the entry. (Step 204).
- the message transmission unit 106 transmits the notification message to the device 300 using the connection (step 205).
- the message transmission unit 106 releases the connection with the device 300 (step 206).
- the message transmission unit 106 determines whether the notification server 200 corresponding to the node ID set in the transmission destination is used.
- the node ID (server ID) is determined (step 207).
- the message transmission unit 106 transmits a notification request to the device 300 set as the message destination to the notification server 200 having the note ID together with the node ID (device ID) (step 209).
- the message transmission unit 106 releases the connection with the notification server 200 (step 210).
- the message transmission unit 106 waits for a new connection or timeout from the message transmission destination device 300 (step 211).
- the message transmission unit 106 sends a message to the device 300 using the connection corresponding to the node ID. Is transmitted (step 213).
- the message transmission unit 106 discards the message (step 215).
- the message transmission unit 106 acquires the next entry that matches the node ID of the destination from the notification means list 103 (step 216), and repeats the processing from step 202 onward.
- the notification server 200 as a means for notifying the device 300 is provided, so that each device 300 has the communication relay device 310. Even if you do, you can always connect to the cloud side. Thereby, the load on the messaging server 100 is also reduced.
- the advantage of connecting to the messaging server 100 only when necessary after always connecting to the notification server 200 compared to the case where all the devices 300 are always connected to the messaging server 100 is the latter.
- the number of devices 300 that can be connected to one server can be greatly increased. For example, if the number of devices that can be supported by one messaging server 100 is 50,000, the number of devices that can be supported by one notification server 200 is one million.
- the processing to be performed is complicated, and it is necessary to prepare a sufficient communication buffer size per connection from the viewpoint of communication efficiency.
- the notification server 200 only needs to have a function of sending a very small message (notification message) to the device 300, the processing is very simple, and the communication buffer is also minimal. Just do it. Therefore, the resource required for one notification server 200 can be minimized.
- the mechanism when it is possible to set the communication relay device 310 to transfer communication from the outside to a specific internal device 300, the mechanism is used so that the cloud side Is further reduced.
- Means other than the notification server 200 such as UPnP IGD, may not be applied to communication between all the devices 300 alone. However, in a system based on the notification server 200, the load on the entire system is reduced. It functions effectively as a means.
- FIG. 21 is a diagram showing a network configuration of the system according to the present embodiment.
- only one messaging server 100 and one notification server 200 are provided on the cloud (WAN 50) side.
- the present embodiment as shown in FIG. are provided in plural. As will be described later, with such a configuration, a message from the device 300 is relayed between the plurality of messaging servers 100.
- messaging servers 100 and notification servers 200 Although a total of six messaging servers 100 and two notification servers 200 are shown in the figure, the number of messaging servers 100 and notification servers 200 is not limited to these.
- FIG. 22 is a diagram illustrating the configuration of software modules included in the messaging server 100, the notification server 200, and the device 300, respectively.
- the messaging server 100 includes a message transfer unit 107 in addition to the same modules as in the first embodiment (see FIG. 4).
- the message transfer unit 107 transfers the message to the other messaging server 100 (100B) in order to send the message to the device 300 that the messaging server 100 (100A) does not handle itself.
- the configuration of the modules included in the notification server 200 and the device 300 is the same as that described in the first embodiment.
- the determination process described below is an example, and it can be executed by both the messaging server 100 and the device 300, and as long as it is guaranteed that the same result can be obtained by either execution, the correspondence relationship can be achieved by any method. It may be determined.
- FIG. 23 is a flowchart showing a flow of server determination processing corresponding to the device 300. The following processing is described as being executed by the message transfer unit 107 of the messaging server 100, but may be executed by another module.
- the message transfer unit 107 first divides the values from 0 to 0xfffffff for each of the messaging server 100 and the notification server 200 according to the number of servers actually used, and creates a server allocation table. It is created (step 271). For example, the table is stored in the storage unit 18.
- FIG. 24 is a diagram illustrating an example of a server allocation table for the messaging server 100
- FIG. 25 is a diagram illustrating an example of a server allocation table for the notification server 200.
- the values from 0 to 0xffffffff are divided into predetermined ranges, and the server IDs of the messaging server 100 and the notification server 200 are assigned to the ranges of the values, respectively.
- the message transfer unit 107 receives the node ID from the server allocation target device 300 (step 272).
- the message transfer unit 107 calculates a hash value by SHA256-HASH by combining the received node ID and predetermined padding data (step 273).
- the message transfer unit 107 extracts the lower 32 bits from the obtained hash value (step 274).
- the message transfer unit 107 searches the lower 32 bits taken out from the server assignment table, and determines the corresponding server ID by referring to the server ID assigned thereto (step 275).
- the device ID is determined based on information embedded in the hardware of each device 300 (such as the MAC address of the wireless LAN and the IMEI of the mobile phone). Therefore, after purchasing the device 300, the user can connect to the messaging server 100 and the notification server 200 corresponding to the device 300 without any setting, and can communicate with any other device 300 via them. Enjoy the environment.
- the following description is also an example of the network address determination process, and it can be executed by both the messaging server 100 and the device 300 as long as it is guaranteed that the same result can be obtained by either execution. May be implemented in any way.
- IP address and port number In order to determine the network address (IP address and port number), (1) an example using DNS (Domain Name System) and (2) an example using a resolution table will be described.
- DNS Domain Name System
- resolution table An example using a resolution table
- the message transfer unit 107 of the messaging server 100 generates a host name from the server number of another messaging server 100 that is a target for determining a network address. Then, the message transfer unit 107 acquires an IP address using the DNS mechanism on the TCP / IP network based on the host name.
- the host name of the messaging server 100 is generated as “ms15.server.com”
- the host name of the notification server is generated as “ns1.server.com”.
- the acquired IP address and port number are distributed to the device 300, the other messaging server 100, and the notification server 200.
- the message transfer unit 107 creates a resolution table that defines the IP address and port number corresponding to the server number for each of the messaging server 100 and the notification server 200. These resolution tables are distributed to the device 300, the other messaging server 100, and the notification server 200.
- FIG. 26 is a diagram illustrating an example of a resolution table for the messaging server 100
- FIG. 27 is a diagram illustrating an example of a resolution table for the notification server 200.
- FIG. 28 is a diagram schematically showing an outline of the flow of data transmission processing between the devices 300.
- the message sending device 300A sends a message addressed to the device 300B to the messaging server 100A ((1) in the figure).
- the messaging server 100A that has received the message determines that it is a message to be supported by the other messaging server 100B
- the messaging server 100A transfers the message to the messaging server 100B ((2) in the figure).
- the messaging server 100B to which the message has been transferred transmits a notification request for requesting the notification server 200B corresponding thereto to notify the presence of the message addressed to the device 300B from the device 300A.
- the notification server 200B Upon receiving the notification request, the notification server 200B transmits a notification message to the corresponding device 300B ((3) in the figure).
- the device 300B that has received the notification message establishes a connection with the corresponding messaging server 100B and receives the message from the device 300A ((4) in the figure).
- FIG. 29 is a flowchart showing an operation flow of the connection processing unit 101 of the messaging server 100A.
- connection processing unit 101 first waits for a connection request from the device 300 or another messaging server 100B (step 291).
- connection processing unit 101 When there is a connection request from the device 300 or another messaging server 100B (Yes in Step 292), the connection processing unit 101 accepts the connection request and establishes a connection (Step 293).
- connection processing unit 101 receives the node ID (device ID, server ID) from the connection source device 300 or another messaging server 100B (step 294).
- connection processing unit 101 records the node ID and connection information (IP address and socket number) in the connection information list 104, and newly adds the device 300 or another messaging server 100B to the connection management target (step) 295).
- FIG. 30 is a flowchart showing the operation flow of the connection management unit 102 of the messaging server 100A.
- connection management unit 102 first waits for a message reception, error, or communication disconnection for all connections managed in the connection information list 104 (step 301).
- connection management unit 102 determines whether or not a message has been received (step 302).
- connection management unit 102 acquires the node ID set for the destination from the message (step 303).
- connection management unit 102 determines whether or not the acquired node ID is the node ID (server ID) of the messaging server 100A (step 304).
- the message processing unit 105 processes the message (step 305).
- the connection management unit 102 refers to the server allocation table and determines from the node ID set as the destination to The node ID of the corresponding messaging server is determined (step 306).
- connection management unit 102 determines whether or not the node ID of the messaging server corresponding to the user ID is the node ID of the messaging server 100A (step 307).
- connection management unit 102 delivers the message to the message transmission unit 106 (step 308).
- the connection management unit 102 delivers the message to the message transfer unit 107 (step 309).
- connection management unit 102 determines whether an error has occurred or communication has been disconnected for any of the connections to be managed (step 310). ).
- connection management unit 102 excludes an entry relating to a connection in which the error has occurred or communication has been disconnected from the connection information list 104 (step 311).
- FIG. 31 is a flowchart showing the operation flow of the message transfer unit 107 of the messaging server 100A.
- the message transfer unit 107 determines whether there is a connection corresponding to the node ID of the other messaging server 100B based on the connection information list 104 (whether it is already connected to the other messaging server 100B). It is confirmed whether or not (step 311).
- Step 313 If it is determined that a corresponding connection exists (Yes in Step 312), the message transfer unit 107 transfers the message to the other connected messaging server 100B (Step 313).
- Step 312 when it is determined that there is no corresponding connection (No in Step 312), the message transfer unit 107 establishes a connection with the other messaging server 100B (Step 314).
- the message transfer unit 107 adds the entry to the connection information list 104 (step 315), and then repeats the processing from step 311 onward.
- a plurality of messaging servers 100 and notification servers 200 are provided, and a message is transferred between the messaging servers 100 to support communication between a very large number of devices 300.
- FIG. 32 is a diagram showing a network configuration of the system according to the present embodiment.
- each device 300 is owned by a different user.
- a plurality of devices 300 may naturally be owned by a plurality of users.
- communication between devices 300 owned by the same user is increased compared to other devices. Therefore, in this embodiment, the concept of “owner” of each device 300 is introduced, and for the device 300 in which a user ID for identifying the owner is set, the messaging server 100 and the notification server 200 corresponding to the user ID are set from the user ID. We are going to decide.
- a plurality of messaging servers 100 and notification servers 200 exist on the cloud, as in the second embodiment.
- the same user is set as the owner of the device 300B and the device 300C.
- the messaging server 100B and the notification server 200B are set as the corresponding servers.
- the messaging server 100C and the notification server 200C are set in the corresponding servers based on the server allocation table described in the second embodiment, and have the same user ID as the device 300B. Therefore, the messaging server 100B and the notification server 200B are also set as the corresponding servers.
- the messaging server 100 has initial data. Then, a messaging server allocation table and a notification server allocation table (hereinafter referred to as a user ID server allocation table) based on the user ID are created. These tables are distributed in advance to each device 300 and each messaging server 100 and notification server 200.
- the method for creating the user ID server allocation table is the same as that described in the second embodiment except that the device ID is replaced by the user ID.
- the device ID server allocation table and the user ID server allocation table may be created on the device 300 side.
- each server group assigned based on the device ID and each server group assigned based on the user ID are prepared separately.
- Each device 300 also has means for recording a user ID (owner ID). In the initial state of each device 300, NULL is set.
- the device 300 in which the user ID is not set is connected to the messaging server 100 and the notification server 200 determined by the device ID as in the second embodiment.
- the device 300 for which the user ID has been set can be connected to all of the messaging server 100 and the notification server 200 determined by the device ID and the user ID, respectively.
- the message sending device 300 connects to the messaging server 100 which is usually determined by its user ID. If the user ID is set as the message destination, the message receiving device 300 connects to the corresponding messaging server 100, and otherwise connects to the messaging server 100 corresponding to the device ID.
- the device 300 sets both as the message destination and transmits the message.
- each device 300 when each device 300 knows only the device ID of the device 300 to which the message is sent, the device 300 sets the device ID as a message destination and transmits the message.
- FIG. 33 is a flowchart showing the flow of the operation.
- the following description shows the operation of the messaging server 100A that first receives a message from the device 300.
- another messaging server 100 is referred to as a messaging server 100B for convenience of explanation.
- connection management unit 102 of the messaging server 100A first waits for reception of a message, error, or communication disconnection for all connections managed in the connection information list 104 (step 331). .
- connection management unit 102 determines whether or not a message has been received (step 332).
- connection management unit 102 acquires the user ID and node ID set for the destination from the message (step 333).
- connection management unit 102 determines whether or not the acquired node ID is the node ID (server ID) of the messaging server 100A (step 334).
- the message processing unit 105 processes the message (step 335).
- the connection management unit 102 determines whether both the user ID and the node ID exist as the destination (step) 336).
- connection management unit 102 refers to the user ID server allocation table, determines the user ID set in the delivery destination, The node ID of the corresponding messaging server is determined (step 337).
- connection management unit 102 determines whether or not the node ID of the messaging server corresponding to the user ID is the node ID of the messaging server 100A (step 338).
- connection management unit 102 delivers the message to the message transmission unit 106 (step 339).
- the connection management unit 102 delivers the message to the message transfer unit 107 (step 340).
- connection management unit 102 refers to the device ID server allocation table.
- the node ID of the messaging server corresponding to the node ID (device ID) set as the destination is determined (step 341).
- connection management unit 102 determines whether or not the node ID of the messaging server corresponding to the node ID is the node ID of the messaging server 100A (step 342).
- connection management unit 102 delivers the message to the message transmission unit 106 (step 343).
- the connection management unit 102 delivers the message to the message transfer unit 107 (step 344).
- connection management unit 102 determines whether an error has occurred or communication has been disconnected for any connection to be managed (step 346). ).
- connection management unit 102 excludes an entry relating to a connection in which the error has occurred or communication has been disconnected from the connection information list 104 (step 347).
- devices 300 set with the same user ID connect to the same messaging server 100 and notification server 200 as long as the user ID is set as the message destination. Will do. Therefore, communication between the messaging servers 100 is reduced, and the load on the cloud side is reduced.
- the communication from the messaging server 100 to the notification server 200 is established / removed for each communication, but the connection may be maintained for a certain period of time.
- the messaging server 100 tries a plurality of notification means in order when they are available. However, in order to improve the response, the messaging server 100 may try according to the priority order when a plurality of communication means are available, or may notify in parallel by a plurality of notification means.
- the notification unit setting unit 301 is provided in each device 300 in order to set the notification unit. However, when each device 300 uses only a specific notification unit, the notification unit setting unit 301 is omitted. May be.
- each device 300 is provided with the notification server notification receiving unit 302 and the direct notification receiving unit 303 depending on whether the notification server 200 is used, but only one of them is provided. It may operate or may be operable at the same time.
- the connection used by the message receiving unit 304 of each device 300 is held for a certain period of time once established. However, the message receiving unit 304 may connect to the server every time if necessary. . In each of the above-described embodiments, the connection used by the message transmission unit 305 of each device 300 is established / removed every time. However, once the connection is established, it may be held for a certain period of time.
- each device 300 the message reception unit 304 and the message transmission unit 305 of each device 300 are shown as separate modules, but the connections used by both may be shared.
- each device 300 maintains a connection with the notification server 200 even during a period in which the device 300 is connected to the messaging server 100. However, each device 300 may once disconnect from the notification server 200 and connect to the notification server 200 again when the connection with the messaging server 100 is released.
- messages are used for all exchanges between the devices 300 via the messaging server 100.
- an application of each device 300 may be provided with an RPC (Remote Procedure Call) mechanism, a stream communication mechanism, and a communication mechanism such as HTTP emulation based on this message mechanism.
- RPC Remote Procedure Call
- the messaging server 100 and the notification server 200 are shown as physically different servers. However, since the difference between the two results from the setting and handling of the buffer size for the connection with each device 300, the same effect can be obtained in the following forms even if the form is not operated on a physically different server. Is obtained. (1) Run both the notification server process and the messaging server process on a single server machine. (2) One server process having a notification server function and a messaging server function is operated on a single server machine (a connection form corresponding to the notification server and a messaging server corresponding to the communication status with the device 300) Switch the connection type).
- a communication unit that can communicate with the first device, the second device, and the always-on server that is always connected to the second device via the network by connecting as needed via the network.
- Notification request information for requesting to receive data addressed to the second device from the first device and transmitting a notification message notifying the presence of the data to the second device is sent to the always-on server.
- An information processing apparatus comprising: a control unit capable of controlling the communication unit to transmit the data to the second device in response to a request from the second device that has transmitted and received the notification message .
- the control unit sends the notification message instead of transmitting the notification request information or in addition to transmitting the notification request information.
- An information processing apparatus that controls the communication unit to transmit directly to a second device.
- the information processing apparatus according to any one of [1] to [3] above, There are a plurality of the information processing devices and the always-on servers, The first device, the second device, the plurality of information processing devices, the first device, the second device, the plurality of information processing devices, and the first device, the second device, the plurality of information processing devices, It is associated using device identification information that uniquely identifies multiple always-on servers, When the control unit determines that the second device is associated with another information processing device based on the device identification information, the control unit transfers the data to the other information processing device.
- An information processing apparatus for controlling the communication unit is a plurality of information processing devices and the always-on servers.
- the information processing apparatus according to [4] above, A storage unit;
- the controller is Correspondence relationship between a value based on a hash value obtained from a predetermined hash function based on device identification information of each of the first device and the second device, and identification information of each of the plurality of information processing devices Create a table that defines Controlling the storage unit to store the created table;
- An information processing apparatus that determines another information processing apparatus corresponding to the second device based on the stored table.
- the control unit replaces the device identification information with the user identification information.
- An information processing apparatus that creates the table using a computer.
Abstract
Description
まず、本技術の第1の実施形態を説明する。
図1は、本実施形態に係るシステムのネットワーク構成を示した図である。
図2は、上記メッセージングサーバ100のハードウェア構成を示した図である。同図に示すように、メッセージングサーバ100は、CPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、入出力インタフェース15、及び、これらを互いに接続するバス14を備える。
上記通知サーバ200のハードウェア構成も、上記メッセージングサーバのハードウェア構成と同様であるため、説明を省略する。本実施形態では、通知サーバ200において、上記メッセージングサーバ100のCPU11、記憶部18、通信部19と対応するハードウェアをそれぞれCPU21、記憶部28、通信部29と称する。
図3は、上記デバイス300のハードウェア構成を示した図である。同図に示すように、デバイス300のハードウェア構成も、上記サーバ100のハードウェア構成と基本的に同様である。すなわち、デバイス300は、CPU31、ROM32、RAM33、入出力インタフェース35、及び、これらを互いに接続するバス34、表示部36、操作受付部37、記憶部38、通信部39を備える。
図4は、上記メッセージングサーバ100、通知サーバ200及びデバイス300がそれぞれ有するソフトウェアモジュールの構成を示した図である。
同図に示すように、メッセージングサーバ100は、接続処理部101、接続管理部102、メッセージ処理部105及びメッセージ送信部106の各ソフトウェアモジュールと、通知手段リスト103及び接続情報リスト104の各データベースとを有する。
図4に示すように、通知サーバ200は、接続処理部201及び接続管理部202の各ソフトウェアモジュールと、データベースとしての接続情報リスト203とを有する。
図4に示すように、各デバイス300は、通知手段設定部301、通知サーバ通知受信部302、直接通知受信部303、メッセージ受信部304、メッセージ送信部305及びメッセージ処理部306の各ソフトウェアモジュールを有する。
次に、以上のように構成されたシステムにおけるメッセージングサーバ100、通知サーバ200及びデバイス300の動作について、デバイス300間のデータ(メッセージ)送信処理を中心に説明する。本実施形態及び他の実施形態において、システムを構成する各ノードにおける動作は、CPUと、その制御下において実行される上記各ソフトウェアモジュールとで協働して行われる。
まず、通知手段が通知サーバ200である場合の、デバイス300間のデータ(メッセージ)送信処理の流れを説明する。図7はこの場合のデバイス300Aからデバイス300Bへのデータ送信処理の流れの概要を模式的に示した図である。
次に、通知手段がGlobal IPである場合の、デバイス300間のデータ(メッセージ)送信処理の流れを説明する。図8はこの場合のデバイス300Aからデバイス300Bへのデータ送信処理の流れの概要を模式的に示した図である。
次に、通知手段がUPnP IGDである場合の、デバイス300間のデータ(メッセージ)送信処理の流れを説明する。図9はこの場合のデバイス300Aからデバイス300Bへのデータ送信処理の流れの概要を模式的に示した図である。
次に、通知手段がUser Settingである場合の、デバイス300間のデータ(メッセージ)送信処理の流れを説明する。図10はこの場合のデバイス300Aからデバイス300Bへのデータ送信処理の流れの概要を模式的に示した図である。
次に、上述の送信処理におけるデバイス300の動作について説明する。
次に、上述の送信処理における通知サーバ200の動作について説明する。
次に、上述の送信処理におけるメッセージングサーバ100の動作について説明する。
以上説明したように、本実施形態では、クラウド側に、メッセージングサーバ100に加えて、デバイス300への通知手段としての通知サーバ200が設けられることで、各デバイス300は、通信中継装置310が存在する場合でも、クラウド側と常時接続することができる。また、それにより、メッセージングサーバ100の負荷も軽減する。
次に、本技術の第2の実施形態を説明する。本実施形態において、上記第1の実施形態と同様の構成及び機能を有する箇所には同一の符号を付し、説明を省略する。
図21は、本実施形態に係るシステムのネットワーク構成を示した図である。
図22は、上記メッセージングサーバ100、通知サーバ200及びデバイス300がそれぞれ有するソフトウェアモジュールの構成を示した図である。
同図に示すように、メッセージングサーバ100は、上記第1の実施形態と同様のモジュール(図4参照)に加えて、メッセージ転送部107を有する。
次に、以上のように構成されたシステムにおけるメッセージングサーバ100、通知サーバ200及びデバイス300の動作について、デバイス300間のデータ(メッセージ)送信処理を中心に説明する。
本実施形態では、メッセージングサーバ100及び通知サーバ200が複数設けられることから、メッセージの送信処理に先立ち、各デバイス300がどのメッセージングサーバ100及び通知サーバ200を利用するかが予め決定される。このデバイス300とそれが利用する各サーバとの対応関係は、デバイスIDを基にした所定の計算により決定される。この決定処理についてまず説明する。
本実施形態では、メッセージングサーバ100及び通知サーバ200が複数設けられることから、上記複数のメッセージングサーバ100及び通知サーバ200のサーバIDに対応する、TCP/IP上のネットワークアドレスも予め決定する必要がある。以下、当該ネットワークアドレスの決定処理について説明する。
メッセージングサーバ100のメッセージ転送部107は、ネットワークアドレス決定対象である他のメッセージングサーバ100のサーバ番号から、ホスト名を生成する。そしてメッセージ転送部107は、当該ホスト名を基に、TCP/IPネットワーク上のDNS機構を用いてIPアドレスを取得する。
メッセージ転送部107は、サーバ番号に対応するIPアドレス及びポート番号を定めたレゾリューションテーブルを、メッセージングサーバ100と通知サーバ200のそれぞれについて作成する。これらレゾリューションテーブルは、デバイス300、他のメッセージングサーバ100及び通知サーバ200に配布される。
次に、本実施形態におけるデバイス300間のデータ(メッセージ)送信処理を説明する。図28は、当該デバイス300間におけるデータ送信処理の流れの概要を模式的に示した図である。
次に、上記送信処理におけるメッセージングサーバ100の動作について説明する。以下の説明では、デバイス300から最初にメッセージを受信するメッセージングサーバ100Aの動作を示す。また、他のメッセージングサーバ100を説明の便宜上メッセージングサーバ100Bと称する。
以上説明したように、本実施形態においては、メッセージングサーバ100及び通知サーバ200が複数設けられ、メッセージングサーバ100間でメッセージが転送されることで、非常に多数のデバイス300間での通信がサポートされる。
次に、本技術の第3の実施形態を説明する。本実施形態において、上記第1及び第2の実施形態と同様の構成及び機能を有する箇所には同一の符号を付し、説明を省略する。
図32は、本実施形態に係るシステムのネットワーク構成を示した図である。
次に、以上のように構成されたシステムにおけるメッセージングサーバ100、通知サーバ200及びデバイス300の動作について、デバイス300間のデータ(メッセージ)送信処理を中心に説明する。
メッセージングサーバ100は、初期データとして、上記第2の実施形態で説明したようなデバイスIDを基にしたメッセージングサーバ割り当てテーブル及び通知サーバ割り当てテーブル(以下、デバイスID用サーバ割り当てテーブルと称する)に加えて、ユーザIDを基にしたメッセージングサーバ割り当てテーブル及び通知サーバ割り当てテーブル(以下、ユーザID用サーバ割り当てテーブルと称する)を作成する。これらのテーブルは予め各デバイス300並びに各メッセージングサーバ100及び通知サーバ200へ配布される。当該ユーザID用サーバ割り当てテーブルの作成方法は、デバイスIDがユーザIDに代わる以外は、上記第2実施形態で説明したのと同様である。
次に、上記メッセージ送信処理におけるメッセージングサーバ100の動作について説明する。図33は、当該動作の流れを示したフローチャートである。以下の説明では、デバイス300から最初にメッセージを受信するメッセージングサーバ100Aの動作を示す。また、他のメッセージングサーバ100を説明の便宜上メッセージングサーバ100Bと称する。
以上説明したように、本実施形態によれば、同一のユーザIDが設定されたデバイス300は、メッセージの宛先に当該ユーザIDが設定されている限り、同一のメッセージングサーバ100及び通知サーバ200に接続することになる。したがって、メッセージングサーバ100間の通信が削減され、クラウド側の負荷が低減する。
本技術は上述の実施形態にのみ限定されるものではなく、本技術の要旨を逸脱しない範囲内において種々変更され得る。
(1)単一のサーバマシン上で通知サーバプロセスとメッセージングサーバプロセス双方を動作させる。
(2)単一のサーバマシン上で、通知サーバ機能とメッセージングサーバ機能を持った1つのサーバプロセスを動作させる(デバイス300との通信状況に応じて、通知サーバ相当の接続形態と、メッセージングサーバ相当の接続形態を切り替える)。
本技術は以下のような構成も採ることができる。
[1]
第1の機器、第2の機器、並びに前記第2の機器とネットワークを介して常時接続される常時接続サーバとの間で、前記ネットワークを介して必要に応じて接続して通信可能な通信部と、
前記第1の機器から、前記第2の機器宛のデータを受信し、当該データの存在を通知する通知メッセージを前記第2の機器へ送信するように要求する通知要求情報を前記常時接続サーバへ送信し、前記通知メッセージを受信した第2の機器からの要求に応じて、前記データを当該第2の機器へ送信するように、前記通信部を制御可能な制御部と
を具備する情報処理装置。
[2]
上記[1]に記載の情報処理装置であって、
記憶部をさらに具備し、
前記第2の機器は、通信中継装置を介して当該情報処理装置及び前記常時接続サーバと通信し、
前記制御部は、
前記通信中継装置が、当該情報処理装置からの通信を第2の機器へ転送するように設定されている場合には、当該転送設定に関する情報を記憶するように前記記憶部を制御し、
前記記憶された情報を用いて、前記通知要求情報の送信に代えて、または、前記通知要求情報の送信に加えて、前記通知メッセージを前記第2の機器へ直接送信するように前記通信部を制御する
情報処理装置。
[3]
上記[1]または[2]に記載の情報処理装置であって、
前記制御部は、前記第2の機器にグローバルIPアドレスが割り当てられている場合には、前記通知要求情報の送信に代えて、または、前記通知要求情報の送信に加えて、前記通知メッセージを前記第2の機器へ直接送信するように前記通信部を制御する
情報処理装置。
[4]
上記[1]~[3]のいずれかに記載の情報処理装置であって、
当該情報処理装置及び前記常時接続サーバはそれぞれ複数存在し、
前記第1の機器及び前記第2の機器は、それぞれ1つの前記情報処理装置及び前記常時接続サーバと通信するよう、当該第1の機器、前記第2の機器、前記複数の情報処理装置、前記複数の常時接続サーバをそれぞれ一意に識別する機器識別情報を用いて対応付けられており、
前記制御部は、前記機器識別情報を基に、前記第2の機器が他の情報処理装置と対応付けられていると判断した場合には、前記データを当該他の情報処理装置へ転送するように前記通信部を制御する
情報処理装置。
[5]
上記[4]に記載の情報処理装置であって、
記憶部をさらに具備し、
前記制御部は、
前記第1の機器及び前記第2の機器のそれぞれの機器識別情報を基に所定のハッシュ関数から得られるハッシュ値に基づいた値と、当該複数の情報処理装置のそれぞれの識別情報との対応関係を定めたテーブルを作成し、
前記作成されたテーブルを記憶するように前記記憶部を制御し、
前記記憶されたテーブルを基に、前記第2の機器に対応する他の情報処理装置を決定する
情報処理装置。
[6]
上記[5]に記載の情報処理装置であって、
前記制御部は、前記第1の機器及び前記第2の機器にそれぞれを所有するユーザを一意に識別するユーザ識別情報が設定されている場合には、前記機器識別情報に代えて前記ユーザ識別情報を用いて前記テーブルを作成する
情報処理装置。
12、32…ROM
13、33…RAM
18、38…記憶部
19、39…通信部
50…WAN
100(100A,100B,100C)…メッセージングサーバ
101…接続処理部
102…接続管理部
103…通知手段リスト
104…接続情報リスト
105…メッセージ処理部
106…メッセージ送信部
107…メッセージ転送部
200(200A,200B,200C)…通知サーバ
201…接続処理部
202…接続管理部
203…接続情報リスト
300(300A,300B,300C)…デバイス
301…通知手段設定部
302…通知サーバ通知受信部
303…直接通知受信部
304…メッセージ受信部
305…メッセージ送信部
306…メッセージ処理部
310(310A,310B)…通信中継装置
Claims (10)
- 第1の機器、第2の機器、並びに前記第2の機器とネットワークを介して常時接続される常時接続サーバとの間で、前記ネットワークを介して必要に応じて接続して通信可能な通信部と、
前記第1の機器から、前記第2の機器宛のデータを受信し、当該データの存在を通知する通知メッセージを前記第2の機器へ送信するように要求する通知要求情報を前記常時接続サーバへ送信し、前記通知メッセージを受信した第2の機器からの要求に応じて、前記データを当該第2の機器へ送信するように、前記通信部を制御可能な制御部と
を具備する情報処理装置。 - 請求項1に記載の情報処理装置であって、
記憶部をさらに具備し、
前記第2の機器は、通信中継装置を介して当該情報処理装置及び前記常時接続サーバと通信し、
前記制御部は、
前記通信中継装置が、当該情報処理装置からの通信を第2の機器へ転送するように設定されている場合には、当該転送設定に関する情報を記憶するように前記記憶部を制御し、
前記記憶された情報を用いて、前記通知要求情報の送信に代えて、または、前記通知要求情報の送信に加えて、前記通知メッセージを前記第2の機器へ直接送信するように前記通信部を制御する
情報処理装置。 - 請求項1に記載の情報処理装置であって、
前記制御部は、前記第2の機器にグローバルIPアドレスが割り当てられている場合には、前記通知要求情報の送信に代えて、または、前記通知要求情報の送信に加えて、前記通知メッセージを前記第2の機器へ直接送信するように前記通信部を制御する
情報処理装置。 - 請求項1に記載の情報処理装置であって、
当該情報処理装置及び前記常時接続サーバはそれぞれ複数存在し、
前記第1の機器及び前記第2の機器は、それぞれ1つの前記情報処理装置及び前記常時接続サーバと通信するよう、当該第1の機器、前記第2の機器、前記複数の情報処理装置、前記複数の常時接続サーバをそれぞれ一意に識別する機器識別情報を用いて対応付けられており、
前記制御部は、前記機器識別情報を基に、前記第2の機器が他の情報処理装置と対応付けられていると判断した場合には、前記データを当該他の情報処理装置へ転送するように前記通信部を制御する
情報処理装置。 - 請求項4に記載の情報処理装置であって、
記憶部をさらに具備し、
前記制御部は、
前記第1の機器及び前記第2の機器のそれぞれの機器識別情報を基に所定のハッシュ関数から得られるハッシュ値に基づいた値と、当該複数の情報処理装置のそれぞれの識別情報との対応関係を定めたテーブルを作成し、
前記作成されたテーブルを記憶するように前記記憶部を制御し、
前記記憶されたテーブルを基に、前記第2の機器に対応する他の情報処理装置を決定する
情報処理装置。 - 請求項5に記載の情報処理装置であって、
前記制御部は、前記第1の機器及び前記第2の機器にそれぞれを所有するユーザを一意に識別するユーザ識別情報が設定されている場合には、前記機器識別情報に代えて前記ユーザ識別情報を用いて前記テーブルを作成する
情報処理装置。 - 第1の機器及び第2の機器とネットワークを介して常時接続して通信可能であり、前記第1の機器と前記第2の機器との間のデータの送受信を前記ネットワーク上で仲介する仲介サーバと必要に応じて接続して通信可能な通信部と、
前記第1の機器から送信された前記第2の機器宛のデータが前記仲介サーバにより受信された場合に、当該仲介サーバから、当該データの存在を通知する通知メッセージを前記第2の機器へ送信するように要求する通知要求情報を受信し、当該通知要求情報に基づいて、前記通知メッセージを前記第2の機器へ送信するように、前記通信部を制御可能な制御部と
を具備する情報処理装置。 - ネットワーク上の第1のサーバと必要に応じて接続して通信可能であり、前記ネットワーク上の第2のサーバと常時接続して通信可能な通信部と、
他の情報処理装置から送信されたデータの存在を通知する通知メッセージを前記第2のサーバから受信し、当該受信された通知メッセージを基に、前記データを前記第1のサーバから受信するように前記通信部を制御可能な制御部と
を具備する情報処理装置。 - 第1の機器とネットワークを介して接続を確立して当該第1の機器から第2の機器宛のデータを受信し、
前記データの存在を通知する通知メッセージを当該第2の機器へ送信するように要求する通知要求情報を、前記第2の機器と常時接続されたサーバへ送信し、
前記通知メッセージを受信した前記第2の機器からの要求に応じて接続を確立して当該第2の機器へ前記データを送信する
情報処理方法。 - 情報処理装置に、
第1の機器とネットワークを介して接続を確立して当該第1の機器から第2の機器宛のデータを受信するステップと、
前記データの存在を通知する通知メッセージを当該第2の機器へ送信するように要求する通知要求情報を、前記第2の機器と常時接続された常時接続サーバへ送信するステップと、
前記通知メッセージを受信した前記第2の機器からの要求に応じて当該第2の機器と接続を確立して当該第2の機器へ前記データを送信するステップと
を実行させるプログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201280069142.2A CN104094243B (zh) | 2012-02-13 | 2012-11-27 | 信息处理装置和信息处理方法 |
US14/373,968 US20140365606A1 (en) | 2012-02-13 | 2012-11-27 | Information processing apparatus, information processing method, and program |
JP2013558589A JP5962676B2 (ja) | 2012-02-13 | 2012-11-27 | 情報処理装置、情報処理方法及びプログラム |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012-028074 | 2012-02-13 | ||
JP2012028074 | 2012-02-13 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2013121487A1 true WO2013121487A1 (ja) | 2013-08-22 |
Family
ID=48983657
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2012/007588 WO2013121487A1 (ja) | 2012-02-13 | 2012-11-27 | 情報処理装置、情報処理方法及びプログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US20140365606A1 (ja) |
JP (1) | JP5962676B2 (ja) |
CN (1) | CN104094243B (ja) |
WO (1) | WO2013121487A1 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015072582A1 (en) * | 2013-11-18 | 2015-05-21 | Ricoh Company, Limited | Control system, communication system, computer program, controlling method, and computer program product |
JP2015103123A (ja) * | 2013-11-27 | 2015-06-04 | シャープ株式会社 | ネットワークシステム、通信方法、電子機器、アプリケーションサーバ、プログラム |
JP2015133048A (ja) * | 2014-01-15 | 2015-07-23 | シャープ株式会社 | ネットワークシステム、常時接続方法、サーバ、電子機器、プログラム |
JP2015162034A (ja) * | 2014-02-27 | 2015-09-07 | コニカミノルタ株式会社 | 画像形成システム、中継サーバー、通信制御方法及びプログラム |
JP2021069098A (ja) * | 2019-10-28 | 2021-04-30 | 株式会社バッファロー | ルータ、制御プログラム、端末装置、通信システム |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160061681A (ko) * | 2014-11-24 | 2016-06-01 | 삼성전자주식회사 | 메시지 전송 시스템, 메시지 전송 서버, 사용자 단말 장치, 메시지 전송 방법 및 메시지 수신 방법 |
CN112752353B (zh) * | 2019-10-31 | 2022-06-10 | 中移物联网有限公司 | 一种连接方法及终端设备 |
CN113285971B (zh) * | 2021-02-23 | 2022-11-18 | 江苏未来智慧信息科技有限公司 | 针对工具柜的数据输送平台和输送方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002344529A (ja) * | 2001-05-21 | 2002-11-29 | Sharp Corp | プッシュ型サービスシステム |
JP2007233680A (ja) * | 2006-03-01 | 2007-09-13 | Matsushita Electric Works Ltd | 防犯システム |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6965917B1 (en) * | 1999-09-07 | 2005-11-15 | Comverse Ltd. | System and method for notification of an event |
US6498835B1 (en) * | 2000-02-29 | 2002-12-24 | Ameritech Corporation | Method and system for providing visual notification in a unified messaging system |
US7499973B2 (en) * | 2001-12-21 | 2009-03-03 | Motorola, Inc. | System and method for automatically forwarding a communication message |
US7899932B2 (en) * | 2003-01-15 | 2011-03-01 | Panasonic Corporation | Relayed network address translator (NAT) traversal |
JP4648906B2 (ja) * | 2004-08-31 | 2011-03-09 | 一博 椎名 | 通話を伴うプッシュ型情報通信システム |
CN100533415C (zh) * | 2005-05-11 | 2009-08-26 | 索尼株式会社 | 服务器设备、用于其的器件间连接方法 |
US7853245B2 (en) * | 2005-11-08 | 2010-12-14 | Research In Motion Limited | System and methods for wireless messaging |
US8924489B2 (en) * | 2011-01-05 | 2014-12-30 | Apple Inc. | Message push notification client improvements for multi-user devices |
US20120331526A1 (en) * | 2011-06-22 | 2012-12-27 | TerraWi, Inc. | Multi-level, hash-based device integrity checks |
-
2012
- 2012-11-27 CN CN201280069142.2A patent/CN104094243B/zh active Active
- 2012-11-27 WO PCT/JP2012/007588 patent/WO2013121487A1/ja active Application Filing
- 2012-11-27 JP JP2013558589A patent/JP5962676B2/ja not_active Expired - Fee Related
- 2012-11-27 US US14/373,968 patent/US20140365606A1/en not_active Abandoned
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002344529A (ja) * | 2001-05-21 | 2002-11-29 | Sharp Corp | プッシュ型サービスシステム |
JP2007233680A (ja) * | 2006-03-01 | 2007-09-13 | Matsushita Electric Works Ltd | 防犯システム |
Non-Patent Citations (1)
Title |
---|
TAKAYUKI KANDO ET AL.: "Platform for Tool as a Service : To serve development tools via cloud service", IEICE TECHNICAL REPORT, vol. 111, no. 328, 22 November 2011 (2011-11-22), pages 27 - 32 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015072582A1 (en) * | 2013-11-18 | 2015-05-21 | Ricoh Company, Limited | Control system, communication system, computer program, controlling method, and computer program product |
CN105745632A (zh) * | 2013-11-18 | 2016-07-06 | 株式会社理光 | 控制系统、通信系统、计算机程序、控制方法和计算机程序产品 |
EP3072053A4 (en) * | 2013-11-18 | 2016-11-30 | Ricoh Co Ltd | CONTROL SYSTEM, COMMUNICATION SYSTEM, COMPUTER PROGRAM, CONTROL METHOD, AND COMPUTER PROGRAM PRODUCT |
US10122768B2 (en) | 2013-11-18 | 2018-11-06 | Ricoh Company, Limited | Control system, communication system, computer program, controlling method, and computer program product |
JP2015103123A (ja) * | 2013-11-27 | 2015-06-04 | シャープ株式会社 | ネットワークシステム、通信方法、電子機器、アプリケーションサーバ、プログラム |
JP2015133048A (ja) * | 2014-01-15 | 2015-07-23 | シャープ株式会社 | ネットワークシステム、常時接続方法、サーバ、電子機器、プログラム |
JP2015162034A (ja) * | 2014-02-27 | 2015-09-07 | コニカミノルタ株式会社 | 画像形成システム、中継サーバー、通信制御方法及びプログラム |
JP2021069098A (ja) * | 2019-10-28 | 2021-04-30 | 株式会社バッファロー | ルータ、制御プログラム、端末装置、通信システム |
JP7311780B2 (ja) | 2019-10-28 | 2023-07-20 | 株式会社バッファロー | ルータ、制御プログラム、端末装置、通信システム |
Also Published As
Publication number | Publication date |
---|---|
CN104094243A (zh) | 2014-10-08 |
JP5962676B2 (ja) | 2016-08-03 |
CN104094243B (zh) | 2017-03-08 |
JPWO2013121487A1 (ja) | 2015-05-11 |
US20140365606A1 (en) | 2014-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5962676B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP6785376B2 (ja) | IoTデバイスコネクティビティ、ディスカバリ、ネットワーキング | |
US8499083B2 (en) | Relay device and communication system | |
JP5888405B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
US9515927B2 (en) | System and method for layer 3 proxy routing | |
JP2008181427A (ja) | シングルサインオンシステム、情報端末装置、シングルサインオンサーバ、プログラム | |
US20130091264A1 (en) | Dynamic session migration between network security gateways | |
JP2008225644A (ja) | ゲートウェイ装置、ゲートウェイ装置の負荷分散方法及びゲートウェイ装置の負荷分散プログラム | |
JP5880688B2 (ja) | 情報処理装置、情報処理システム、情報処理方法及びプログラム | |
JP6193155B2 (ja) | 通信装置、通信システム、通信方法およびプログラム | |
JP4683345B2 (ja) | ネットワーク負荷分散装置、ネットワーク負荷分散方法及びプログラム | |
JP2008236278A (ja) | 通信接続方法及び通信装置 | |
US20110276673A1 (en) | Virtually extending the functionality of a network device | |
WO2011117959A1 (ja) | 通信装置、通信装置の制御方法、プログラム | |
JP2012165269A (ja) | 中継サーバ及び中継通信システム | |
JP2013126219A (ja) | 転送サーバおよび転送プログラム | |
US20230143067A1 (en) | Cross-LAN Communication and Group Member Contact Synchronization | |
WO2024024280A1 (ja) | 通信処理装置および通信方法 | |
JP2010081109A (ja) | 通信システム、管理装置、中継装置、及びプログラム | |
JP2017017587A (ja) | ルータ装置、接続確立方法、通信システム、通信端末 | |
JP2017153042A (ja) | 通信システム、及びパケット転送方法 | |
JP4622754B2 (ja) | 通信システム、通信方法、送信装置、送信方法、受信装置、受信方法、およびプログラム | |
JP2015109637A (ja) | データ通信システム、それに用いられる転送装置および中継装置、並びにプログラム | |
JP2014165560A (ja) | サーバおよびプログラム | |
US20180248958A1 (en) | Sharing local network resources with a remote vdi instance |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 12868491 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2013558589 Country of ref document: JP Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 14373968 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 12868491 Country of ref document: EP Kind code of ref document: A1 |