WO2014030426A1 - シームレスプッシュシステム及びその方法 - Google Patents

シームレスプッシュシステム及びその方法 Download PDF

Info

Publication number
WO2014030426A1
WO2014030426A1 PCT/JP2013/067437 JP2013067437W WO2014030426A1 WO 2014030426 A1 WO2014030426 A1 WO 2014030426A1 JP 2013067437 W JP2013067437 W JP 2013067437W WO 2014030426 A1 WO2014030426 A1 WO 2014030426A1
Authority
WO
WIPO (PCT)
Prior art keywords
push
terminal
gateway
message
response
Prior art date
Application number
PCT/JP2013/067437
Other languages
English (en)
French (fr)
Inventor
中村洋介
二村和明
伊藤栄信
Original Assignee
富士通株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 富士通株式会社 filed Critical 富士通株式会社
Priority to EP13831233.5A priority Critical patent/EP2887214A4/en
Priority to JP2014531535A priority patent/JP5854148B2/ja
Publication of WO2014030426A1 publication Critical patent/WO2014030426A1/ja
Priority to US14/624,099 priority patent/US20150163168A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • 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
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/60Subscription-based services using application servers or record carriers, e.g. SIM application toolkits

Definitions

  • This embodiment relates to a seamless push system and method.
  • the push system provides a service for sending a message or an application program (hereinafter referred to as an application or simply an application) to a user's terminal at any timing desired by the user. For example, if the terminal can connect to a company intranet, messages and applications are sent via the intranet.
  • an application or simply an application an application program
  • an application used for business may contain confidential information
  • a push message is transmitted to the terminal, and the application is downloaded to the terminal in response thereto.
  • the push message may include download destination information, and it is necessary to store the push message in a server in the intranet from the viewpoint of protecting confidential information.
  • an object of the present embodiment is to provide a seamless push system and method for seamlessly sending messages and applications even when the terminal can connect to the Internet outside the intranet.
  • a first aspect of the seamless push system is provided in an intranet, and in response to a push message transmission request, a first push gateway that transmits the push message to a terminal in a connected state via the intranet;
  • a second push gateway provided in the Internet and capable of maintaining a connection state with the terminal via the Internet, and while the terminal is connectable to the Internet, the second push gateway is A connection state is established from the terminal via the Internet and the connection state is maintained, and the first push gateway transfers the push message to the second push gateway in response to the push message transmission request.
  • the second push gateway In response to the transfer of the push message, the terminal in the connected state, and transmits the push message over the Internet.
  • messages and applications can be sent even when the terminal can connect to the Internet.
  • FIG. 1 is a diagram for explaining the outline of the push system.
  • the push system shown in FIG. 1 is built in an intranet NET1 such as in a company or school.
  • the intranet NET1 is protected from the external Internet NET2 by a gateway GW such as a firewall. Therefore, the push system transmits a push requester device Pu-req that requests transmission of a push message, a push gateway PGW that transmits a push message to the user terminal SD, and an application to the terminal SD within the intranet NET1.
  • It has an application server App-ser, which can be connected to each other via intranet NET1.
  • the push requester device Pu-req is a server or a terminal of a service provider that provides a service for pushing and transmitting an application to the user terminal SD.
  • the push requester device Pu-req requests a push message from the push gateway PGW.
  • the push message is a message that triggers the terminal to download the application, and has, for example, download destination information.
  • the push gateway PGW is a server that performs push communication of a requested push message to a user terminal SD.
  • application server App-ser is a server which transmits an application to a user's terminal SD.
  • the user terminal SD is, for example, a smartphone, a smart pad terminal, a PC, etc., and is a terminal that can be moved anywhere.
  • the terminal SD can be connected to a wireless LAN in the intranet or the Internet via WiFi, and can also be connected to the Internet via a 3G public telephone network.
  • the push gateway PGW and the terminal SD can establish a connection state using the TCP protocol or the like and can maintain the connection state. In this way, the terminal gateway PGW can push the push message to the terminal SD at any time by keeping the terminal SD always connected.
  • the terminal SD connects to the application server App-ser, downloads an application corresponding to the push message from the application server App-ser, and executes it on the terminal SD.
  • Schematic operation is as follows.
  • the terminal SD establishes a connection with the push gateway PGW in advance and maintains the connection state.
  • the push requester device Pu-req transmits a push message to the push gateway PGW.
  • the push message is attached with push destination information indicating to which terminal SD the push message should be sent.
  • the push gateway PGW transmits the push message to the push destination terminal SD that maintains the connection state.
  • the download application in the terminal SD connects to the application server App-ser based on the download destination information of the push message, and downloads the corresponding application.
  • the terminal SD executes the downloaded application on the terminal SD.
  • the user's terminal SD can always receive the push message and download and execute the corresponding application as long as the connection state with the push gateway PGW is maintained.
  • This enables application push services.
  • Applications used in business contain corporate confidential information, but the application server App-ser is installed in the highly secure intranet NET1, so the risk of confidential information leakage is low.
  • the push message also contains secret information such as the URL of the application download destination, but since the push requester device Pu-req is also installed in the intranet NET1, there are few security problems.
  • the push gateway PGW needs to hold the push destination information for sending the push message, the push requester ID, the password PW, etc., but it is installed in the intranet NET1. There are few problems above.
  • the terminal SD may maintain a connection state with the push gateway PGW.
  • the push gateway PGW is installed in the intranet NET1. For this reason, when the terminal SD moves from the intranet NET1 to the Internet NET2, maintaining the connection state between the terminal SD and the push gateway PGW is hindered by the intranet gateway GW. Furthermore, the terminal SD that has moved to the Internet NET2 downloads applications from the application server App-ser, which has a firewall problem due to the gateway GW.
  • the terminal SD while the terminal SD is connected to the Internet NET2, it is considered that the terminal SD establishes a communication path with the push system in the intranet NET1 by the virtual private network VPN and is always connected to the push gateway PGW. It is done.
  • a third party accesses the intranet NET1 via a VPN established by a terminal SD on the outside Internet, which leaves a security problem.
  • FIG. 2 is a diagram for explaining the outline of the seamless push system. According to the push system of FIG. 2, even when the user's terminal SD moves to the Internet NET2, the application can be seamlessly sent to the terminal SD.
  • the push requester device Pu-req and the application server App-ser in the intranet NET1 are the same as those in FIG.
  • the configuration different from FIG. 1 is that a private push gateway Pri-PGW is installed in the intranet NET1, and a public push gateway Pub-PGW is installed in the Internet NET2. Both gateways Pri-PGW and Pub-PGW are linked so that a predetermined command can be transmitted and received.
  • the terminal SD in the Internet NET2 can access the public push gateway Pub-PGW via the Internet NET2, establish a connection using the TCP protocol, and maintain the connection state.
  • the private push gateway Pri-PGW has a database Pri-DB storing push message destination information, push requester information, push messages waiting to be retransmitted, etc.
  • the public push gateway Pub-PGW database, Pub-DB, installed in is not holding such secret information.
  • the database Pub-DB of the public push gateway Pub-PGW stores only information with little or no confidentiality such as the device ID of the terminal SD in the connected state. Using this connection state, the private push gateway Pri-PGW can push the push message to the terminal SD via the public push gateway Pub-PGW and the Internet NET2.
  • the terminal SD when the push message is received, the terminal SD establishes a virtual private network VPN on the push server application server App-ser in the intranet NET1, and from the application server App-ser via the VPN communication path. Download the application. In addition, the terminal SD establishes a connection with the private push gateway Pri-PGW via the VPN and maintains the connection state so that the push message can be received while the VPN is set up.
  • This VPN is a technology for connecting from a terminal on the Internet to a specific local area network (LAN), and is called a remote VPN among VPNs using the Internet.
  • VPN is a technology that prevents unauthorized access such as peeping and tampering and enables secure communication, and is a private network realized using a public network such as the Internet.
  • One feature of VPN is that it encapsulates the packet and transmits it via tunneling, and encrypts the packet.
  • a VPN is constructed in order for a terminal SD on the Internet to connect to an application server in the intranet to obtain a secure communication path.
  • FIG. 3 is a flowchart showing a schematic operation of the application push system of FIG.
  • both push gateways Pri-PGW and Pub-PGW are activated (ST1), and initial registration is performed (ST2).
  • the private push gateway Pri-PGW uses the IP address of the partner public push gateway Pub-PGW, the push requester device ID and password PW, and the push destination information (destination ID).
  • the terminal SD sets the push destination information, the IP information of both push gateways Pri-PGW and Pub-PGW, and the like.
  • the public push gateway Pub-PGW sets the IP address of the partner private push gateway Pri-PGW.
  • Push destination information may be, for example, information indicating which download application is in which terminal, or simply a terminal ID (device ID).
  • a push message is transmitted (ST3).
  • the terminal SD establishes a connection with the push gateway PGW in advance and maintains the connection state (ST3-1).
  • the push requester device Pu-req sends a push message transmission request to the push gateway PGW (ST3-2), and the push gateway PGW pushes the push message to the connected terminal SD (ST3-3).
  • the terminal SD accesses the application server App-ser to download and execute the application (ST4). Download and execution by the terminal SD are automatically performed by a dedicated application.
  • the seamless push system of FIG. 2 provides an application push service by the initial registration ST2, the push message transmission ST3, and the application download and execution ST4 based on the push message.
  • An outline of the operation when the terminal moves into the Internet will be described below.
  • the terminal SD When the terminal SD is in the intranet NET1, it can be connected to the intranet.
  • the private push gateway Pri-PGW pushes the requested push message to the terminal SD that is connected in advance, and in response, the terminal SD passes through the intranet. Connect to the app server Pri-ser and download and install the application.
  • the terminal SD in the Internet When the terminal SD in the Internet is connected, it can be connected to the Internet. An operation in which an application is sent in this case will be described. First, information such as the mutual IP address is exchanged between the private push gateway Pri-PGW and the public push gateway Pub-PGW and set in advance.
  • the private push gateway Pri-PGW is pre-set with push destination information, which is the destination of the push message, and the push requester information, and is stored in the database Pub-DB and is also sent to the terminal SD. Is set.
  • the terminal SD is the terminal ID (device ID).
  • the terminal SD that can be connected to the Internet NET2 by 3G or WiFi establishes a connection with the public push gateway Pub-PGW using the TCP protocol and maintains the connection state.
  • This connection terminal information is recorded in the database Pub-DB of the public push gateway Pub-PGW.
  • the push requester device Pu-req sends a push message request (push request) to the private push gateway Pri-PGW.
  • the private push gateway Pri-PGW transmits a push message transfer command (push transfer command) together with the push message to the public push gateway Pub-PGW.
  • This push transfer command is transmitted by, for example, the HTTP protocol.
  • the public push gateway Pub-PGW refers to the database Pub-DB to confirm that the terminal SD to which the push message is sent is in a connected state, and sends a push message to the terminal SD.
  • Push to send the terminal SD creates a virtual private network VPN with the application server App-ser in the intranet NET1, accesses the URL embedded in the push message, and automatically downloads the application. Then, the terminal SD executes the downloaded application.
  • the private push gateway Pri-PGW can push the push message to the terminal SD at any time, and can send in the application.
  • the always-on state of the terminal SD is established for the public push gateway Pub-PGW installed in the Internet NET2 without going through the gateway GW.
  • the terminal SD has a push system in the intranet NET1 and a private network VPN, so security can be kept high.
  • the public push gateway Pub-PGW installed in the Internet NET2 is connected to the terminal SD (terminal ID (device ID ID)) only, and there is no need to hold confidential information such as push messages, push destination information and push requester information.
  • the push requester device Pu-req transmits a push message transmission request to the private push gateway Pri-PGW. Since the destination terminal SD is not connected via the intranet NET1, the private push gateway Pri-PGW stores the push message and the push destination information in the retransmission queue in the database Pri-DB. Then, the private push gateway Pri-PGW transmits a push transfer command to the public push gateway Pub-PGW.
  • Public push gateway Pub-PGW pushes forwarded push message if terminal SD is connected via Internet NET2, and receives push acknowledge ACK from terminal SD, A push transmission completion notification command is transmitted to the private push gateway Pri-PGW.
  • the private push gateway Pri-PGW makes the push message stored in the retransmission queue in the database Pri-DB transmitted.
  • the public push gateway Pub-PGW cannot push the transferred push message to the terminal SD. Therefore, the push transmission completion notification command is not transmitted to the private push gateway Pri-PGW, and the push message remains in the retransmission queue in the database Pri-DB.
  • the terminal SD when the terminal SD is switched from OFF to ON, or moved to a place where it can be connected to the Internet, and connected to the Internet NET2, the terminal SD is connected to the public push gateway Pub-PGW with the TCP protocol. Establish a connection with.
  • the public push gateway Pub-PGW sends a resend inquiry command to the private push gateway Pri-PGW to inquire whether the push message addressed to the newly connected terminal SD is waiting for resending. To do.
  • the private push gateway Pri-PGW checks the retransmission queue in the database Pri-DB, and if a push message waiting for retransmission to the queried terminal SD is stored in the retransmission queue, the push transfer command is made public. Send to Push Gateway Pub-PGW. In response to this, the public push gateway Pub-PGW pushes the transferred push message to the terminal SD. After that, the terminal SD establishes a VNP in the application server App-ser, downloads and executes the application.
  • the public push gateway Pub-PGW that receives the push transfer command may store the transferred push message in its database Pub-DB if the terminal SD has not established a connection at that time. It is discarded without confidential information being exposed on the Internet.
  • the terminal SD passes through the VPN to the private push gateway Pri- It is desirable to establish a connection with the PGW and maintain the connection status. As a result, the push message can be received even while the application is being downloaded.
  • the private push gateway Pri-PGW may periodically transmit the push transfer command.
  • a push message in the retransmission queue is transmitted by a push transfer command, and a push transfer command is periodically transmitted for a push message in the retransmission queue. good.
  • the terminal SD can be connected to the terminal SD at any time or over the Internet while maintaining security from the outside of the intranet of the system in the intranet even for the terminal SD that has moved into the Internet.
  • you do you can push the push message and send the application.
  • FIG. 4 is a configuration diagram of the seamless push system in the present embodiment.
  • a push requester device Pu-req that requests transmission of a push message
  • a private push gateway Pri-PGW that transmits a push message to the push destination terminal SD
  • an application An application server App-ser that downloads to the terminal SD is provided.
  • Internet NET2 has a public push gateway Pub-PGW that sends push messages to push destination terminals SD.
  • the terminal SD is connected to the intranet while being located in the intranet NET1, and is connected to the Internet while being located in the internet NET2.
  • a gateway GW constituting a firewall is provided between the intranet NET1 and the Internet NET2, and the security within the intranet NET1 is maintained.
  • the private push gateway Pri-PGW receives a connection request by a TCP protocol or the like from the push request reception unit 11 that receives a push message transmission request from the push requester device Pu-req and the push reception unit 31 of the terminal SD in the intranet.
  • the terminal connection accepting unit 12 that maintains the connection state via the intranet and sends a push message to the connected terminal SD, and the push message transfer and the push message transmission status synchronization with the public push gateway Pub-PGW It has a gateway cooperation unit 10 that performs cooperation, and a database Pri-DB that stores necessary data including secret information and private information.
  • the push request reception unit 11, the terminal connection reception unit 12, and the gateway cooperation unit 10 are realized by installing software on a server.
  • the application server App-ser has a database of applications to be sent to the terminal, and has an application download unit (not shown) that accepts application downloads from the application download unit 33 of the terminal SD.
  • the public push gateway Pub-PGW has a terminal connection accepting unit 22, a gateway link unit 20, and a database Pub-DB. These are realized by installing software on the server.
  • the terminal connection accepting unit 22 accepts a connection request by the TCP protocol or the like from the push receiving unit 31 of the terminal SD in the Internet, maintains the connection state via the Internet, and is connected to the transferred push message. Send to SD.
  • the gateway linkage unit 20 performs push message transfer and push message transmission status synchronization in cooperation with the private push gateway Pri-PGW.
  • the database Pub-DB stores necessary data excluding confidential information and private information. This database Pub-DB includes information such as the IP address of the associated private push gateway Pri-PGW (linked GW information) and information on the terminal SD that has established a connection state via the Internet to the terminal connection accepting unit 22 (connected terminal) Information).
  • the terminal SD establishes a connection with the private push gateway Pri-PGW or the public push gateway Pub-PGW using the TCP protocol, maintains the connection state, receives the push message, and performs push reception for processing the received push message.
  • Part 31. This process includes a process of supplying necessary information included in the push message to the application download unit 33, the connection management unit 30, and the like.
  • the terminal SD acquires the URL information of the download destination embedded in the push message from the push reception unit 31, and manages various connections with the application download unit 33 that downloads the application from the application server App-ser.
  • the connection management unit 30 and an application server App-ser in the intranet NET1 and a VPN connection establishment unit 32 for constructing a VPN according to an instruction from the connection management unit 30 are provided.
  • the push reception unit 31, the application download unit 33, the connection management unit 30, and the VPN connection establishment unit 32 in the terminal SD are all realized by installing software in the terminal computer or smart device.
  • the connection management unit 30 includes information such as IP addresses of the private push gateway Pri-PGW and the public push gateway Pub-PGW, and a terminal ID (device ID) and push destination information (destination ID) are stored in the database SD-DB, and the push receiver 31 connects to which push gateway according to the network to which the terminal is connected, or VPN connection for application download Judge whether or not is necessary.
  • the connection management unit 30 determines the network to which the terminal is connected as follows. If the terminal SD is connected to the Internet NET2 via a mobile phone network such as 3G, the connection management unit 30 determines that it is connected to the Internet NET2, and the public push gateway Pub-PGW terminal reception connection unit 22 establishes a TCP protocol connection via the Internet. In addition, when the terminal SD is connected to the wireless LAN by WiFi or the like, the connection management unit 30 accesses the intranet NET1 in which the identification information (SSID) of the access point of the connected wireless LAN is registered in advance If it matches the point, it is determined that it is connected to the intranet NET1, and a connection using the TCP protocol is established in the terminal reception connection unit 12 of the private push gateway Pri-PGW.
  • SSID identification information
  • connection management unit 30 determines that the connection is made to the Internet NET2, and the public push gateway Pub-PGW terminal reception connection unit 22 establishes a connection using the TCP protocol.
  • connection management unit 30 determines that VPN construction is unnecessary if connected to the intranet NET1, and determines that it is necessary if connected to the Internet NET2.
  • the terminal connection accepting units 12 and 22 of the private push gateway Pri-PGW and the public push gateway Pub-PGW and the push receiving unit 31 of the terminal SD are in a state in which the socket connection is completed when the connection is established by the TCP protocol.
  • the connection state in which both push gateways and the terminal SD can transmit and receive data by socket communication is maintained.
  • the terminal connection accepting unit 12 of the private push gateway Pri-PGW is in a state of waiting for a request for socket communication, and the terminal SD makes a connection request for socket communication. It is desirable that the terminal SD automatically issues this connection request when the power is turned on or when connected to the Internet or an intranet. However, it can be performed manually by the user by setting.
  • ⁇ ⁇ ⁇ ⁇ Socket connection status using the TCP protocol is generally maintained as long as the cellular phone network or wireless LAN connection is not interrupted.
  • the connection state may be disconnected if communication is not performed for a certain period of time.
  • the push reception unit 31 of the terminal SD periodically performs the terminal connection reception unit 12. , 22 to keep the connection state.
  • the push reception unit 31, the VPN connection establishment unit 32, and the application download unit 33 in the terminal SD are realized by installing each application in the terminal SD.
  • the VPN connection establishment unit 32 performs processing for constructing a virtual private network VPN to the application server App-ser. For example, “Android It can be implemented using VPN Framework.
  • the application download unit 33 performs a process of downloading an application from the application server App-ser via the constructed VPN.
  • the push receiving unit 31 performs a process of establishing a connection with the private push gateway Pri-PGW while the VPN is established, in addition to the process of establishing and maintaining the communication based on the TCP protocol. This is because when the VPN is established, the terminal SD cannot connect to the Internet, and during that time, when a push message is requested to be transmitted, the push message cannot be received immediately.
  • Figure 5 shows the push gateway Pri-PGW, It is a figure which shows the database of Pub-PGW and terminal DS.
  • the private push gateway Pri-PGW database Pri-DB includes push requester information D1, push destination information D2, which is the destination information of the push message, retransmission queue D3, and a sent push having a sent push message.
  • D4 connection terminal information D5, and linkage gateway information D6 (such as the IP address of the partner PGW) are stored.
  • the data D1, D2, D3, D4 includes secret information or personal information.
  • the public-published gateway Pub-PGW database Pub-DB stores connection terminal information D5 and linked gateway information D6. These pieces of information D5 and D6 have no secret information or private information.
  • the IP address information D10, D11 of the private push gateway Pri-PGW associated with the intranet and the public push gateway Pub-PGW associated with the Internet are stored.
  • a terminal ID (device1) D12, push message transmission destination information D13, and connection information D14 between the terminal and the push gateway Pri-PGW and Pub-PGW are stored.
  • the push requester information D1 includes the push requester terminal identification information P-ID and authentication information (password) required when the push requester device Pu-req requests the private push gateway Pri-PGW to send a push message. With PW. Based on the push requester information D1, the push request reception unit 11 in the private push gateway Pri-PGW authenticates the push message transmission request.
  • the push requester information D1 is registered in advance by default.
  • the push transmission destination information D2 and D13 are transmission destination information for transmitting a push message, and information (destination) specifying which application download unit in which terminal ID: dest1, dest2, dest3, etc.). This information is stored in the database Pri-DB in association with the terminal ID (device ID: device1, device2, etc.).
  • the transmission destination information D2 and D15 of the push message is information that can identify which application download unit of which terminal SD.
  • the destination information D2 of the push message may be the terminal ID of the terminal SD.
  • the terminal ID is information for identifying each terminal ID and can be easily extracted from a third party. Therefore, if the terminal ID is used as push destination information, an unwanted application may be sent indiscriminately from a malicious third party.
  • push destination information is given for each application push service that the terminal SD has declared to receive, and all the push destination information D2 is stored in the database Pri-DB of the private push gateway Pri-PGW. Stored in association with the ID.
  • push destination information dest1 for the terminal whose terminal ID is device1 dest2 (dest1, device1, dest2, device1) and push destination information dest3 (dest3, device2) for the terminal whose terminal ID is device3 are registered.
  • device1 is stored as data D12 of the terminal ID, and dest1, as push transmission destination information D13 registered in the terminal. dest2 is stored respectively.
  • this push destination information is information determined between the application push service and the terminal, and has high confidentiality. Therefore, it is avoided that an unwanted application is sent from a malicious third party.
  • the terminal SD corresponding to the destination information dest1 of the push message is not connected to the retransmission queue D3.
  • the push message push2 and push destination information dest1 are stored.
  • connection terminal information D5 is obtained when the terminal SD pushes the push gateway Pri-PGW, Socket identifier socket1, which specifies the IP address and port number of the connection destination when establishing a connection using the TCP protocol to the terminal connection accepting units 12 and 22 of Pub-PGW There is a correspondence between socket2 and the terminal ID (device1, device2) of each terminal.
  • the databases Pri-DB and Pub-DB store device1, socket1 and device2, socket2 as connection terminal information D5.
  • socket1 is stored as terminal connection information D14 in the terminal database SD-DB.
  • Linkage gateway information D6 is the IP address of the other partner's push gateway.
  • IP1 is set for the private push gateway Pri-PGW
  • IP2 is set for the public push gateway Pub-PGW.
  • FIG. 6 is a diagram showing an application push operation (1) to a terminal in the intranet of the seamless application push system in the present embodiment.
  • FIG. 7 is a flowchart showing the application push operation.
  • the terminal SD is located in the intranet NET1, and is an operation in the case where a connection is established with the terminal connection accepting unit 12 in the private push gateway Pri-PGW by the TCP protocol.
  • private push gateway Pri-PGW database Pri-DB includes linked GW information D6 (Pub-PGW, IP2), push requester information D1 (ID, PW), and push destination information D2 (dest1 , device1) is registered. Also, linked GW information D6 (Pri-PGW, IP1) is registered in the database Pub-DB of the public push gateway Pub-PGW, and push destination information dest1 is registered in the terminal SD.
  • the terminal SD which is a smart device, via the intranet NET1 requests a connection using the TCP protocol from the terminal connection accepting unit 12 of the private push gateway Pri-PGW to establish a connection (S0).
  • the connection terminal information D5 (device1, socket1) is registered in the database Pri-DB of the private push gateway Pri-PGW.
  • the push request reception unit 11 of the private push gateway Pri-PGW receives a request for sending an application push message from the push requester device Pu-req (S1).
  • This application push message transmission request includes an application push message push1 and push destination information dest1.
  • the push request reception unit 11 refers to the push transmission destination information D2 in the database Pri-DB and acquires the terminal ID (device1) corresponding to the push transmission destination information dest1. Furthermore, the terminal connection accepting unit 12 refers to the connection terminal information D5 and confirms that the terminal device1 has already established the connection state (S2). Then, the terminal connection accepting unit 12 uses the socket identifier socket1 to push-transmit the push message push1 together with the push destination information dest1 to the terminal SD (S3).
  • the push message push1 is transmitted to the push receiving unit 31 by the socket identifier socket1, and further, the push message push1 is passed to the corresponding application download unit 33 by the push transmission destination information dest1. Then, the push receiving unit 31 of the terminal SD returns a push message reception notification (S4).
  • the terminal connection accepting unit 12 of the private push gateway Pri-PGW receives this reception notification, and confirms that push communication is completed by registering the push message push1 in the transmitted push D4.
  • the application server App-ser and VPN are not constructed, and the application download unit 33 is based on the URL address in the push message, Access the application server App-ser, download and execute the application (S5).
  • a push message request has occurred because the terminal has established and maintained a connection with the private push gateway Pri-PGW in the initial operation.
  • a push message is delivered to the terminal and the application is automatically downloaded.
  • FIGS. 8 and 9 are diagrams showing an application push operation (2) to a terminal in the intranet of the seamless application push system according to the present embodiment.
  • FIG. 10 is a flowchart showing the application push operation.
  • the terminal SD is located in the intranet NET1, or is not located in the intranet, and the connection with the terminal connection accepting unit 12 in the private push gateway Pri-PGW has not been established yet. Is the operation.
  • the private push gateway Pri-PGW database Pri-DB includes the linked GW information D6 (Pub-PGW, IP2) and the push requester by default.
  • Information D1 (ID, PW) and push destination information D2 (dest1, device1) are registered.
  • linked GW information D6 (Pri-PGW, IP1) is registered in the database Pub-DB of the public push gateway Pub-PGW, and push destination information dest1 is registered in the terminal SD.
  • the terminal SD which is a smart device, has not established a connection with the private push gateway Pri-PGW, and therefore the terminal SD is not registered in the connection terminal information D5 of the database Pri-DB (S0). .
  • the push request reception unit 11 of the private push gateway Pri-PGW receives an application push message transmission request from the push requester device Pu-req (S1).
  • This application push message transmission request includes an application push message push1 and push destination information dest1.
  • the push request reception unit 11 refers to the push transmission destination information D2 in the database Pri-DB and acquires the terminal ID (device1) corresponding to the push transmission destination information dest1. Further, the terminal connection accepting unit 12 refers to the connection terminal information D5 based on the acquired terminal ID (device1), and confirms that the terminal device1 has not yet established a connection state (S2). Therefore, the push request reception unit 11 receives the push message transmission request (push1, push1) received in the retransmission queue D3. dest1) is added (S13).
  • the terminal SD eventually requests connection via the TCP protocol from the terminal connection accepting unit 12 of the private push gateway Pri-PGW via the intranet NET1 and establishes the connection (S14).
  • the terminal connection acceptance unit 12 registers the connection terminal information D5 (device1, socket1) in the database Pri-DB of the private push gateway Pri-PGW (S15).
  • the push request reception unit 11 refers to the push transmission destination information D2, extracts the push transmission destination information dest1 for the terminal device1 that has established the connection, and the corresponding push message is stored in the retransmission queue D3. Check whether it is stored. In this example, since the push message (push1, dest1) is stored in the retransmission queue, the push request reception unit 11 pushes the push message push1 to the push transmission destination information dest1 using the socket identifier socket1 (S16). .
  • the push receiver 31 receives the push message push1, and the push message push1 is passed to the corresponding application download unit 33 by the push destination information dest1. Then, the push receiver 31 of the terminal SD returns a push message reception notification (S17).
  • the terminal connection accepting unit 12 of the private push gateway Pri-PGW receives this reception notification, confirms that push communication of the push message push1 has been completed, and moves the push message push1 in the retransmission queue D3 to the transmitted push D4. And delete it from the retransmission queue D3 (S18).
  • the application download unit 33 does not construct the VPN with the application server App-ser, Based on the URL address, the application server App-ser is accessed, and the application is downloaded and executed (S19).
  • a terminal can be connected to Intranet NET1, even if the terminal does not establish a connection status with the private push gateway Pri-PGW when a request for sending a push message occurs, it is connected afterwards.
  • the push message is delivered to the terminal at the timing when the application is established, and the application is automatically downloaded.
  • the seamless push system has a public push gateway Pub-PGW installed on the Internet, and private push gateway Pri-PGW in intranet NET1 and public push gateway Pub-PGW in Internet NET2 Try to work together.
  • a public push gateway Pub-PGW installed on the Internet, a terminal that can connect to the Internet can establish a connection with the public push gateway Pub-PGW and maintain the connection state.
  • FIG. 11 is a diagram showing commands exchanged between two push gateways.
  • FIG. 11 shows three commands, their functions, and transmission side PGW and reception side PGW. These commands are exchanged between the GW linkage unit 10 in the private push gateway Pri-PGW and the GW linkage unit 20 in the public push gateway Pub-PGW shown in FIG.
  • the push transfer command CM1 is a command that is sent to the public push gateway Pub-PGW when the private push gateway Pri-PGW receives a push message transmission request and when it resends a push message placed in the retransmission queue. is there.
  • a push message (push), push destination information (dest), and a terminal ID (device) are attached to this command.
  • the public push gateway Pub-PGW checks whether or not the terminal ID (device) has established a connection. Based on the socket information (socket) corresponding to the terminal ID, the push message (push1) is transmitted to the push destination information (dest).
  • the resend inquiry command CM2 is stored in the resend queue from the public push gateway Pub-PGW to the private push gateway Pri-PGW. It is a command that inquires whether or not there is a request and, if stored, requests transfer of the push message. If stored in the retransmission queue, the private push gateway Pri-PGW transfers the push message to the public push gateway Pub-PGW by the push transfer command CM1.
  • the transmission completion notification command CM3 sends a push message to the terminal connected to the public push gateway Pub-PGW and receives a push reception notification from the terminal. This command is sent to the private push gateway Pri-PGW.
  • the private push gateway Pri-PGW moves the push message stored in the retransmission queue D3 to the transmitted push D4 and deletes it from the retransmission queue D3.
  • FIG. 12 is a diagram showing an application push operation (1) to a terminal in the Internet of the seamless application push system in the present embodiment.
  • 13 and 14 are flowcharts showing the application push operation.
  • This application push operation (1) is an operation when the terminal has already established a connection with the terminal connection accepting unit 22 of the public push gateway Pub-PGW.
  • the initial setting is the same as the application push operation (1) (2) to the terminal in the intranet.
  • the terminal SD which is a smart device, is in a state where it can be connected to the Internet, and establishes a connection using the TCP protocol to the terminal connection accepting unit 22 in the public push gateway Pub-PGW, and the connection terminal in the database Pub-DA.
  • the device ID (device1) and the socket information (socket1) are registered.
  • the push request reception unit 11 of the private push gateway Pri-PGW receives the application push message transmission request from the push requester device Pu-req (S1).
  • This application push message transmission request includes an application push message push1 and push destination information dest1.
  • the push request reception unit 11 refers to the push transmission destination information D2 in the database Pri-DB and acquires the terminal ID (device1) corresponding to the push transmission destination information dest1. Further, the terminal connection receiving unit 12 refers to the connection terminal information D5 based on the acquired terminal ID (device1), and confirms that the terminal device1 has not yet established a connection state in the intranet (S2). . Therefore, the push request reception unit 11 receives the push message transmission request (push1, push1) received in the retransmission queue D3. dest1) is additionally registered (S23).
  • the gateway link unit 10 refers to the push destination information D2, extracts the terminal ID (device1) corresponding to the push destination information dest1 of the push message transmission request, and sends the push transfer command CM1 to the public push gateway Pub.
  • -It transmits to the gateway cooperation part 20 in PGW (S24).
  • This push transfer command CM1 includes a push message push1, push destination information dest1, and a terminal ID (device1).
  • the terminal SD has not established a connection state with the private push gateway Pri-PGW in the intranet, and there is a possibility that the terminal SD has established a connection state in the Internet. Is sent to the public push gateway Pub-PGW.
  • the terminal connection unit 22 in the public push gateway Pub-PGW inquires the connection terminal information D5 in the database Pub-DB, and the terminal (device1) of the push message transmission destination (dest1) It is confirmed whether or not is connected (S25).
  • the terminal SD has already established and maintained a connection in step S0.
  • the terminal connection unit 22 in the public push gateway Pub-PGW uses the socket information (socket1) of the connection terminal information D5 to send the push message (push1) transferred together with the push transfer command CM1 to the push destination information (dest1 ) Is pushed to (S26).
  • the terminal SD returns a push reception notification (push1) to the terminal connection unit 22 as an acknowledgment of the push message reception (S27).
  • the gateway cooperation unit 20 of the public push gateway Pub-PGW transmits a transmission completion notification command CM3 to the gateway cooperation unit 10 of the private push gateway Pri-PGW (S28).
  • This transmission completion notification command includes information for specifying the push message.
  • the push message request receiving unit 11 of the private push gateway Pri-PGW moves the push message (push1) in the transmission queue D3 in the database Pri-DB to the transmitted push D4. (S29). Thereby, it is avoided that the push message is erroneously transmitted twice.
  • the push reception unit 31 transfers the push message (push1) to the application download unit 33 corresponding to the push transmission destination information (dest1). Further, the connection management unit 30 detects that the current terminal SD is connected to the Internet, refers to the URL included in the push message (push1), and sends the intranet NET1 to the VPN connection establishment unit 32.
  • a virtual private network VPN is built to the application server App-ser (S30). Furthermore, the connection management unit 30 establishes a connection using the TCP protocol with the terminal connection unit 12 of the private push gateway Pri-PGW in the intranet NET1 via this VPN (S30). As a result, the terminal SD can receive the push message while downloading the application from the application server App-ser by VPN.
  • the application download unit 33 of the terminal SD downloads and executes an application corresponding to the URL in the push message from the application server App-ser via the VPN (S31).
  • a terminal SD that can be connected to the Internet can establish and maintain a connection state with the public push gateway Pub-PGW. Therefore, the terminal can download the application at the timing of receiving the push message transmission request.
  • the terminal SD constructs a VPN on the application server App-ser in the intranet NET1 and downloads the application, so that the application can be stored in a server in the intranet. Moreover, since the terminal SD establishes a connection with the terminal connection accepting unit 12 in the private push gateway Pri-PGW through the VPN during the download, the terminal SD can receive the push message even during the download.
  • FIGS. 15 and 16 are diagrams showing an application push operation (2) to a terminal in the Internet of the seamless application push system in the present embodiment.
  • 17, 18, and 19 are flowcharts showing the application push operation.
  • This application push operation (2) is an operation in the case where the terminal does not initially establish a connection state with the terminal connection accepting unit 22 of the public push gateway Pub-PGW, and thereafter constructs a connection state.
  • the initial setting is the same as the application push operation (1) (2) to the terminal in the intranet.
  • the terminal SD which is a smart device, has not yet established a connection state with the public push gateway Pub-PGW in the Internet NET2 (S0).
  • the gateway cooperation unit 10 in the private push gateway Pri-PGW The process until the push transfer command CM1 is transmitted to the gateway link unit 20 of the public push gateway Pub-PGW (S24) is the same as the application push operation (1) to the terminal in the Internet.
  • the terminal connection accepting unit 12 queries the connection terminal information D5 in the database Pub-DB, and the terminal ID (device1 attached to the push transfer command CM1) ) Checks whether or not a connection has already been established, and confirms that it is not connected (S35). Accordingly, the gateway link unit 20 of the public push gateway Pub-PGW discards the push message push1 and the push destination dest1 attached to the push transfer command CM1. In other words, information including such personal information and confidential information is not stored in the database Pub-DB.
  • terminal ID (device1) attached to the push transfer command CM1 may be discarded or stored as a terminal ID notified by the push transfer command in the database Pub-DB as described later.
  • the terminal SD which is a smart device, establishes a connection to the terminal connection accepting unit 22 of the public push gateway Pub-PGW via the Internet using the TCP protocol ( S41).
  • the terminal connection accepting unit 22 registers the terminal ID (device1) and the socket information (socket1) as the connected terminal information in the connected terminal information D5 in the database Pub-DB (S42).
  • the gateway cooperation unit 20 of the public push gateway Pub-PGW transmits a retransmission inquiry command CM2 to the gateway cooperation unit 10 of the private push gateway Pri-PGW (S43).
  • the command CM2 is attached with the terminal ID (device1) that has established the connection state in steps S41 and S42.
  • the push message request accepting unit 11 in the private push gateway Pri-PGW stores the push destination information (dest1) corresponding to the terminal ID (device1) attached to the retransmission inquiry command CM2 in the database Pri- Extracted from the push destination information D2 in the DB, based on the push destination information (dest1), searches the resend queue D3 in the database Pri-DB, and detects the push message information (push1, dest1) waiting for resend (S44).
  • the gateway link unit 10 of the private push gateway Pri-PGW attaches the detected push message push1, push destination information dest1, and terminal ID (device1) to the public push transfer command CM1. It is transmitted to the gateway linkage unit 20 of the push gateway Pub-PGW (S45).
  • the operation after this is the same as the operation after step S25 of the application push operation (1) to the terminal in the Internet.
  • the terminal connection unit 22 in the public push gateway Pub-PGW inquires the connection terminal information D5 in the database Pub-DB, and the terminal (dest1) of the push message transmission destination (dest1) ( It is confirmed whether device1) is connected (S46). This time, in step S41, the terminal SD has already established and maintained the connection.
  • the terminal connection unit 22 in the public push gateway Pub-PGW uses the socket information (socket1) of the connection terminal information D5 to send the push message (push1) transferred together with the push transfer command CM1 to the push destination information (dest1 ) Is pushed to (S47).
  • the terminal SD returns a push reception notification (push1) to the terminal connection unit 22 as an acknowledgment of the push message reception (S48).
  • the gateway cooperation unit 20 of the public push gateway Pub-PGW attaches information (push1) for specifying the push message to the gateway cooperation unit 10 of the private push gateway Pri-PGW and transmits it.
  • a completion notification command CM3 is transmitted (S49).
  • the push message request receiving unit 11 of the private push gateway Pri-PGW moves the push message (push1) in the transmission queue D3 in the database Pri-DB to the transmitted push D4. (S50). Thereby, it is avoided that the push message is erroneously transmitted twice.
  • the push reception unit 31 transfers the push message (push1) to the application download unit 33 corresponding to the push transmission destination information (dest1).
  • the connection management unit 30 detects that the current terminal SD is connected to the Internet, refers to the URL included in the push message (push1), and sends the intranet NET1 to the VPN connection establishment unit 32.
  • a virtual private network VPN is built to the application server App-ser (S51).
  • the connection management unit 30 establishes a connection using the TCP protocol with the terminal connection unit 12 of the private push gateway Pri-PGW in the intranet NET1 via this VPN (S51).
  • the terminal SD can receive the push message while downloading the application from the application server App-ser by VPN.
  • the application download unit 33 of the terminal SD downloads and executes an application corresponding to the URL in the push message from the application server App-ser via the VPN (S52).
  • the push message in the retransmission queue is pushed to the terminal and the application is downloaded to the terminal.
  • the public push gateway Pub-PGW detects that the terminal is not connected, and the push message push1 and the push transmission destination transferred. Discard information dest1. As a result, the public push gateway Pub-PGW does not hold personal information or secret information, and can maintain high security.
  • the public push gateway Pub-PGW may hold the terminal ID (device1) if the terminal is not connected. In that case, when the terminal SD subsequently establishes a connection to the public push gateway Pub-PGW, the terminal ID can be checked against the terminal ID to confirm that the terminal is a push message waiting for retransmission. However, since the public push gateway Pub-PGW does not hold a push message, it is necessary to transmit a retransmission request command to the private push gateway Pri-PGW instead of the retransmission inquiry command CM1.
  • the push transmission destination information dest is information indicating which download unit (download application) of which terminal, so that the push transmission destination
  • the terminal ID can be used as information.
  • the terminal ID is information that can be acquired from the terminal SD, it is expected that the terminal will randomly transmit an application push message from a third party.
  • the private push gateway Pri-PGW issues the push transmission destination information dest separately from the terminal ID for each application push service and registers it in the terminal SD and the private push gateway Pri-PGW.
  • the terminal can send app push messages randomly from third parties. Absent.
  • the push transfer command CM1 includes the push message push and the push destination information dest.
  • a terminal ID (device) is also attached.
  • FIG. 20 is a diagram showing a hardware configuration of the private push gateway Pri-PGW, the public push gateway Pub-PGW, and the terminal SD shown in FIG.
  • the private push gateway Pri-PGW includes a CPU 100 as a processor, a memory 101, a storage medium 102 in which a program is stored, an input / output device 103, and a communication device 104.
  • the push request reception unit 11, the terminal connection reception unit 12, and the gateway cooperation unit 10 in the private push gateway Pri-PGW in FIG. 4 are realized by the processor 100 executing the program in the storage medium 102. Is done.
  • the public push gateway Pub-PGW includes a CPU 200 as a processor, a memory 201, a storage medium 202 in which a program is stored, an input / output device 203, and a communication device 204.
  • the terminal connection reception unit 22 and the gateway cooperation unit 20 in the public push gateway Pub-PGW in FIG. 4 are realized by the processor 200 executing the program in the storage medium 202.
  • the terminal SD includes a CPU 300 that is a processor, a memory 301, a storage medium 302 that stores a program, an input / output device 303, and a communication device 304.
  • the push reception unit 31, the connection management unit 30, the application download unit 33, and the VPN connection establishment unit 32 in the terminal SD in FIG. 4 are executed by the processor 300 executing the program in the storage medium 302. Realized.
  • the three types of commands shown in FIG. 11 are bidirectionally communicated between the private push gateway Pri-PGW gateway linkage unit 10 and the public push gateway Pub-PGW gateway linkage unit 20. Is done. Of these three types of commands, the retransmission inquiry command CM2 and the transmission completion notification command CM3 are transmitted from the public push gateway Pub-PGW to the private push gateway Pri-PGW.
  • a connection is established from the private push gateway Pri-PGW to the public push gateway Pub-PGW, and data is transmitted from the public push gateway Pub-PGW on the Internet to the private push gateway Pri-PGW in the intranet.
  • This can be realized, for example, by long-polling this connection by the public push gateway Pub-PGW or by using WebSocket, which is a standard for bidirectional communication between a web server and a web browser.
  • long polling means that a server (requesting side, Pub-PGW) holds a response to a communication request from a client (requesting side, Pri-PGW) and periodically sends empty data.
  • a technology that sends data to the client so that the connection is not interrupted, and when the server needs to send data to the client, the server uses the held connection to send the data to the client. .
  • HTTP which is a protocol used for communication between gateways
  • access from a client to a server is generally started and communication is started, and communication is terminated by a response from the server to the client. And, communication starting from the server is not possible.
  • access from the client to the server is the same, but after that the server side periodically sends empty data to the client to maintain the connection, so that It enables communication as a starting point.
  • Long polling can be realized by using a technology called comet or by a method in which the server periodically sends KeepAlive via HTTP communication.
  • comet a technology in which the server periodically sends KeepAlive via HTTP communication.
  • Apache is an application program interface (API) that supports long polling.
  • Tomcat's CometProcessor class is available, so you can use it to build a server that supports long polling.
  • the private push gateway Pri-PGW and the public push gateway Pub-PGW support long polling or WebSocket so that the three types of commands shown in FIG. 11 can be bidirectionally communicated via the gateway firewall. can do.
  • bidirectional communication is performed between the private push gateway Pri-PGW and the public push gateway Pub-PGW by long polling.
  • FIG. 21 is a flowchart of an application push operation (1) to a terminal in the Internet according to the second embodiment.
  • an application push operation (1) to a terminal in the Internet is shown in FIGS.
  • processing is performed by the private push gateway Pri-PGW and the public push gateway Pub-PGW according to the flowchart of FIG. 21 instead of FIG. Accordingly, FIGS. 21 and 14 are flowcharts of the application push operation (1) to the terminal in the Internet in the second embodiment.
  • the processing different from that of the first embodiment of FIG. 13 is that the gateway cooperation unit 10 of the private push gateway Pri-PGW is replaced with the gateway cooperation unit 20 of the public push gateway Pub-PGW, as shown by a thick frame.
  • the HTTP connection is established by sending an HTTP request (S60), and in response to this, the gateway link unit 20 of the public push gateway Pub-PGW periodically sends a reply to establish the HTTP connection. This is the process to maintain (S61).
  • the HTTP connection establishment process S60 and the connection maintenance process S61 by periodic reply are preferably performed, for example, when both push gateways are powered on. By doing so, the HTTP connection is always maintained between the push gateways. Therefore, the retransmission inquiry command CM2 and the transmission completion notification command CM3 from the public push gateway Pub-PGW to the private push gateway Pri-PGW can be transmitted at any timing without countering the blocking function by the firewall.
  • FIG. 22 is a flowchart of an application push operation (2) to a terminal in the Internet according to the second embodiment.
  • an application push operation (2) to a terminal in the Internet is shown in FIG. 17, FIG. 18, and FIG.
  • processing is performed by the private push gateway Pri-PGW and the public push gateway Pub-PGW according to the flowchart of FIG. 22 instead of FIG. Therefore, the flowchart of the application push operation (2) to the terminal in the Internet in the second embodiment is shown in FIG. 22, FIG. 18, and FIG.
  • the processing different from that of the first embodiment of FIG. 17 is that the gateway cooperation unit 10 of the private push gateway Pri-PGW is replaced with the gateway cooperation unit 20 of the public push gateway Pub-PGW, as shown by the thick frame.
  • the HTTP connection is established by sending an HTTP request (S60), and in response to this, the gateway link unit 20 of the public push gateway Pub-PGW periodically sends a reply to establish the HTTP connection. This is the process to maintain (S61). It is desirable that the HTTP connection establishment process S60 and the connection maintenance process S61 by regular reply are performed, for example, when both push gateways are powered on.
  • communication from the public push gateway Pub-PGW is performed in response to a request from the private push gateway Pri-PGW. Therefore, in the third embodiment, the command between the private push gateway Pri-PGW and the public push gateway Pub-PGW is set to a command different from the command of FIG.
  • all commands are transmitted from the private push gateway Pri-PGW to the public push gateway Pub-PGW, and the response from the command is sent from the public push gateway Pub-PGW. Sends data to the push gateway Pri-PGW. This enables data transmission from the public push gateway Pub-PGW on the Internet to the private push gateway Pri-PGW in the intranet.
  • FIG. 23 is a diagram showing a command system in the third embodiment.
  • the commands include a push transfer command CM1, a connection inquiry command CM4, and a transmission result inquiry command CM5.
  • the push transfer command CM1 is a command for transferring a push message from the private push gateway Pri-PGW to the public push gateway Pub-PGW. Similar to the push transfer command CM1 of FIG. 11, the push transfer command CM1 includes a message (for example, push1), a destination terminal ID (for example, device1), destination information (for example, dest1), and a public push gateway Pub-PGW. ID for authentication and password PW are included.
  • the response from the public push gateway Pub-PGW to the push transfer command CM1 includes a result of an attempt to send the transferred push message to the destination terminal.
  • the transmission result includes the following. OK: Indicates that the push message has been received from the terminal as a result of sending the push message. NG: Indicates that there was a problem in receiving from the terminal as a result of sending the push message. TIMEOUT: Indicates that a push message was sent but no response was received from the terminal within a predetermined time. No connection: Indicates that the terminal sending the push message was not connected.
  • the connection inquiry command CM4 is sent from the private push gateway Pri-PGW to the public push gateway when the response to the push transfer command CM1 is “no connection” indicating that the connection between the public push gateway Pub-PGW and the terminal is not established. This command asks Pub-PGW about the connection status with the terminal to be pushed.
  • the connection inquiry command CM4 includes a terminal ID (for example, device1), an authentication ID, and a password PW.
  • the response includes “connected” and “not connected”. When the response is “connected”, the private push gateway Pri-PGW transmits the push transfer command CM1 again.
  • the transmission result inquiry command CM5 requests the result of the push transfer command CM1 from the private push gateway Pri-PGW to the public push gateway Pub-PGW again when the response to the push transfer command CM1 is "TIMEOUT" indicating no response from the terminal. It is a command to do.
  • the transmission result inquiry command CM5 includes a push message ID (for example, push1-ID), an authentication ID, and a password PW.
  • the response to this command includes “OK”, “NG”, and “TIMEOUT” among the responses to the push transfer command CM1.
  • the response is “TIMEOUT”
  • either the transmission result inquiry command CM5 is transmitted again or the push transfer command CM1 is transmitted.
  • the “TIMEOUT” response is received a predetermined number of times, the push transfer command CM1 may be transmitted again.
  • FIG. 24 is a first flowchart of an application push operation (1) to a terminal in the Internet according to the third embodiment.
  • an application push operation (1) to a terminal in the Internet is shown in FIGS.
  • processing is performed by the private push gateway Pri-PGW and the public push gateway Pub-PGW according to the flowchart of FIG. 24 instead of FIG. Accordingly, FIGS. 13 and 24 show the first flowchart of the application push operation (1) to the terminal in the Internet in the third embodiment.
  • the processing different from that of the first embodiment of FIG. 14 is that the public push gateway Pub-PGW has received the push reception notification from the terminal by transmitting the push message, as shown by the thick frame. Is transmitted in a response to the private push gateway Pri-PGW in response to the push transfer command CM1 in step S24 of FIG.
  • the public push gateway Pub-PGW transmits the transmission completion notification command CM3 to the private push gateway Pri-PGW.
  • “OK” is transmitted as a response to the command CM1.
  • FIGS. 25 and 26 are second flowcharts of the application push operation (1) to the terminal in the Internet according to the third embodiment.
  • an application push operation (1) to a terminal in the Internet is shown in FIGS.
  • processing is performed by the private push gateway Pri-PGW and the public push gateway Pub-PGW according to the flowcharts of FIGS. 25 and 26 instead of FIGS. 13 and 14.
  • FIGS. 25 and 26 are examples in which the push transfer command CM1 and the transmission result inquiry command CM5 are used.
  • the processing different from that in FIG. 13 is as follows.
  • the private push gateway Pri-PGW sends to the public push gateway Pub-PGW the push transfer command CM1 (push1, dest1, device1) is transmitted (S80).
  • This push transfer command CM1 includes a push message push1.
  • the public push gateway Pub-PGW transmits a push message to the terminal but detects that it has timed out without receiving a reception confirmation from the terminal (S81).
  • the push gateway Pub-PGW includes “TIMEOUT” and the push message ID (pushID) in the response to the push transfer command CM1 and sends back to the private push gateway Pri-PGW (S82).
  • the public push gateway Pub-PGW further transmits the push message ID (pushID), the terminal ID (device1), and the push message transmission status (for example, during retransmission) as retransmission message information in the database Pub-DB. ). That is, when the response to the push transfer command CM1 is “TIMEOUT”, it means that the result of sending the push message to the terminal SD is in a pending state, so the public push gateway Pub-PGW is the database Pub- It is necessary to record the push message transmission status in the DB. However, the retransmission message information does not include the push message (push1) itself but includes its ID (pushID). Therefore, the above-described retransmission message information is recorded in addition to the connection terminal information D5 and the linked GW information D6 in the database Pub-DB of the public push gateway Pub-PGW in FIG.
  • the processing different from that in FIG. 14 is that the private push gateway Pri-PGW sends a transmission result inquiry command CM5 (push1-ID) to the public push gateway Pub-PGW in response to the response of “TIMEOUT”. Processing (S83), and public push gateway Pub-PGW returns a response (OK) as a response thereto (S84).
  • the public push gateway Pub-PGW receives the push message reception confirmation from the terminal (S27), and then receives the transmission result inquiry command CM5 (Pushc1-ID) from the private push gateway Pri-PGW.
  • the public push gateway Pub-PGW When receiving the reception confirmation from the terminal (S27), the public push gateway Pub-PGW changes the transmission status of the retransmission message information in the database Pub-DB to “OK” indicating transmission completion. Then, in response to the subsequent transmission result inquiry command CM5 (push1-ID), since the transmission status corresponding to the ID of the push message is “OK” indicating that transmission has been completed, the public push gateway Pub-PGW Reply “OK” (S84).
  • the private push gateway Pri-PGW receives "TIMEOUT" in response to the push transfer command CM1, it sends the transmission result inquiry command CM5 together with the push message ID without transferring the push message again. In some cases, it is possible to receive a response whose reception has been confirmed. Therefore, it is possible to reduce the number of times that a push message having a large amount of data is transferred by the private push gateway Pri-PGW.
  • FIG. 27, FIG. 28, and FIG. 29 are flowcharts of the application push operation (2) to the terminal in the Internet in the third embodiment.
  • the flowchart of the application push operation (2) to the terminal in the Internet in the first embodiment is shown in FIG. 17, FIG. 18, and FIG.
  • the public push gateway Pub-PGW has established a connection with the terminal.
  • the retransmission inquiry command CM2 is transmitted, and in response, the private push gateway Pri-PGW transmits the push transfer command CM1 again to retransmit the push message.
  • 27, 28, and 29 are examples in which the push transfer command CM1 and the connection inquiry command CM4 are used.
  • a connection inquiry command CM4 and its response are used instead of the retransmission inquiry command CM2 by the public push gateway Pub-PGW.
  • the process different from that in FIG. 17 is a process in which the private push gateway Pri-PGW sends a push transfer command CM1 (push1, dest1, device1) to the public push gateway Pub-PGW ( S71).
  • This push transfer command CM1 includes a push message push1.
  • the public push gateway Pub-PGW confirms that the terminal is not connected (S35), the push message is discarded (S36), and the response to the push transfer command CM1 is “ A reply is sent to the private push gateway Pri-PGW including "no connection” and "deviceID” (S72).
  • the public push gateway Pub-PGW cannot send the push message to the terminal, so the push message is discarded and the push message is prevented from being stored in a server on the Internet. The rest is the same as FIG.
  • the private push gateway Pri-PGW sends a connection inquiry command CM4 (device1) to the public push gateway Pub-PGW at a predetermined timing. Is the process (S73). Since the terminal has established a connection immediately before (S41, S42), the public push gateway Pub-PGW responds with a process of returning a response with “connected” and “device1” (S74). Do. This process is also different from FIG. Further, the private push gateway Pri-PGW transmits the push transfer command CM1 including the push message push1, the destination information dest1 and the device ID (device1) to the terminal device1 that has established the connection (S75). The rest is the same as FIG.
  • the public push gateway Pub-PGW receives a reception confirmation for confirming the reception of the push message from the terminal in response to the push transfer command CM1, as indicated by a thick frame.
  • a response of “OK” indicating that the response has been made is returned (S76). The rest is the same as FIG.
  • connection inquiry command CM4 is used, and the response in the connection state established by the transmission of the connection inquiry command CM4 is equivalent to the retransmission inquiry command CM2.
  • Information is sent from the public push gateway Pub-PGW to the private push gateway Pri-PGW.
  • FIG. 30 shows a multi-tenant push service.
  • the user X who owns the terminal SD is dispatched from the company A to the company B.
  • the user X needs to access the attendance / exit system A of the company A in order to perform attendance / exit management at the company A as the dispatch source.
  • the user X needs to access the ordering system B of the company B in order to perform the ordering work at the company B as the dispatch destination.
  • the time and attendance system A has a private push gateway Pri-PGW1.
  • the ordering system B has a private push gateway Pri-PGW2.
  • both systems A and B will have the same transmission destination information (dest1 ) May occur. If the same destination information is assigned twice, the attendance system A and ordering system B send a push message to the same destination information (dest1), and the terminal SD is the push message from either system It is not possible to determine whether the application downloaded based on the push message is an application of either system.
  • FIG. 31 is a configuration diagram of a seamless push system according to the fourth embodiment.
  • a transmission destination information generation server 40 is provided in common for systems in a plurality of intranets.
  • This transmission destination information generation server 40 may be provided in the public push gateway Pub-PGW.
  • each system requests the transmission destination information generation server 40 to perform initial registration of transmission destination information. , It generates unique destination information for each system and sends it back to each system. Then, the uniquely generated destination information is initially registered in the private push gateways Pri-PGW1 and Pri-PGW2 of each system and the terminal SD.
  • the private push gateway Pri-PGW1 of the system A includes a destination information registration receiving unit 13A in addition to the GW cooperation unit 10A, the push request receiving unit 11A, the terminal connection receiving unit 12A, and the database Pri-DB. And a transmission destination information acquisition unit 14A.
  • the private push gateway Pri-PGW2 of the system B also includes a transmission destination information registration reception unit 13B in addition to the GW cooperation unit 10B, the push request reception unit 11B, the terminal connection reception unit 12B, and the database Pri-DB. And a transmission destination information acquisition unit 14B.
  • the transmission destination information generation server 40 includes a processor, a memory, an input / output device, a communication device, and a storage medium for storing a program, and the processor executes the program.
  • the transmission destination information acquisition reception unit 401, the transmission destination information generation unit 42, and the encryption / decryption unit 43 are constructed.
  • the transmission destination information holding unit 44 is a storage medium that encrypts and stores the generated transmission destination information and the ID of the terminal SD associated therewith.
  • the registration process of push message transmission destination information is specifically performed as follows.
  • the terminal SD sends a destination information registration request together with the device ID (device1) to the destination information registration acceptance unit 13A of the private push gateway Pri-PGW1 of the system A.
  • the transmission destination information acquisition unit 14A transmits a transmission destination information acquisition request to the transmission destination information acquisition reception unit 41 of the transmission destination information generation server 40.
  • the transmission destination information generation 42 generates transmission destination information (for example, dest1) that does not overlap with the transmission destination information in the transmission destination information holding unit 44 for the device ID (device1).
  • the generated transmission destination information (dest1) is encrypted by the encryption / decryption unit 43 and stored in the transmission destination information holding unit 44.
  • the transmission destination information acquisition reception unit 41 returns the generated transmission destination information (dest1) to the transmission destination information acquisition unit 14A in the private push gateway Pri-PGW1.
  • This destination information (dest1) is stored in the database Pri-DB in association with the device ID (device1).
  • the transmission destination information registration acceptance unit 13A transmits the received transmission destination information (dest1) to the terminal SD, and the transmission destination information registration unit in the terminal SD stores it in the internal database.
  • the terminal SD sends a destination information registration request together with the device ID (device1) to the destination information registration accepting unit 13B of the private push gateway Pri-PGW2 of the system B.
  • the same processing as described above is executed, and the transmission destination information generation server 40 generates new transmission destination information (dest2), returns it, and stores it in the database Pri-DB in the private push gateway Pri-PGW2.
  • it is also registered in the terminal SD.
  • the transmission destination information generation server 40 provided in common for a plurality of systems generates unique transmission destination information for each system. Once registered, the seamless push service can be appropriately provided for the multi-tenant service.
  • the push message is transmitted to the terminal, and the terminal performs the application push service for downloading the application using the access information in the push message.
  • the present invention can also be applied to a push service that sends a push message to a terminal.
  • Pri-PGW Private push gateway Pub-PGW: Public push gateway App-ser: Application server Pu-req: Push requester device NET1: Intranet NET2: Internet SD: Terminal, smart device, smart phone

Abstract

 端末がインターネット内にある場合でもアプリケーションをプッシュ送信するシームレスプッシュシステムを提供する。イントラネット内に設けられ,プッシュメッセージの送信依頼に応答して,イントラネットを介して接続状態にある端末にプッシュメッセージを送信する第1のプッシュゲートウエイと,インターネット内に設けられ,インターネットを介して端末と接続状態を維持可能な第2のプッシュゲートウエイとを有するシームレスプッシュシステムであって,端末がインターネットに接続可能な間,第2のプッシュゲートウエイが,端末からインターネットを介して接続状態を構築され当該接続状態を維持し,第1のプッシュゲートウエイは,プッシュメッセージの送信依頼に応答して,第2のプッシュゲートウエイにプッシュメッセージを転送し,第2のプッシュゲートウエイは,プッシュメッセージの転送に応答して,接続状態にある端末に,インターネットを介してプッシュメッセージを送信する。

Description

シームレスプッシュシステム及びその方法
 本実施の形態は,シームレスプッシュシステム及びその方法に関する。
 プッシュシステムは,どんな場所でも利用者が望むタイミングで,メッセージやアプリケーションプログラム(以下アプリケーション,または単にアプリと称する。)を利用者の端末に送り込むサービスを提供する。たとえば,端末が企業内のイントラネットに接続できる場合は,メッセージやアプリをイントラネット経由で送り込む。
 アプリプッシュについては,非特許文献1に記載されている。
 メッセージやアプリケーションを端末に送り込むためには,イントラネットに接続できる場合以外に,端末が企業のイントラネット外のインターネットに接続できる場合も,何らかの方法でアプリを送り込むことが求められる。
特開2006-331126号公報 特開2003-229880号公報 特開平2-275563号公報 特開2002-135350号公報 特許第4706178号
http://pr.fujitsu.com/jp/news/2011/07/19-1.html
 しかしながら,業務上利用されるアプリケーションには秘密情報が含まれる場合があるので,端末に送り込むアプリケーションはイントラネット内のサーバに格納するのがセキュリティの観点から必要である。また,アプリケーションをプッシュ送信するために,端末にプッシュメッセージを送信し,それに応答して端末にアプリケーションをダウンロードさせる。その場合のプッシュメッセージにもダウンロード先情報が含まれる場合があり,秘密情報保護の観点から,プッシュメッセージをイントラネット内のサーバに格納する必要がある。
 上記の場合において,端末がイントラネット外のインターネットに接続できる場合に,どのようにしてプッシュメッセージを送信し,アプリケーションをダウンロードさせるかが課題になる。
 そこで,本実施の形態の目的は,端末がイントラネット外のインターネットに接続できる場合も,シームレスにメッセージやアプリケーションを送り込むことができるシームレスプッシュシステム及びその方法を提供することにある。
 シームレスプッシュシステムの第1の側面は,イントラネット内に設けられ,プッシュメッセージの送信依頼に応答して,前記イントラネットを介して接続状態にある端末に前記プッシュメッセージを送信する第1のプッシュゲートウエイと,インターネット内に設けられ,前記インターネットを介して前記端末と接続状態を維持可能な第2のプッシュゲートウエイとを有し,前記端末が前記インターネットに接続可能な間,前記第2のプッシュゲートウエイが,前記端末から前記インターネットを介して接続状態を構築され当該接続状態を維持し,前記第1のプッシュゲートウエイは,前記プッシュメッセージの送信依頼に応答して,前記第2のプッシュゲートウエイに前記プッシュメッセージを転送し,前記第2のプッシュゲートウエイは,前記プッシュメッセージの転送に応答して,前記接続状態にある端末に,前記インターネットを介して前記プッシュメッセージを送信する。
 第1の側面によれば,端末がインターネットに接続可能な場合も,メッセージやアプリケーションを送り込むことができる。
プッシュシステムの概略を説明する図である。 シームレスプッシュシステムの概略を説明する図である。 図2のアプリプッシュシステムの概略動作を示すフローチャート図である。 本実施の形態におけるシームレスプッシュシステムの構成図である。 プッシュゲートウエイPri-PGW,Pub-PGWと端末DSのデータベースを示す図である。 本実施の形態におけるシームレスアプリプッシュシステムのイントラネット内の端末へのアプリプッシュ動作(1)を示す図である。 図6のアプリプッシュ動作を示すフローチャート図である。 本実施の形態におけるシームレスアプリプッシュシステムのイントラネット内の端末へのアプリプッシュ動作(2)を示す図である。 本実施の形態におけるシームレスアプリプッシュシステムのイントラネット内の端末へのアプリプッシュ動作(2)を示す図である 図8,図9のアプリプッシュ動作を示すフローチャート図である。 2つのプッシュゲートウエイ間で交換するコマンドを示す図である。 本実施の形態におけるシームレスアプリプッシュシステムのインターネット内の端末へのアプリプッシュ動作(1)を示す図である。 図12のアプリプッシュ動作を示すフローチャート図である。 図12のアプリプッシュ動作を示すフローチャート図である。 本実施の形態におけるシームレスアプリプッシュシステムのインターネット内の端末へのアプリプッシュ動作(2)を示す図である。 本実施の形態におけるシームレスアプリプッシュシステムのインターネット内の端末へのアプリプッシュ動作(2)を示す図である。 図15,図16のアプリプッシュ動作を示すフローチャート図である。 図15,図16のアプリプッシュ動作を示すフローチャート図である。 図15,図16のアプリプッシュ動作を示すフローチャート図である。 図4に示されたプライベートプッシュゲートウエイPri-PGWと,パブリックプッシュゲートウエイPub-PGWと,端末SDのハードウエア構成を示す図である。 第2の実施の形態におけるインターネット内の端末へのアプリプッシュ動作(1)のフローチャート図である。 第2の実施の形態におけるインターネット内の端末へのアプリプッシュ動作(2)のフローチャート図である。 第3の実施の形態におけるコマンド体系を示す図である。 第3の実施の形態におけるインターネット内の端末へのアプリプッシュ動作(1)の第1のフローチャート図である。 第3の実施の形態におけるインターネット内の端末へのアプリプッシュ動作(1)の第2のフローチャート図である。 第3の実施の形態におけるインターネット内の端末へのアプリプッシュ動作(1)の第2のフローチャート図である。 第3の実施の形態におけるインターネット内の端末へのアプリプッシュ動作(2)のフローチャート図である。 第3の実施の形態におけるインターネット内の端末へのアプリプッシュ動作(2)のフローチャート図である。 第3の実施の形態におけるインターネット内の端末へのアプリプッシュ動作(2)のフローチャート図である。 マルチテナント型のプッシュサービスを示す図である。 第4の実施の形態におけるシームレスプッシュシステムの構成図である。
 [シームレスプッシュの概略]
 図1は,プッシュシステムの概略を説明する図である。図1に示されたプッシュシステムは,企業内や学校内などのイントラネットNET1内に構築される。イントラネットNET1は,外部のインターネットNET2からファイアウオールなどのゲートウエイGWで保護されている。そこで,プッシュシステムは,イントラネットNET1内に,プッシュメッセージの送信を依頼するプッシュ依頼者装置Pu-reqと,利用者の端末SDにプッシュメッセージを送信するプッシュゲートウエイPGWと,端末SDにアプリケーションを送信するアプリサーバApp-serとを有し,これらはイントラネットNET1を介して互いに接続可能になっている。
 プッシュ依頼者装置Pu-reqは,アプリケーションを利用者の端末SDにプッシュ送信するサービスを提供するサービスプロバイダのサーバまたは端末である。プッシュ依頼者装置Pu-reqは,プッシュメッセージをプッシュゲートウエイPGWに依頼する。プッシュメッセージは,端末にアプリケーションをダウンロードさせるトリガになるメッセージであり,例えばダウンロード先情報を有している。プッシュゲートウエイPGWは,依頼されたプッシュメッセージを利用者の端末SDにプッシュ通信するサーバである。そして,アプリサーバApp-serは,利用者の端末SDにアプリケーションを送信するサーバである。さらに,利用者の端末SDは,例えばスマートフォン,スマートパッド端末,PCなどであり,どこにでも移動可能な端末であり,これらを総称して例えばスマートデバイス(Smart
Device : SD)と称する。端末SDは,イントラネット内またはインターネット内の無線LANとWiFi接続することができるとともに,3G公衆電話網を介してインターネットに接続することもできる。
 プッシュゲートウエイPGWと端末SDとはTCPプロトコル等による接続状態を確立し,その接続状態を維持することができる。このように端末SDを常時接続状態にすることで,プッシュゲートウエイPGWは,いつでもプッシュメッセージを端末SDにプッシュ送信できる。また,プッシュメッセージが端末SDにプッシュ送信された時に,端末SDは,アプリサーバApp-serと接続し,プッシュメッセージに対応するアプリケーションをアプリサーバApp-serからダウンロードし,端末SDで実行する。
 概略的な動作は,次のとおりである。あらかじめ,端末SDは,プッシュゲートウエイPGWとの間で接続を確立し,その接続状態を維持している。まず,プッシュ依頼者装置Pu-reqは,プッシュメッセージの送信をプッシュゲートウエイPGWに送信する。このプッシュメッセージには,どの端末SDにプッシュ送信すべきかを示すプッシュ送信先情報が添付されている。それに応答して,プッシュゲートウエイPGWは,接続状態を維持しているプッシュ送信先の端末SDに,プッシュメッセージを送信する。
 プッシュメッセージには,ダウンロード先のURLなどの情報が埋め込まれている。端末SD内のダウンロードアプリケーションは,プッシュメッセージのダウンロード先情報に基づいて,アプリサーバApp-serと接続し,対応するアプリケーションをダウンロードする。そして端末SDは,ダウンロードされたアプリケーションを端末SDで実行する。
 上記のように,利用者の端末SDは,プッシュゲートウエイPGWとの間で接続状態を維持してれば,いつでもプッシュメッセージを受信し,対応するアプリケーションをダウンロードし実行することができる。これによってアプリケーションのプッシュサービスが可能になる。業務で利用するアプリケーションには企業の秘密情報が含まれているが,アプリサーバApp-serはセキュリティ性の高いイントラネットNET1内に設置されているので,秘密情報漏洩のリスクは低い。さらに,プッシュメッセージにも,アプリケーションのダウンロード先のURLなど秘密情報が含まれているが,プッシュ依頼者装置Pu-reqもイントラネットNET1内に設置されるので,セキュリティ上の問題は少ない。さらに,プッシュゲートウエイPGWも,プッシュメッセージを送信するためのプッシュ送信先情報や,プッシュ依頼者のID,パスワードPWなどを保持しておく必要があるが,イントラネットNET1内に設置されているので,セキュリティ上の問題は少ない。
 いつでもアプリケーションを端末SDに送り込むための条件として,端末SDがプッシュゲートウエイPGWと接続状態を維持していることがある。一方,前述のとおり,プッシュゲートウエイPGWはイントラネットNET1内に設置されている。そのため,端末SDがイントラネットNET1からインターネットNET2に移動した場合に,端末SDとプッシュゲートウエイPGW間の接続状態を維持することは,イントラネットのゲートウエイGWに阻まれるため課題が残る。さらに,インターネットNET2に移動した端末SDが,アプリサーバApp-serからアプリケーションをダウンロードすることも,ゲートウエイGWによるファイアウオールの問題がある。
 たとえば,端末SDがインターネットNET2に接続している間は,端末SDが,バーチャルプライベートネットワークVPNによりイントラネットNET1内のプッシュシステムと通信経路を構築し,プッシュゲートウエイPGWと常時接続状態にしておくことが考えられる。しかし,社外のインターネット内の端末SDが張ったVPNを介して,第三者がイントラネットNET1内にアクセスすることが考えられ,セキュリティ上問題が残る。
 [シームレスプッシュシステムの概略]
 図2は,シームレスプッシュシステムの概略を説明する図である。図2のプッシュシステムによれば,利用者の端末SDがインターネットNET2に移動した場合でも,端末SDにアプリケーションをシームレスに送り込むことができる。
 図2において,イントラネットNET1でのプッシュ依頼者装置Pu-reqと,アプリサーバApp-serは,図1と同じである。図1と異なる構成は,イントラネットNET1内にプライベートプッシュゲートウエイPri-PGWを設置し,インターネットNET2内にパブリックプッシュゲートウエイPub-PGWを設置していることである。そして,両ゲートウエイPri-PGW,Pub-PGWとが所定のコマンドを送受信できるように連携しあっている。
 そして,特徴的な点は例えば次の通りである。第1に,インターネットNET2内の端末SDは,パブリックプッシュゲートウエイPub-PGWにインターネットNET2を介してアクセスして,TCPプロトコルなどによる接続を確立して,その接続状態を保持することができる。
 第2に,プライベートプッシュゲートウエイPri-PGWは,プッシュメッセージの送信先情報や,プッシュ依頼者情報や,再送待ちのプッシュメッセージなどを記憶しているデータベースPri-DBを有するのに対して,インターネットNET2に設置されているパブリックプッシュゲートウエイPub-PGWのデータベースPub-DBは,そのような秘密情報は保持しない。パブリックプッシュゲートウエイPub-PGWのデータベースPub-DBは,接続状態にある端末SDのデバイスIDなど秘密性の少ないまたはない情報のみ格納する。この接続状態を利用して,プライベートプッシュゲートウエイPri-PGWは,パブリックプッシュゲートウエイPub-PGWとインターネットNET2経由でプッシュメッセージを端末SDにプッシュ送信することができる。
 第3に,端末SDは,プッシュメッセージを受信したときに,イントラネットNET1内のプッシュシステムのアプリサーバApp-serにバーチャルプライベートネットワークVPNを張り,VPNの通信経路を経由してアプリサーバApp-serからアプリケーションをダウンロードする。しかも,VPNを張っている間もプッシュメッセージをプッシュ受信できるようにするために,端末SDはVPNを経由してプライベートプッシュゲートウエイPri-PGWと接続を確立してその接続状態を維持する。
 このVPNは,インターネット上の端末から特定のローカルエリアネットワーク(LAN)へ接続するための技術であり,インターネットを利用したVPNのうちリモート型VPNと称されるものである。VPNは,のぞき見や改ざんなどの不正アクセスを防ぎ,安全な通信を可能にする技術であり,インターネットなどのパブリックネットワークを使って実現したプライベートネットワークである。VPNは,パケットをカプセル化してトンネリングで送信するとともに,パケットを暗号化することが一つの特徴である。図2の例では,インターネット上の端末SDがイントラネット内のアプリサーバに接続して安全な通信経路を得るために,VPNが構築される。
 [アプリプッシュの概略動作]
 図3は,図2のアプリプッシュシステムの概略動作を示すフローチャート図である。まず,両プッシュゲートウエイPri-PGW,Pub-PGWが起動し(ST1),初期登録を行う(ST2)。初期登録では,プライベートプッシュゲートウエイPri-PGWは,連携相手のパブリックプッシュゲートウエイPub-PGWのIPアドレス,プッシュ依頼者装置のIDとパスワードPW,プッシュ送信先情報(destination
ID)を設定する。また,端末SDは,前記プッシュ先情報,両プッシュゲートウエイPri-PGW,Pub-PGWのIP情報などを設定する。そして,パブリックプッシュゲートウエイPub-PGWは,連携相手のプライベートプッシュゲートウエイPri-PGWのIPアドレスを設定する。プッシュ送信先情報(destination
ID, dest)は,例えばどの端末内のどのダウンロードアプリケーションかを示す情報,または,簡易的に端末ID(device ID)であってもよい。
 次に,プッシュメッセージが送信される(ST3)。具体的には,端末SDはあらかじめプッシュゲートウエイPGWと接続を確立しその接続状態を維持する(ST3-1)。そして,プッシュ依頼者装置Pu-reqがプッシュメッセージの送信依頼をプッシュゲートウエイPGWに送信し(ST3-2),プッシュゲートウエイPGWが接続中の端末SDにプッシュメッセージをプッシュ送信する(ST3-3)。
 それに応答して,端末SDは,アプリサーバApp-serにアクセスしてアプリケーションをダウンロードし,実行する(ST4)。端末SDによるダウンロードと実行は,専用のアプリケーションにより自動的に行われる。
 以上のように,図2のシームレスプッシュシステムは,初期登録ST2と,プッシュメッセージの送信ST3と,プッシュメッセージに基づくアプリケーションのダウンロードと実行ST4とにより,アプリプッシュサービスを提供する。以下,端末がインターネット内に移動した場合の動作について概略を説明する。
 [端末SDがイントラネット内にある場合]
 端末SDがイントラネットNET1内にある場合は,イントラネットに接続可能な状態である。この場合,図1で説明したようにして,プライベートプッシュゲートウエイPri-PGWが,依頼されたプッシュメッセージを,予め接続状態にある端末SDにプッシュ送信し,それに応答して端末SDがイントラネットを経由してアプリサーバPri-serに接続してアプリケーションをダウンロードしインストールする。
 [インターネット内の端末SDが接続状態の場合]
 端末SDがインターネットNET2内にある場合は,インターネットに接続可能な状態である。この場合にアプリケーションが送り込まれる動作について説明する。まず,事前に,プライベートプッシュゲートウエイPri-PGWとパブリックプッシュゲートウエイPub-PGWとの間で,互いのIPアドレスなどの情報が交換され,それぞれに設定される。また,プライベートプッシュゲートウエイPri-PGWには,プッシュメッセージの送信先であるプッシュ送信先情報や,プッシュ依頼者情報などがあらかじめ設定され,データベースPub-DBに格納され,端末SDにもプッシュ送信先情報が設定される。なお,端末SDは端末ID(device
ID)を有している。
 そして,インターネットNET2に3GやWiFiにより接続可能な端末SDは,パブリックプッシュゲートウエイPub-PGWとTCPプロトコルによる接続を確立し,その接続状態を維持しておく。この接続端末情報は,パブリックプッシュゲートウエイPub-PGWのデータベースPub-DB内に記録されている。この状態で,プッシュ依頼者装置Pu-reqがプッシュメッセージの依頼(プッシュ依頼)をプライベートプッシュゲートウエイPri-PGWに送信する。この場合,端末SDは,イントラネット外にあるので,プライベートプッシュゲートウエイPri-PGWとは接続状態を維持していない。そこで,プライベートプッシュゲートウエイPri-PGWは,パブリックプッシュゲートウエイPub-PGWに対してプッシュメッセージの転送コマンド(プッシュ転送コマンド)をプッシュメッセージと共に送信する。このプッシュ転送コマンドは,例えばHTTPプロトコルにより送信される。
 このプッシュ転送コマンドに応答して,パブリックプッシュゲートウエイPub-PGWは,データベースPub-DBを参照して,プッシュメッセージ送信先の端末SDが接続状態にあることを確認し,その端末SDにプッシュメッセージをプッシュ送信する。これに応答して,端末SDは,イントラネットNET1内のアプリサーバApp-serとバーチャルプライベートネットワークVPNを構築し,プッシュメッセージに埋め込まれているURLにアクセスして,アプリケーションを自動でダウンロードする。そして,ダウンロードしたアプリケーションを,端末SDは実行する。
 上記のように,端末SDがインターネットNET2に接続可能な間も,プライベートプッシュゲートウエイPri-PGWは,いつでもプッシュメッセージを端末SDにプッシュ送信することができ,アプリケーションを送り込むことができる。しかも,端末SDの常時接続状態は,ゲートウエイGWを経由することなく,インターネットNET2内に設置されているパブリックプッシュゲートウエイPub-PGWに対して確立される。そして,アプリケーションをダウンロードするときだけ,端末SDはイントラネットNET1内のプッシュシステムとプライベートネットワークVPNを張るので,セキュリティ性を高く保つことができる。そして,インターネットNET2内に設置されるパブリックプッシュゲートウエイPub-PGWは,端末SDとの接続情報(接続状態にある端末ID(device
ID))しか保持せず,プッシュメッセージや,プッシュ送信先情報やプッシュ依頼者情報などの秘密性のある情報を保持する必要はない。
 [インターネット内の端末SDが非接続状態の場合]
 さらに,図2のシームレスプッシュシステムでは,端末SDとパブリックプッシュゲートウエイPub-PGWとの間で接続が維持されていない場合でも,その後接続が確立されたときに,それに応答して,プライベートプッシュゲートウエイPri-PGWのデータベースPri-DB内の再送キューに格納されている未送信のプッシュメッセージをプッシュ送信することができる。
 その動作の概略は次のとおりである。前述のとおり,初期登録がなされた後,プッシュ依頼者装置Pu-reqがプッシュメッセージの送信依頼をプライベートプッシュゲートウエイPri-PGWに送信する。送信先端末SDがイントラネットNET1経由で接続状態にないため,プライベートプッシュゲートウエイPri-PGWは,そのデータベースPri-DB内の再送キューにそのプッシュメッセージとプッシュ送信先情報とを格納する。そして,プライベートプッシュゲートウエイPri-PGWは,プッシュ転送コマンドをパブリックプッシュゲートウエイPub-PGWに送信する。
 パブリックプッシュゲートウエイPub-PGWは,端末SDがインターネットNET2を介して接続状態にあれば,転送されてきたプッシュメッセージをプッシュ送信し,それに対して,端末SDからプッシュ送信のアクノリッジACKを受信すれば,プッシュ送信完了通知コマンドをプライベートプッシュゲートウエイPri-PGWに送信する。それに応答して,プライベートプッシュゲートウエイPri-PGWは,データベースPri-DB内の再送キューに格納したプッシュメッセージを送信済みにする。
 しかし,端末SDがパブリックプッシュゲートウエイPub-PGWと接続を確立していない場合は,パブリックプッシュゲートウエイPub-PGWは,転送されてきたプッシュメッセージを端末SDにプッシュ送信できない。そのため,プッシュ送信完了通知コマンドがプライベートプッシュゲートウエイPri-PGWに送信されず,データベースPri-DB内の再送キューにはプッシュメッセージが残ったままになる。
 そして,端末SDが,電源をOFFからONにしたり,インターネットに接続可能な場所に移動したりして,インターネットNET2に接続可能な状態になると,端末SDが,パブリックプッシュゲートウエイPub-PGWにTCPプロトコルによる接続を確立する。この端末SDの接続に応答して,パブリックプッシュゲートウエイPub-PGWは,新たに接続された端末SD宛のプッシュメッセージが再送待ちか否かを問い合わせる再送問い合わせコマンドを,プライベートプッシュゲートウエイPri-PGWに送信する。
 そして,プライベートプッシュゲートウエイPri-PGWは,データベースPri-DB内の再送キューをチェックし,再送キュー内に問い合わせされた端末SD宛の再送待ちのプッシュメッセージが格納されていれば,プッシュ転送コマンドをパブリックプッシュゲートウエイPub-PGWに送信する。これに応答して,パブリックプッシュゲートウエイPub-PGWは,転送されてきたプッシュメッセージを端末SDにプッシュ送信する。その後は,端末SDがアプリサーバApp-serにVNPを確立し,アプリケーションをダウンロードし実行する。
 上記の動作中,プッシュ転送コマンドを受信したパブリックプッシュゲートウエイPub-PGWは,そのとき端末SDが接続を確立していない場合,転送されてきたプッシュメッセージをそのデータベースPub-DB内に格納することはせず破棄し,秘密情報がインターネット上に晒されることを回避している。
 また,端末SDがイントラネット内のプッシュシステムとVPNを張っている間においても,プッシュメッセージをプッシュ送信可能にするために,端末SDは,そのVPNを経由して,イントラネット内のプライベートプッシュゲートウエイPri-PGWと接続を確立し,その接続状態を維持することが望ましい。これにより,アプリケーションをダウンロード中も,プッシュメッセージを受信することができる。
 さらに,プライベートプッシュゲートウエイPri-PGWは,プッシュ転送コマンドを送信した後,プッシュ送信完了通知を受信しない場合は,定期的にプッシュ転送コマンドの送信を繰り返すようにしてもよい。または,再送問い合わせコマンドを受信したときに再送キュー内にあるプッシュメッセージをプッシュ転送コマンドで送信することと,再送キュー内にあるプッシュメッセージについて定期的にプッシュ転送コマンドを送信することとを組み合わせても良い。
 以上のとおり,図2によりシームレスプッシュシステムによれば,インターネット内に移動してきた端末SDに対しても,イントラネット内のシステムのイントラネット外部からのセキュリティ性を保ちながら,いつでもまたは端末SDがインターネットで接続してきたときに,プッシュメッセージをプッシュ送信してアプリケーションを送り込むことができる。
 以下,第1の実施の形態におけるシームレスプッシュシステムとその動作について具体的に説明する。
 [第1の実施の形態]
 [シームレスプッシュシステムの構成]
 図4は,本実施の形態におけるシームレスプッシュシステムの構成図である。図2と同様に,イントラネットNET1内には,プッシュメッセージの送信を依頼するプッシュ依頼者装置Pu-reqと,プッシュメッセージをプッシュ送信先の端末SDに送信するプライベートプッシュゲートウエイPri-PGWと,アプリケーションを端末SDにダウンロードするアプリサーバApp-serとが設けられている。
 一方,インターネットNET2内には,プッシュメッセージをプッシュ送信先の端末SDに送信するパブリックプッシュゲートウエイPub-PGWを有する。そして,端末SDは,イントラネットNET1内に位置している間はイントラネットに接続され,インターネットNET2内に位置している間はインターネットに接続される。イントラネットNET1とインターネットNET2との間には,ファイアウオールを構成するゲートウエイGWが設けられ,イントラネットNET1内のセキュリティが保たれている。
 プライベートプッシュゲートウエイPri-PGWは,プッシュ依頼者装置Pu-reqからプッシュメッセージの送信依頼を受け付けるプッシュ依頼受付部11と,イントラネット内の端末SDのプッシュ受信部31からTCPプロトコルなどによる接続要求を受け付けて,そのイントラネットを介した接続状態を維持し,プッシュメッセージを接続中の端末SDに送出する端末接続受付部12と,プッシュメッセージの転送やプッシュメッセージの送信ステータスの同期をパブリックプッシュゲートウエイPub-PGWと連携して行うゲートウエイ連携部10と,秘密情報やプライベート情報を含む必要なデータを保存するデータベースPri-DBとを有する。プッシュ依頼受付部11と,端末接続受付部12と,ゲートウエイ連携部10は,ソフトウエアをサーバにインストールすることによって実現される。
 アプリサーバApp-serは,端末に送り込むアプリケーションのデータベースを保持し,端末SDのアプリダウンロード部33からのアプリケーションダウンロードを受け付けるアプリダウンロード部(図示せず)を有する。
 一方,パブリックプッシュゲートウエイPub-PGWは,端末接続受付部22と,ゲートウエイ連携部20と,データベースPub-DBとを有する。これらは,ソフトウエアをサーバにインストールすることで実現される。端末接続受付部22は,インターネット内の端末SDのプッシュ受信部31からTCPプロトコルなどによる接続要求を受け付けて,そのインターネットを介した接続状態を維持し,転送されてきたプッシュメッセージを接続中の端末SDに送出する。ゲートウエイ連携部20は,プッシュメッセージの転送やプッシュメッセージの送信ステータスの同期をプライベートプッシュゲートウエイPri-PGWと連携して行う。データベースPub-DBは,秘密情報やプライベート情報を除いた必要なデータを保存する。このデータベースPub-DBは,連携するプライベートプッシュゲートウエイPri-PGWのIPアドレスなどの情報(連携GW情報)と,端末接続受付部22にインターネットを介して接続状態を構築した端末SDの情報(接続端末情報)とを有する。
 そして,端末SDは,プライベートプッシュゲートウエイPri-PGWまたはパブリックプッシュゲートウエイPub-PGWとTCPプロトコルにより接続を構築し,その接続状態を維持し,プッシュメッセージを受信し,受信したプッシュメッセージを処理するプッシュ受信部31を有する。この処理は,プッシュメッセージに含まれている必要な情報をアプリダウンロード部33や接続管理部30などに供給する処理などである。
 さらに,端末SDは,プッシュ受信部31からプッシュメッセージに埋め込まれているダウンロード先のURL情報を取得して,アプリサーバApp-serからアプリケーションをダウンロードするアプリダウンロード部33と,各種接続の管理を行う接続管理部30と,接続管理部30からの指示によりイントラネットNET1内のアプリサーバApp-serとVPNを構築するVPN接続確立部32とを有する。端末SD内のプッシュ受信部31と,アプリダウンロード部33と,接続管理部30と,VPN接続確立部32は,いずれもソフトウエアを端末コンピュータまたはスマートデバイスにインストールすることで実現される。
 接続管理部30は,プライベートプッシュゲートウエイPri-PGWとパブリックプッシュゲートウエイPub-PGWのIPアドレスなどの情報と,端末ID(device
ID)と,プッシュ送信先情報(destination ID)をデータベースSD-DBに保持し,端末が接続中のネットワークに応じてプッシュ受信部31がいずれのプッシュゲートウエイに接続するか,アプリケーションのダウンロードにVPN接続が必要な否かを判断する。
 接続管理部30は,端末が接続中のネットワークの判断を次のように行う。端末SDが3Gなどの携帯電話網を経由してインターネットNET2に接続している場合は,接続管理部30はインターネットNET2に接続していると判断し,パブリックプッシュゲートウエイPub-PGWの端末受付接続部22にインターネットを介してTCPプロトコルによる接続を構築する。また,端末SDがWiFiなどで無線LANに接続している場合は,接続管理部30は,接続先の無線LANのアクセスポイントの識別情報(SSID)が,予め登録してあるイントラネットNET1内のアクセスポイントと一致する場合は,イントラネットNET1に接続していると判断し,プライベートプッシュゲートウエイPri-PGWの端末受付接続部12にTCPプロトコルによる接続を構築する。また,接続管理部30は,接続先の無線LANのSSIDが上記登録済みのアクセスポイントと一致しない場合は,インターネットNET2に接続していると判断し,パブリックプッシュゲートウエイPub-PGWの端末受付接続部22にTCPプロトコルによる接続を構築する。
 接続管理部30は,アプリケーションをダウンロードする際に,イントラネットNET1に接続している場合はVPNの構築が不必要と判断し,インターネットNET2に接続している場合は必要と判断する。
 プライベートプッシュゲートウエイPri-PGWとパブリックプッシュゲートウエイPub-PGWの端末接続受付部12,22と,端末SDのプッシュ受信部31とは,TCPプロトコルにより接続を構築すると,ソケット接続が完了した状態になり,そのソケット接続(IPアドレスとポート番号)を特定するソケット記述子が,接続を構築した端末ID(device)と共に,各データベースPri-DB,
Pub-DB, SD-DBに保存される。
 このソケット接続が構築されると,両プッシュゲートウエイと端末SDとはソケット通信でデータの送受信を行うことができる接続状態が維持される。例えば,プライベートプッシュゲートウエイPri-PGWの端末接続受付部12は,ソケット通信の要求を待ち受ける状態になっていて,端末SDがソケット通信の接続要求を行う。端末SDは,この接続要求を電源起動時やインターネットやイントラネットと接続した時に自動で行うことが望ましい。ただし,設定によって利用者の手動により行うようにすることも可能である。
 このTCPプロトコルによるソケット接続の状態は,一般に携帯電話網や無線LANの接続が途切れない限りは維持される。ただし,携帯電話網の場合,そのキャリアによっては一定時間通信を行わないと接続状態を切ることがあり,そのような場合は,端末SDのプッシュ受信部31は,定期的に端末接続受付部12,22と通信して,接続状態を保つようにする。
 端末SD内のプッシュ受信部31と,VPN接続確立部32と,アプリダウンロード部33は,端末SDにそれぞれのアプリケーションをインストールすることにより実現される。VPN接続確立部32は,アプリサーバApp-serへのバーチャルプライベートネットワークVPNを構築する処理を行う。例えば,「Android
VPN Framework」を利用して実現可能である。
 アプリダウンロード部33は,構築したVPNを介してアプリサーバApp-serからアプリケーションをダウンロードする処理を行う。
 そして,プッシュ受信部31は,上記のTCPプロトコルによる通信を構築し維持する処理に加えて,VPNが構築されている間プライベートプッシュゲートウエイPri-PGWと接続を構築する処理を行う。これは,VPNが構築されると,端末SDはインターネット接続を行うことができなくなり,その間プッシュメッセージを送信依頼された時に即時にプッシュメッセージを受信することができなくなるからである。
 [データベース内のデータについて]
 図5は,プッシュゲートウエイPri-PGW,
Pub-PGWと端末DSのデータベースを示す図である。プライベートプッシュゲートウエイPri-PGWのデータベースPri-DBには,プッシュ依頼者情報D1と,プッシュメッセージの送信先情報であるプッシュ送信先情報D2と,再送キューD3と,送信済みプッシュメッセージを有する送信済みプッシュD4と,接続端末情報D5と,連携ゲートウエイ情報D6(相手のPGWのIPアドレスなど)とが格納されている。データD1,D2,D3,D4には,秘密情報またはパーソナル情報が含まれている。
 パブリックプッシュゲートウエイPub-PGWのデータベースPub-DBには,接続端末情報D5と,連携ゲートウエイ情報D6とが格納されている。これらの情報D5,D6は,秘密情報又はプライベート情報を有していない。
 さらに,端末SDのデータベースSD-DBには,イントラネットに対応付けされたプライベートプッシュゲートウエイPri-PGWと,インターネットに対応付けられたパブリックプッシュゲートウエイPub-PGWのそれぞれのIPアドレスの情報D10,D11と,端末ID(device1)D12と,プッシュメッセージの送信先情報D13と,端末とプッシュゲートウエイPri-PGW,Pub-PGWとの間の接続情報D14とが格納されている。
 プッシュ依頼者情報D1は,プッシュ依頼者装置Pu-reqがプライベートプッシュゲートウエイPri-PGWにプッシュメッセージの送信を依頼するときに必要な,プッシュ依頼者端末の識別情報P-IDと認証情報(パスワード)PWとを有する。これらのプッシュ依頼者情報D1に基づいて,プライベートプッシュゲートウエイPri-PGW内のプッシュ依頼受付部11が,プッシュメッセージの送信依頼を認証する。プッシュ依頼者情報D1は,初期設定で予め登録される。
 プッシュ送信先情報D2,D13は,プッシュメッセージを送信する送信先情報であり,どの端末内のどのアプリダウンロード部かを特定する情報(destination
ID: dest1, dest2, dest3など)である。この情報は,端末ID(device ID: device1, device2など)と対応付けて,データベースPri-DB内に格納される。端末SD内には,希望するアプリプッシュサービスに対応して単一または複数のアプリダウンロード部33のアプリケーションがインストールされる。したがって,プッシュメッセージの送信先情報D2,D15は,どの端末SDのどのアプリダウンロード部かを識別可能な情報であることが望ましい。
 端末SDが単一のアプリプッシュサービスしか受けないような場合は,プッシュメッセージの送信先情報D2はその端末SDの端末IDでもよい。ただし,端末IDは,各端末IDを識別するための情報であり,第三者から容易に抽出されうる情報である。したがって,端末IDをプッシュ送信先情報に使用すると,悪意のある第三者から希望しないアプリケーションを無差別に送り込まれる可能性がある。
 図5の例では,端末SDが受けたいと宣言したアプリプッシュサービス毎にプッシュ送信先情報が与えられ,プライベートプッシュゲートウエイPri-PGWのデータベースPri-DBに,全てのプッシュ送信先情報D2が,端末IDと関連付けて保存される。図5に示された例によれば,端末IDがdevice1である端末に対するプッシュ送信先情報dest1,
dest2(dest1,device1, dest2,device1)と,端末IDがdevice3である端末に対するプッシュ先情報dest3(dest3,device2)が登録されている。
 一方,端末SDのデータベースSD-DBには,その端末IDのデータD12としてdevice1が,その端末に登録されているプッシュ送信先情報D13としてdest1,
dest2が,それぞれ格納されている。
 このプッシュ送信先情報は,端末IDとは異なり,アプリプッシュサービスと端末との間で取り決めた情報であり,秘密性が高い。そのため,悪意のある第三者から希望しないアプリケーションを送り込まれることは回避される。
 再送キューD3には,プライベートプッシュゲートウエイPri-PGWのプッシュ依頼受付部11がプッシュメッセージの送信依頼を受信したときに,そのプッシュメッセージの送信先情報dest1に対応する端末SDが接続状態でない場合に,そのプッシュメッセージpush2と,プッシュ送信先情報dest1とが格納される。
 接続端末情報D5は,端末SDがプッシュゲートウエイPri-PGW,
Pub-PGWの端末接続受付部12,22に対してTCPプロトコルによる接続を構築した時の,接続先のIPアドレスとポート番号とを特定するソケット識別子socket1,
socket2と,それぞれの端末の端末ID(device1, device2)との対応を有する。図5の例では,データベースPri-DB, Pub-DBには,接続端末情報D5としてdevice1,socket1とdevice2,socket2とが格納されている。ただし,実際には,両方に同じ端末の接続端末情報が格納されることはない。また,図5の例では,端末のデータベースSD-DBには,端末接続情報D14としてsocket1が格納されている。
 連携ゲートウエイ情報D6は,それぞれが連携する相手側のプッシュゲートウエイのIPアドレスである。図5の例では,プライベートプッシュゲートウエイPri-PGWにはIP1が,パブリックプッシュゲートウエイPub-PGWにはIP2が設定されている。
 [イントラネット内の端末へのアプリプッシュ動作(1)]
 図6は,本実施の形態におけるシームレスアプリプッシュシステムのイントラネット内の端末へのアプリプッシュ動作(1)を示す図である。図7は,そのアプリプッシュ動作を示すフローチャート図である。この例では,端末SDはイントラネットNET1内に位置していて,プライベートプッシュゲートウエイPri-PGW内の端末接続受付部12とTCPプロトコルによる接続を構築している場合の動作である。
 初期設定で,プライベートプッシュゲートウエイPri-PGWのデータベースPri-DBには,連携GW情報D6(Pub-PGW,IP2)と,プッシュ依頼者情報D1(ID,PW)と,プッシュ送信先情報D2(dest1,device1)とが登録されている。また,パブリックプッシュゲートウエイPub-PGWのデータベースPub-DBには,連携GW情報D6(Pri-PGW,IP1)が登録され,端末SDにはプッシュ送信先情報dest1が登録されている。
 まず,イントラネットNET1を介してスマートデバイスである端末SDがプライベートプッシュゲートウエイPri-PGWの端末接続受付部12にTCPプロトコルによる接続を要求し,接続を構築する(S0)。これにより,プライベートプッシュゲートウエイPri-PGWのデータベースPri-DBには,接続端末情報D5(device1,socket1)が登録される。
 その後,プライベートプッシュゲートウエイPri-PGWのプッシュ依頼受付部11は,プッシュ依頼者装置Pu-reqから,アプリプッシュメッセージの送信依頼を受信する(S1)。このアプリプッシュメッセージ送信依頼には,アプリプッシュメッセージpush1とプッシュ送信先情報dest1とが含まれる。
 プッシュ依頼受付部11は,データベースPri-DB内のプッシュ送信先情報D2を参照して,プッシュ送信先情報dest1に対応する端末ID(device1)を取得する。さらに,端末接続受付部12は,接続端末情報D5を参照してその端末device1が接続状態を構築済みであることを確認する(S2)。そして,端末接続受付部12は,そのソケット識別子socket1を利用して,端末SDにプッシュメッセージpush1をプッシュ送信先情報dest1と共にプッシュ送信する(S3)。
 これに応答して,端末SDでは,ソケット識別子socket1によりプッシュメッセージpush1がプッシュ受信部31に送信され,さらに,プッシュ送信先情報dest1により対応するアプリダウンロード部33にプッシュメッセージpush1が渡される。そして,端末SDのプッシュ受信部31は,プッシュメッセージの受信通知を返信する(S4)。プライベートプッシュゲートウエイPri-PGWの端末接続受付部12は,この受信通知を受信し,プッシュメッセージpush1を送信済プッシュD4に登録することでプッシュ通信が完了したことを確認する。
 その後,端末SDでは,接続管理部30がイントラネットと接続されていることに基づいて,アプリサーバApp-serとVPNを構築せず,アプリダウンロード部33が,プッシュメッセージ内のURLアドレスに基づいて,アプリサーバApp-serにアクセスして,アプリケーションをダウンロードし,実行する(S5)。
 以上のように,イントラネットNET1に端末が接続可能になっている場合は,端末が初期動作でプライベートプッシュゲートウエイPri-PGWと接続状態を確立して維持しているので,プッシュメッセージの依頼が発生したタイミングで,端末にプッシュメッセージが送り届けられ,アプリケーションが自動的にダウンロードされる。
 [イントラネット内の端末へのアプリプッシュ動作(2)]
 図8,図9は,本実施の形態におけるシームレスアプリプッシュシステムのイントラネット内の端末へのアプリプッシュ動作(2)を示す図である。図10は,そのアプリプッシュ動作を示すフローチャート図である。この例は,端末SDはイントラネットNET1内に位置しているが,またはイントラネット内に位置しておらず,プライベートプッシュゲートウエイPri-PGW内の端末接続受付部12とは接続はまだ構築していない場合の動作である。
 イントラネット内の端末へのアプリプッシュ動作(1)と同様に,初期設定で,プライベートプッシュゲートウエイPri-PGWのデータベースPri-DBには,連携GW情報D6(Pub-PGW,IP2)と,プッシュ依頼者情報D1(ID,PW)と,プッシュ送信先情報D2(dest1,device1)とが登録されている。また,パブリックプッシュゲートウエイPub-PGWのデータベースPub-DBには,連携GW情報D6(Pri-PGW,IP1)が登録され,端末SDにはプッシュ送信先情報dest1が登録されている。
 この例では,スマートデバイスである端末SDは,プライベートプッシュゲートウエイPri-PGWに接続を確立しておらず,よって,データベースPri-DBの接続端末情報D5には端末SDは登録されていない(S0)。
 図8に示すとおり,プライベートプッシュゲートウエイPri-PGWのプッシュ依頼受付部11は,プッシュ依頼者装置Pu-reqから,アプリプッシュメッセージの送信依頼を受信する(S1)。このアプリプッシュメッセージ送信依頼は,アプリプッシュメッセージpush1とプッシュ送信先情報dest1とを含んでいる。
 プッシュ依頼受付部11は,データベースPri-DB内のプッシュ送信先情報D2を参照して,プッシュ送信先情報dest1に対応する端末ID(device1)を取得する。さらに,端末接続受付部12は,取得した端末ID(device1)に基づいて,接続端末情報D5を参照し,その端末device1が接続状態を未だ構築していないことを確認する(S2)。そのため,プッシュ依頼受付部11は,再送キューD3内に受信したプッシュメッセージ送信依頼(push1,
dest1)を追加する(S13)。
 図9に示されるとおり,やがて,端末SDが,イントラネットNET1を介して,プライベートプッシュゲートウエイPri-PGWの端末接続受付部12にTCPプロトコルによる接続を要求し,接続を構築する(S14)。これにより,端末接続受付部12は,プライベートプッシュゲートウエイPri-PGWのデータベースPri-DBに,接続端末情報D5(device1,socket1)を登録する(S15)。
 これに応答して,プッシュ依頼受付部11は,プッシュ送信先情報D2を参照して,接続を確立した端末device1に対するプッシュ送信先情報dest1を抽出し,それに対応するプッシュメッセージが再送キューD3内に格納されているか否かをチェックする。この例では,再送キュー内にプッシュメッセージ(push1,dest1)が格納されていたため,プッシュ依頼受付部11は,そのプッシュメッセージpush1をプッシュ送信先情報dest1宛にソケット識別子socket1によりプッシュ送信する(S16)。
 これに応答して,端末SDでは,プッシュ受信部31がプッシュメッセージpush1を受信し,さらに,プッシュ送信先情報dest1により対応するアプリダウンロード部33にプッシュメッセージpush1が渡される。そして,端末SDのプッシュ受信部31は,プッシュメッセージの受信通知を返信する(S17)。プライベートプッシュゲートウエイPri-PGWの端末接続受付部12は,この受信通知を受信し,プッシュメッセージpush1のプッシュ通信が完了したことを確認し,再送キューD3内のプッシュメッセージpush1を送信済みプッシュD4に移動させ,再送キューD3から削除する(S18)。
 その後,端末SDでは,接続管理部30がイントラネット経由でプライベートプッシュゲートウエイPri-PGWと接続していることに基づいて,アプリサーバApp-serとVPNを構築せず,アプリダウンロード部33が,プッシュメッセージ内のURLアドレスに基づいて,アプリサーバApp-serにアクセスして,アプリケーションをダウンロードし,実行する(S19)。
 以上のように,イントラネットNET1に端末が接続可能になっている場合,仮にプッシュメッセージの送信依頼が発生したときに端末がプライベートプッシュゲートウエイPri-PGWと接続状態を確立していない場合でも,その後接続を確立したタイミングで,端末にプッシュメッセージが送り届けられ,アプリケーションが自動的にダウンロードされる。
 [端末がインターネット内にある場合]
 次に,端末SDがインターネットに接続可能な場合におけるシームレスプッシュシステムの動作について説明する。図2で概略説明したとおり,シームレスプッシュシステムは,インターネット上にパブリックプッシュゲートウエイPub-PGWを設置し,イントラネットNET1内のプライベートプッシュゲートウエイPri-PGWと,インターネットNET2内のパブリックプッシュゲートウエイPub-PGWとが連携しあうようにする。インターネット上にパブリックプッシュゲートウエイPub-PGWを設置することで,インターネットに接続可能な端末は,そのパブリックプッシュゲートウエイPub-PGWと接続を確立しその接続状態を維持することができる。
 さらに,プライベートプッシュゲートウエイPri-PGWとパブリックプッシュゲートウエイPub-PGWとを連携しあうことで,秘密情報や個人情報はプライベートプッシュゲートウエイPri-PGWのデータベースPri-DBに格納し,パブリックプッシュゲートウエイPub-PGWのデータベースPub-DBにはそのような情報は記憶させない。
 そして,2つのプッシュゲートウエイ間には,以下のコマンドの交換により,プッシュメッセージを確実にプライベートプッシュゲートウエイPri-PGWからパブリックプッシュゲートウエイPub-PGWにタイムリーに転送できるようにし,インターネット上の端末SDにアプリプッシュが送り届けられるようにする。
 図11は,2つのプッシュゲートウエイ間で交換するコマンドを示す図である。図11には,3つのコマンドと,その機能及び送信側PGWと受信側PGWとが示されている。これらのコマンドは,図4に示したプライベートプッシュゲートウエイPri-PGW内のGW連携部10と,パブリックプッシュゲートウエイPub-PGW内のGW連携部20との間で交換される。
 プッシュ転送コマンドCM1は,プライベートプッシュゲートウエイPri-PGWがプッシュメッセージ送信依頼を受信した場合と,再送待ちキューに置かれているプッシュメッセージを再送する場合に,パブリックプッシュゲートウエイPub-PGWに送信するコマンドである。このコマンドには,プッシュメッセージ(push)と,プッシュ送信先情報(dest)と,端末ID(device)とが添付される。このプッシュメッセージの転送コマンドCM1の受信に応答して,パブリックプッシュゲートウエイPub-PGWは,端末ID(device)が接続を確立しているか否かをチェックし,接続を確立している場合は,その端末IDに対応するソケット情報(socket)に基づき,プッシュ送信先情報(dest)宛に,プッシュメッセージ(push1)を送信する。
 再送問い合わせコマンドCM2は,パブリックプッシュゲートウエイPub-PGWに端末が接続を構築したときに,パブリックプッシュゲートウエイPub-PGWからプライベートプッシュゲートウエイPri-PGWに,その端末に対するプッシュメッセージが再送キュー内に格納されているか否かを問い合わせ,格納されている場合にそのプッシュメッセージの転送を要求するコマンドである。もし,再送キュー内に格納されている場合は,プライベートプッシュゲートウエイPri-PGWは,上記のプッシュ転送コマンドCM1によりそのプッシュメッセージをパブリックプッシュゲートウエイPub-PGWに転送する。
 送信完了通知コマンドCM3は,プッシュ転送コマンドに応答して,パブリックプッシュゲートウエイPub-PGWが接続状態の端末にプッシュメッセージを送信し,端末からプッシュ受信通知を受信したとき,パブリックプッシュゲートウエイPub-PGWからプライベートプッシュゲートウエイPri-PGWに送信されるコマンドである。この送信完了通知コマンドCM3に応答して,プライベートプッシュゲートウエイPri-PGWは,再送キューD3に格納されていたプッシュメッセージを送信済みプッシュD4に移動させて,再送キューD3から削除する。
 以下,端末がインターネット内に位置していて,パブリックプッシュゲートウエイPub-PGWと接続を構築済みの場合と,未だその接続を構築していない場合についてのアプリプッシュの動作を説明する。
 [インターネット内の端末へのアプリプッシュ動作(1)]
 図12は,本実施の形態におけるシームレスアプリプッシュシステムのインターネット内の端末へのアプリプッシュ動作(1)を示す図である。図13,図14は,そのアプリプッシュ動作を示すフローチャート図である。このアプリプッシュ動作(1)は,端末が既にパブリックプッシュゲートウエイPub-PGWの端末接続受付部22と接続を構築している場合の動作である。なお,初期設定は,イントラネット内の端末へのアプリプッシュ動作(1)(2)と同様である。
 まず,スマートデバイスである端末SDは,インターネットと接続可能な状態にあり,パブリックプッシュゲートウエイPub-PGW内の端末接続受付部22にTCPプロトコルによる接続を構築し,そのデータベースPub-DA内の接続端末情報D5にそのデバイスID(device1)とそのソケット情報(socket1)とが登録されている。
 その状態で,図8と同様に,プライベートプッシュゲートウエイPri-PGWのプッシュ依頼受付部11は,プッシュ依頼者装置Pu-reqから,アプリプッシュメッセージの送信依頼を受信する(S1)。このアプリプッシュメッセージ送信依頼は,アプリプッシュメッセージpush1とプッシュ送信先情報dest1とを含んでいる。
 プッシュ依頼受付部11は,データベースPri-DB内のプッシュ送信先情報D2を参照して,プッシュ送信先情報dest1に対応する端末ID(device1)を取得する。さらに,端末接続受付部12は,取得した端末ID(device1)に基づいて,接続端末情報D5を参照し,その端末device1がイントラネット内で接続状態を未だ構築していないことを確認する(S2)。そのため,プッシュ依頼受付部11は,再送キューD3内に受信したプッシュメッセージ送信依頼(push1,
dest1)を追加登録する(S23)。
 それと共に,ゲートウエイ連携部10は,プッシュ送信先情報D2を参照して,プッシュメッセージ送信依頼のプッシュ送信先情報dest1に対応する端末ID(device1)を抽出し,プッシュ転送コマンドCM1をパブリックプッシュゲートウエイPub-PGW内のゲートウエイ連携部20に送信する(S24)。このプッシュ転送コマンドCM1には,プッシュメッセージpush1,プッシュ送信先情報dest1,端末ID(device1)が含まれる。この時点では,端末SDがイントラネット内のプライベートプッシュゲートウエイPri-PGWと接続状態を構築していないとしか確認できず,インターネット内で接続状態を構築している可能性があるので,プッシュ転送コマンドCM1がパブリックプッシュゲートウエイPub-PGWに送信される。
 このプッシュ転送コマンドCM1に応答して,パブリックプッシュゲートウエイPub-PGW内の端末接続部22は,データベースPub-DB内の接続端末情報D5を照会し,プッシュメッセージ送信先(dest1)の端末(device1)が接続中か否か確認する(S25)。この例では,工程S0で既に端末SDは接続を構築し維持している。
 そこで,パブリックプッシュゲートウエイPub-PGW内の端末接続部22は,接続端末情報D5のソケット情報(socket1)により,プッシュ転送コマンドCM1と共に転送されてきたプッシュメッセージ(push1)を,プッシュ送信先情報(dest1)にプッシュ送信する(S26)。これに応答して,端末SDは,プッシュメッセージ受信のアクノリッジとして,プッシュ受信通知(push1)を端末接続部22に返信する(S27)。
 このプッシュ受信通知に応答して,パブリックプッシュゲートウエイPub-PGWのゲートウエイ連携部20は,プライベートプッシュゲートウエイPri-PGWのゲートウエイ連携部10に,送信完了通知コマンドCM3を送信する(S28)。この送信完了通知コマンドには,プッシュメッセージを特定する情報が含まれている。
 この送信完了通知コマンドCM3に応答して,プライベートプッシュゲートウエイPri-PGWのプッシュメッセージ依頼受付部11は,データベースPri-DB内の送信キューD3内のプッシュメッセージ(push1)を,送信済みプッシュD4に移動する(S29)。これにより,プッシュメッセージが誤って2度送信されることは回避される。
 また,端末SDでは,上記のプッシュメッセージの送信S26に応答して,プッシュ受信部31は,そのプッシュメッセージ(push1)をプッシュ送信先情報(dest1)に対応するアプリダウンロード部33に転送する。さらに,接続管理部30は,現在の端末SDがインターネットに接続していることを検出して,プッシュメッセージ(push1)に含まれているURLを参照して,VPN接続確立部32に,イントラネットNET1内のアプリケーションサーバApp-serへのバーチャルプライベートネットワークVPNを構築させる(S30)。さらに,接続管理部30は,このVPNを経由して,イントラネットNET1内のプライベートプッシュゲートウエイPri-PGWの端末接続部12とTCPプロトコルによる接続を確立する(S30)。これにより,端末SDは,VPNによりアプリケーションサーバApp-serからアプリケーションをダウンロードしている間も,プッシュメッセージを受信可能になる。
 そして,端末SDのアプリダウンロード部33は,VPNを経由して,アプリサーバApp-serからプッシュメッセージ内のURLに対応するアプリケーションをダウンロードし,実行する(S31)。
 上記のように,インターネット内にパブリックプッシュゲートウエイPub-PGWを設置することで,インターネットに接続可能な端末SDは,パブリックプッシュゲートウエイPub-PGWに接続状態を構築し維持することができる。したがって,プッシュメッセージの送信依頼を受信したタイミングで,端末はアプリケーションをダウンロードすることができる。
 また,インターネット内のパブリックプッシュゲートウエイPub-PGWのデータベースPub-DBには,接続を構築した端末をその端末ID(device1)で登録しているだけであり,プッシュメッセージ(push1)やプッシュ送信先情報(dest1)などの個人的な情報や秘密情報は登録していない。よって,インターネット内のパブリックプッシュゲートウエイPub-PGWのデータベースPub-DBから,そのような個人情報や秘密情報が漏洩するリスクは少ない。
 一方,端末SDのアプリケーションのダウンロード時は,端末SDがイントラネットNET1内のアプリケーションサーバApp-serにVPNを構築してアプリケーションをダウンロードするので,アプリケーションをイントラネット内のサーバに格納させることができる。しかも,端末SDは,ダウンロード中はVPNを介してプライベートプッシュゲートウエイPri-PGW内の端末接続受付部12と接続を構築するので,ダウンロード中もプッシュメッセージを受信することができる。
 [インターネット内の端末へのアプリプッシュ動作(2)]
 図15,図16は,本実施の形態におけるシームレスアプリプッシュシステムのインターネット内の端末へのアプリプッシュ動作(2)を示す図である。図17,図18,図19は,そのアプリプッシュ動作を示すフローチャート図である。このアプリプッシュ動作(2)は,端末が,当初パブリックプッシュゲートウエイPub-PGWの端末接続受付部22と接続状態を構築しておらず,その後接続状態を構築する場合の動作である。なお,初期設定は,イントラネット内の端末へのアプリプッシュ動作(1)(2)と同様である。
 図15,図17に示されるとおり,まず,スマートデバイスである端末SDは,インターネットNET2内のパブリックプッシュゲートウエイPub-PGWとは未だ接続状態を構築していない(S0)。そして,プライベートプッシュゲートウエイPri-PGWのプッシュ依頼受付部11が,プッシュ依頼者装置Pu-reqからプッシュメッセージ送信依頼を受信する工程(S1)から,プライベートプッシュゲートウエイPri-PGW内のゲートウエイ連携部10がプッシュ転送コマンドCM1をパブリックプッシュゲートウエイPub-PGWのゲートウエイ連携部20に送信する工程(S24)までは,インターネット内の端末へのアプリプッシュ動作(1)と同様である。
 パブリックプッシュゲートウエイPub-PGWでは,プッシュ転送コマンドCM1に応答して,端末接続受付部12がデータベースPub-DB内の接続端末情報D5を照会し,プッシュ転送コマンドCM1に添付されている端末ID(device1)が既に接続を構築しているか否かをチェックし,未接続であることを確認する(S35)。それに伴って,パブリックプッシュゲートウエイPub-PGWのゲートウエイ連携部20は,プッシュ転送コマンドCM1に添付されていたプッシュメッセージpush1,プッシュ送信先dest1を破棄する。つまり,これらの個人情報や秘密情報が含まれている情報はデータベースPub-DBには格納しない。
 なお,プッシュ転送コマンドCM1に添付されていた端末ID(device1)は,破棄してもよいし,後述するとおりデータベースPub-DB内にプッシュ転送コマンドで通知された端末IDとして格納してもよい。
 次に,図16,図18,図19に示されるとおり,スマートデバイスである端末SDが,インターネットを介して,パブリックプッシュゲートウエイPub-PGWの端末接続受付部22にTCPプロトコルで接続を確立する(S41)。この接続確立により,端末接続受付部22は,データベースPub-DB内の接続端末情報D5に,接続端末情報として端末ID(device1)とソケット情報(socket1)を登録する(S42)。そして,パブリックプッシュゲートウエイPub-PGWのゲートウエイ連携部20は,プライベートプッシュゲートウエイPri-PGWのゲートウエイ連携部10に,再送問い合わせコマンドCM2を送信する(S43)。このコマンドCM2には,工程S41,S42で接続状態を構築した端末ID(device1)が添付される。
 これに応答して,プライベートプッシュゲートウエイPri-PGW内のプッシュメッセージ依頼受付部11は,再送問い合わせコマンドCM2に添付されている端末ID(device1)に対応するプッシュ送信先情報(dest1)をデータベースPri-DB内のプッシュ送信先情報D2から抽出し,そのプッシュ送信先情報(dest1)に基づいて,データベースPri-DB内の再送キューD3を検索し,再送待ちのプッシュメッセージ情報(push1,dest1)を検出する(S44)。
 これに応答して,プライベートプッシュゲートウエイPri-PGWのゲートウエイ連携部10は,検出したプッシュメッセージpush1と,プッシュ送信先情報dest1と,端末ID(device1)とを添付してプッシュ転送コマンドCM1を,パブリックプッシュゲートウエイPub-PGWのゲートウエイ連携部20に送信する(S45)。
 この後の動作は,インターネット内の端末へのアプリプッシュ動作(1)の工程S25以降の動作と同様である。
 すなわち,このプッシュ転送コマンドCM1に応答して,パブリックプッシュゲートウエイPub-PGW内の端末接続部22は,データベースPub-DB内の接続端末情報D5を照会し,プッシュメッセージ送信先(dest1)の端末(device1)が接続中か否か確認する(S46)。今回は,工程S41で端末SDは接続を既に構築し維持している。
 そこで,パブリックプッシュゲートウエイPub-PGW内の端末接続部22は,接続端末情報D5のソケット情報(socket1)により,プッシュ転送コマンドCM1と共に転送されてきたプッシュメッセージ(push1)を,プッシュ送信先情報(dest1)にプッシュ送信する(S47)。これに応答して,端末SDは,プッシュメッセージ受信のアクノリッジとして,プッシュ受信通知(push1)を端末接続部22に返信する(S48)。
 このプッシュ受信通知に応答して,パブリックプッシュゲートウエイPub-PGWのゲートウエイ連携部20は,プライベートプッシュゲートウエイPri-PGWのゲートウエイ連携部10に,プッシュメッセージを特定する情報(push1)を添付して,送信完了通知コマンドCM3を送信する(S49)。
 この送信完了通知コマンドCM3に応答して,プライベートプッシュゲートウエイPri-PGWのプッシュメッセージ依頼受付部11は,データベースPri-DB内の送信キューD3内のプッシュメッセージ(push1)を,送信済みプッシュD4に移動する(S50)。これにより,プッシュメッセージが誤って2度送信されることは回避される。
 また,端末SDでは,上記のプッシュメッセージの送信S47に応答して,プッシュ受信部31は,そのプッシュメッセージ(push1)をプッシュ送信先情報(dest1)に対応するアプリダウンロード部33に転送する。さらに,接続管理部30は,現在の端末SDがインターネットに接続していることを検出して,プッシュメッセージ(push1)に含まれているURLを参照して,VPN接続確立部32に,イントラネットNET1内のアプリケーションサーバApp-serへのバーチャルプライベートネットワークVPNを構築させる(S51)。さらに,接続管理部30は,このVPNを経由して,イントラネットNET1内のプライベートプッシュゲートウエイPri-PGWの端末接続部12とTCPプロトコルによる接続を確立する(S51)。これにより,端末SDは,VPNによりアプリケーションサーバApp-serからアプリケーションをダウンロードしている間も,プッシュメッセージを受信可能になる。
 そして,端末SDのアプリダウンロード部33は,VPNを経由して,アプリサーバApp-serからプッシュメッセージ内のURLに対応するアプリケーションをダウンロードし,実行する(S52)。
 以上の通り,端末がインターネットを経由してパブリックプッシュゲートウエイPub-PGWと接続を確立したタイミングで,再送キュー内のプッシュメッセージが端末にプッシュ送信され,端末にアプリケーションがダウンロードされる。
 しかも,最初のプッシュメッセージ送信依頼が発生したときのプッシュ転送コマンドCM1を受信したとき,パブリックプッシュゲートウエイPub-PGWは,端末が未接続を検出して,転送されてきたプッシュメッセージpush1とプッシュ送信先情報dest1を破棄する。これにより,パブリックプッシュゲートウエイPub-PGWには,個人情報や秘密情報が保持されず,セキュリティを高く保つことができる。
 パブリックプッシュゲートウエイPub-PGWは,最初のプッシュ転送コマンドCM1を受信したとき,端末が未接続の場合,端末ID(device1)を保持しても良い。その場合,その後端末SDがパブリックプッシュゲートウエイPub-PGWに接続を確立したとき,その端末IDと照合して,再送待ちプッシュメッセージの端末であることを確認することができる。ただし,パブリックプッシュゲートウエイPub-PGWは,プッシュメッセージを保持していないので,再送問い合わせコマンドCM1に代えて再送依頼コマンドをプライベートプッシュゲートウエイPri-PGWに送信する必要がある。
 上記の実施の形態において,端末SDが1つのプッシュメッセージしか受信できない場合は,プッシュ送信先情報destが,どの端末のどのダウンロード部(ダウンロードアプリケーション)であるかを示す情報であるので,プッシュ送信先情報として端末IDを使用することができる。ただし,端末IDは端末SDから取得できる情報であるので,端末が第三者からランダムにアプリプッシュメッセージを送信されることが予想される。
 そこで,プライベートプッシュゲートウエイPri-PGWがアプリプッシュサービス毎に,端末IDとは別にプッシュ送信先情報destを発行して,端末SDとプライベートプッシュゲートウエイPri-PGWに登録するのが好ましい。このプッシュ送信先情報destをプライベートプッシュゲートウエイPri-PGWで保持し,パブリックプッシュゲートウエイPub-PGWには保持しないようにすることで,端末は第三者からランダムにアプリプッシュメッセージを送信されることはない。ただし,パブリックプッシュゲートウエイPub-PGWで送信先端末が接続を確立しているか否かを確認できるようにするために,プッシュ転送コマンドCM1には,プッシュメッセージpushとプッシュ送信先情報destに加えて,端末ID(device)も添付している。
 図20は,図4に示されたプライベートプッシュゲートウエイPri-PGWと,パブリックプッシュゲートウエイPub-PGWと,端末SDのハードウエア構成を示す図である。プライベートプッシュゲートウエイPri-PGWは,プロセッサであるCPU100と,メモリ101と,プログラムが格納されている記憶媒体102と,入出力装置103と,通信装置104とを有する。前述のとおり,図4のプライベートプッシュゲートウエイPri-PGW内のプッシュ依頼受付部11と,端末接続受付部12と,ゲートウエイ連携部10は,プロセッサ100が記憶媒体102内のプログラムを実行することにより実現される。
 パブリックプッシュゲートウエイPub-PGWは,プロセッサであるCPU200と,メモリ201と,プログラムが格納されている記憶媒体202と,入出力装置203と,通信装置204とを有する。前述のとおり,図4のパブリックプッシュゲートウエイPub-PGW内の端末接続受付部22と,ゲートウエイ連携部20は,プロセッサ200が記憶媒体202内のプログラムを実行することにより実現される。
 端末SDは,プロセッサであるCPU300と,メモリ301と,プログラムが格納されている記憶媒体302と,入出力装置303と,通信装置304とを有する。前述のとおり,図4の端末SD内のプッシュ受信部31と,接続管理部30と,アプリダウンロード部33と,VPN接続確立部32は,プロセッサ300が記憶媒体302内のプログラムを実行することにより実現される。
 [第2の実施の形態]
 第1の実施の形態では,プライベートプッシュゲートウエイPri-PGWのゲートウエイ連携部10と,パブリックプッシュゲートウエイPub-PGWのゲートウエイ連携部20との間で,図11に示した3種類のコマンドが双方向通信される。この3種類のコマンドのうち,再送問い合わせコマンドCM2と,送信完了通知コマンドCM3は,パブリックプッシュゲートウエイPub-PGWがプライベートプッシュゲートウエイPri-PGWに対して送信する。
 一方,企業や官公庁などは,イントラネットとインターネットとの間にゲートウエイを設けて,ゲートウエイ内のファイアウオールによってインターネットからイントラネットへの通信を遮断して,イントラネットをインターネットからの攻撃を防御する。
 そこで,シームレスプッシュを上記のようなファイアウオールに対応させるためには,インターネットからイントラネットへの通信,すなわち,図4の例では,パブリックプッシュゲートウエイPub-PGWからプライベートプッシュゲートウエイPri-PGWへの通信を行わないようにすることが要求される。
 第2の実施の形態では,プライベートプッシュゲートウエイPri-PGWからパブリックプッシュゲートウエイPub-PGWに接続を確立し,インターネット上のパブリックプッシュゲートウエイPub-PGWからイントラネット内のプライベートプッシュゲートウエイPri-PGWへのデータ送信を可能にする。これは,例えばパブリックプッシュゲートウエイPub-PGWがこの接続をロングポーリングすることや,ウェブサーバとウェブブラウザ間の双方向通信用の規格であるWebSocketを用いることで実現することができる。ここで,ロングポーリングとは,クライアント(リクエストする側,Pri-PGW)からの通信リクエストに対して,サーバ(リクエストされる側,Pub-PGW)が応答を保留し,定期的に空のデータをクライアントに送信して接続がとぎれないようにしておき,サーバからクライアントへデータを送信する必要が生じたときに,保持しておいた接続を利用してサーバがクライアントにデータを送信する技術である。
 ゲートウエイ間の通信に使用されるプロトコルであるHTTPでは,一般にクライアントからサーバへのアクセスがスタートとなり通信が開始され,サーバからクライアントへのレスポンスで通信が終了する。そして,サーバが起点となる通信はできない。ロングポーリングによれば,クライアントからサーバへのアクセスがスタートとなることは同じであるが,その後サーバ側が定期的に空のデータをクライアントに送信して接続を維持することで,実質的にサーバが起点となる通信を可能にしている。
 ロングポーリングは,cometという技術を利用したり,HTTP通信でサーバ側が定期的にKeepAliveを送信する方法などで実現可能である。また,サーバ構築に使用されるJava(Javaは登録商標)では,ロングポーリングに対応したアプリケーションプログラムインターフェース(API)として,Apache
TomcatのCometProcessorクラスが用意されているので,これを使用することでロングポーリングに対応したサーバを構築することが可能である。
 第2の実施の形態では,プライベートプッシュゲートウエイPri-PGWとパブリックプッシュゲートウエイPub-PGWが,ロングポーリングもしくはWebSocketに対応することで,ゲートウエイのファイアウオールを介して図11の3種類のコマンドを双方向通信することができる。なお,以下の実施の形態では,ロングポーリングでプライベートプッシュゲートウエイPri-PGWとパブリックプッシュゲートウエイPub-PGW間の双方向通信を行う例を示す。
 図21は,第2の実施の形態におけるインターネット内の端末へのアプリプッシュ動作(1)のフローチャート図である。第1の実施の形態では,インターネット内の端末へのアプリプッシュ動作(1)を図13,図14に示した。それに対して,第2の実施の形態では,図13の代わりに図21のフローチャートにしたがってプライベートプッシュゲートウエイPri-PGWとパブリックプッシュゲートウエイPub-PGWで処理がなされる。したがって,第2の実施の形態におけるインターネット内の端末へのアプリプッシュ動作(1)のフローチャート図は,図21と図14である。
 図21において,図13の第1の実施の形態と異なる処理は,太枠で示したように,プライベートプッシュゲートウエイPri-PGWのゲートウエイ連携部10が,パブリックプッシュゲートウエイPub-PGWのゲートウエイ連携部20に対して,HTTPリクエストを送信してHTTP接続を確立する処理(S60)と,これに応答して,パブリックプッシュゲートウエイPub-PGWのゲートウエイ連携部20は,定期的に返信を行ってHTTP接続を維持する処理(S61)である。
 このHTTP接続の確立処理S60と,定期的な返信による接続維持の処理S61とは,例えば,両プッシュゲートウエイが電源起動された時に行うことが望ましい。そのようにすることで,両プッシュゲートウエイ間には,常時HTTP接続が維持された状態になる。そのため,ファイアウオールによる遮断機能に逆らうことなく,パブリックプッシュゲートウエイPub-PGWからプライベートプッシュゲートウエイPri-PGWへの再送問い合わせコマンドCM2と送信完了通知コマンドCM3とを任意のタイミングで送信することができる。
 図22は,第2の実施の形態におけるインターネット内の端末へのアプリプッシュ動作(2)のフローチャート図である。第1の実施の形態では,インターネット内の端末へのアプリプッシュ動作(2)を図17,図18,図19に示した。それに対して,第2の実施の形態では,図17の代わりに図22のフローチャートにしたがってプライベートプッシュゲートウエイPri-PGWとパブリックプッシュゲートウエイPub-PGWで処理がなされる。したがって,第2の実施の形態におけるインターネット内の端末へのアプリプッシュ動作(2)のフローチャート図は,図22と図18,図19である。
 図22において,図17の第1の実施の形態と異なる処理は,太枠で示したように,プライベートプッシュゲートウエイPri-PGWのゲートウエイ連携部10が,パブリックプッシュゲートウエイPub-PGWのゲートウエイ連携部20に対して,HTTPリクエストを送信してHTTP接続を確立する処理(S60)と,これに応答して,パブリックプッシュゲートウエイPub-PGWのゲートウエイ連携部20は,定期的に返信を行ってHTTP接続を維持する処理(S61)である。このHTTP接続の確立処理S60と,定期的な返信による接続維持の処理S61とは,例えば,両プッシュゲートウエイが電源起動された時に行うことが望ましい。
 [第3の実施の形態]
 第3の実施の形態では,パブリックプッシュゲートウエイPub-PGWからの通信を,プライベートプッシュゲートウエイPri-PGWからのリクエストに対するレスポンスで行う。そのために,第3の実施の形態では,プライベートプッシュゲートウエイPri-PGWとパブリックプッシュゲートウエイPub-PGWとの間のコマンドを,図11のコマンドとは異なるコマンドにする。第3の実施の形態でのコマンド体系は,全てのコマンドをプライベートプッシュゲートウエイPri-PGWが起点となってパブリックプッシュゲートウエイPub-PGWへ送信し,それに対するレスポンスで,パブリックプッシュゲートウエイPub-PGWからプライベートプッシュゲートウエイPri-PGWへのデータ送信を行う。これにより,インターネット上のパブリックプッシュゲートウエイPub-PGWからイントラネット内のプライベートプッシュゲートウエイPri-PGWへのデータ送信を可能にする。
 図23は,第3の実施の形態におけるコマンド体系を示す図である。コマンドは,プッシュ転送コマンドCM1と,接続問い合わせコマンドCM4と,送信結果問い合わせコマンドCM5とを有する。プッシュ転送コマンドCM1は,プライベートプッシュゲートウエイPri-PGWからパブリックプッシュゲートウエイPub-PGWへのプッシュメッセージを転送するコマンドである。図11のプッシュ転送コマンドCM1と同様に,プッシュ転送コマンドCM1には,メッセージ(例えばpush1)と,送信先端末ID(例えばdevice1)と,送信先情報(例えばdest1)と,パブリックプッシュゲートウエイPub-PGWへの認証用IDとパスワードPWとが含まれる。
 また,このプッシュ転送コマンドCM1に対するパブリックプッシュゲートウエイPub-PGWからのレスポンスには,転送されたプッシュメッセージを送信先端末に送信しようとした結果が含まれる。送信結果には,以下のものが含まれる。
OK:プッシュメッセージを送信した結果,端末からプッシュメッセージを受信したことを示す。
NG:プッシュメッセージを送信した結果,端末から受信に不具合があったことを示す。
TIMEOUT:プッシュメッセージを送信したが,端末から所定時間内に応答がなかったことを示す。
接続なし:プッシュメッセージを送信する端末が接続状態でなかったことを示す。
 接続問い合わせコマンドCM4は,プッシュ転送コマンドCM1に対するレスポンスがパブリックプッシュゲートウエイPub-PGWと端末との接続が確立されていないことを示す「接続なし」の場合に,プライベートプッシュゲートウエイPri-PGWからパブリックプッシュゲートウエイPub-PGWにプッシュ送信対象の端末との接続状態を問い合わせるコマンドである。接続問い合わせコマンドCM4には,端末ID(例えばdevice1)と認証用IDとパスワードPWが含まれる。また,レスポンスには,「接続あり」と「接続なし」が含まれる。レスポンスが「接続あり」の場合は,プライベートプッシュゲートウエイPri-PGWは,再度プッシュ転送コマンドCM1を送信する。
 送信結果問い合わせコマンドCM5は,プッシュ転送コマンドCM1に対するレスポンスが端末から応答なしを示す「TIMEOUT」の場合に,プライベートプッシュゲートウエイPri-PGWからパブリックプッシュゲートウエイPub-PGWに再度プッシュ転送コマンドCM1に対する結果を要求するコマンドである。送信結果問い合わせコマンドCM5には,プッシュメッセージのID(例えばpush1-ID)と認証用IDとパスワードPWとが含まれる。このコマンドに対するレスポンスには,プッシュ転送コマンドCM1に対するレスポンスのうち,「OK」「NG」「TIMEOUT」が含まれる。レスポンスが「TIMEOUT」の場合は,再度送信結果問い合わせコマンドCM5を送信するか,または,プッシュ転送コマンドCM1を送信するかのいずれかになる。「TIMEOUT」のレスポンスを所定回数受信した場合に,あらためてプッシュ転送コマンドCM1を送信するようにしてもよい。
 図24は,第3の実施の形態におけるインターネット内の端末へのアプリプッシュ動作(1)の第1のフローチャート図である。第1の実施の形態では,インターネット内の端末へのアプリプッシュ動作(1)を図13,図14に示した。それに対して,この例では,図14の代わりに図24のフローチャートにしたがってプライベートプッシュゲートウエイPri-PGWとパブリックプッシュゲートウエイPub-PGWで処理がなされる。したがって,第3の実施の形態におけるインターネット内の端末へのアプリプッシュ動作(1)の第1のフローチャート図は,図13と図24である。
 図24において,図14の第1の実施の形態と異なる処理は,太枠で示したように,パブリックプッシュゲートウエイPub-PGWは,プッシュメッセージの送信が行われ端末からプッシュ受信通知を受け取ったことを示す「OK」を,図13の工程S24のプッシュ転送コマンドCM1に対するプライベートプッシュゲートウエイPri-PGWへのレスポンスに含めて送信する。図14の第1の実施の形態では,パブリックプッシュゲートウエイPub-PGWがプライベートプッシュゲートウエイPri-PGWへ送信完了通知コマンドCM3を送信していたが,図24の第3の実施の形態では,プッシュ転送コマンドCM1に対するレスポンスとして「OK」を送信する。
 図25,図26は,第3の実施の形態におけるインターネット内の端末へのアプリプッシュ動作(1)の第2のフローチャート図である。第1の実施の形態では,インターネット内の端末へのアプリプッシュ動作(1)を図13,図14に示した。それに対して,この例では,図13,図14の代わりに図25,図26のフローチャートにしたがってプライベートプッシュゲートウエイPri-PGWとパブリックプッシュゲートウエイPub-PGWで処理がなされる。
 図25,図26のフローチャートでは,プッシュ転送コマンドCM1と送信結果問い合わせコマンドCM5とを使用する例である。図25において図13と異なる処理は,太枠で示したように,プライベートプッシュゲートウエイPri-PGWが,パブリックプッシュゲートウエイPub-PGWに,プッシュ転送コマンドCM1(push1,
dest1, device1)を送信する処理(S80)である。このプッシュ転送コマンドCM1にはプッシュメッセージpush1が含まれている。
 さらに,図13と異なる処理は,パブリックプッシュゲートウエイPub-PGWが端末にプッシュメッセージを送信したが端末から受信確認を受信せずにタイムアウトしたことを検出する処理(S81)と,そのタイムアウトにより,パブリックプッシュゲートウエイPub-PGWがプッシュ転送コマンドCM1に対するレスポンスに「TIMEOUT」とプッシュメッセージのID(pushID)を含めてプライベートプッシュゲートウエイPri-PGWへ返信する処理(S82)とである。
 この処理S82では,更に,パブリックプッシュゲートウエイPub-PGWは,データベースPub-DB内に再送メッセージ情報として,プッシュメッセージID(pushID)と,端末ID(device1)と,プッシュメッセージの送信ステータス(例えば再送中)を保存する。すなわち,プッシュ転送コマンドCM1に対するレスポンスが「TIMEOUT」の場合は,プッシュメッセージの端末SDへの送信結果が保留状態であることを意味しているので,パブリックプッシュゲートウエイPub-PGWは,そのデータベースPub-DB内にプッシュメッセージの送信ステータスを記録しておく必要がある。ただし,再送メッセージ情報には,プッシュメッセージ(push1)自体を含めるのではなく,そのID(pushID)を含めている。したがって,図5のパブリックプッシュゲートウエイPub-PGWのデータベースPub-DBには,接続端末情報D5と,連携GW情報D6に加えて,上記の再送メッセージ情報が記録される。
 そして,図26において,図14と異なる処理は,プライベートプッシュゲートウエイPri-PGWが,「TIMEOUT」のレスポンスに対応して,パブリックプッシュゲートウエイPub-PGWへ送信結果問い合わせコマンドCM5(push1-ID)を送信する処理(S83)と,それに対するレスポンスとして,パブリックプッシュゲートウエイPub-PGWがレスポンス(OK)を返信する処理(S84)である。図26では,パブリックプッシュゲートウエイPub-PGWがプッシュメッセージの受信確認を端末から受信(S27)した後に,プライベートプッシュゲートウエイPri-PGWから送信結果問い合わせコマンドCM5(Pushc1-ID)を受信している。パブリックプッシュゲートウエイPub-PGWは,端末から受信確認を受信すると(S27),そのデータベースPub-DB内の再送メッセージ情報の送信ステータスを送信済みを示す「OK」に変更する。そして,その後の送信結果問い合わせコマンドCM5(push1-ID)に応答して,そのプッシュメッセージのIDに対応する送信ステータスが送信済みを示す「OK」であるため,パブリックプッシュゲートウエイPub-PGWは,レスポンス「OK」を返信する(S84)。
 上記の処理では,プライベートプッシュゲートウエイPri-PGWは,プッシュ転送コマンドCM1に対するレスポンスに「TIMEOUT」を受信した場合は,再度プッシュメッセージを転送することなく,送信結果問い合わせコマンドCM5をプッシュメッセージのIDと共に送信するだけで,受信確認済みのレスポンスを受信することができる場合がある。よって,プライベートプッシュゲートウエイPri-PGWによりデータ量が多いプッシュメッセージの転送回数を減らすことができる。
 図27,図28,図29は,第3の実施の形態におけるインターネット内の端末へのアプリプッシュ動作(2)のフローチャート図である。第1の実施の形態におけるインターネット内の端末へのアプリプッシュ動作(2)のフローチャートは,図17,図18,図19に示されていた。そこでは,プライベートプッシュゲートウエイPri-PGWが,プッシュ転送コマンドCM1に対して受信確認を受信したことを示す送信完了通知CM3を受信しない場合は,パブリックプッシュゲートウエイPub-PGWが端末との接続を確立した時に再送問い合わせコマンドCM2を送信し,それに応答して,プライベートプッシュゲートウエイPri-PGWが再度プッシュ転送コマンドCM1を送信してプッシュメッセージを再送している。
 図27,図28,図29のフローチャートでは,プッシュ転送コマンドCM1と接続問い合わせコマンドCM4とを使用する例である。この例では,パブリックプッシュゲートウエイPub-PGWによる再送問い合わせコマンドCM2の代わりに,接続問い合わせコマンドCM4とそのリスポンスを利用している。
 図27では,図17と異なる処理は,太枠で示したとおり,プライベートプッシュゲートウエイPri-PGWが,パブリックプッシュゲートウエイPub-PGWに,プッシュ転送コマンドCM1(push1, dest1, device1)を送信する処理(S71)である。このプッシュ転送コマンドCM1にはプッシュメッセージpush1が含まれている。
 さらに,図17と異なる処理は,パブリックプッシュゲートウエイPub-PGWが,端末が未接続であることを確認すると(S35),プッシュメッセージを破棄し(S36),その後,プッシュ転送コマンドCM1に対するレスポンスに「接続なし」「deviceID」を含めてプライベートプッシュゲートウエイPri-PGWに返信する(S72)。この結果,パブリックプッシュゲートウエイPub-PGWは,プッシュメッセージを端末に送信することができないので,プッシュメッセージを破棄して,プッシュメッセージがインターネット上のサーバに格納されたままになることを回避する。上記以外は,図17と同じである。
 次に,図28では,図18と異なる処理は,太枠で示されるとおり,プライベートプッシュゲートウエイPri-PGWが,パブリックプッシュゲートウエイPub-PGWに接続問い合わせコマンドCM4(device1)を,所定のタイミングで送信する処理(S73)である。その直前に端末が接続を確立(S41,S42)しているので,パブリックプッシュゲートウエイPub-PGWは,これに応答して,「接続あり」「device1」を有するレスポンスを返信する処理(S74)を行う。この処理も図18と異なる。また,プライベートプッシュゲートウエイPri-PGWは,接続を確立した端末device1に対するプッシュメッセージpush1と送信先情報dest1とデバイスID(device1)を含めて,プッシュ転送コマンドCM1を送信する(S75)。上記以外は,図18と同様である。
 そして,図29では,図19と異なり,太枠で示されたように,パブリックプッシュゲートウエイPub-PGWが,プッシュ転送コマンドCM1に応答して,端末からプッシュメッセージの受信を確認する受信確認を受信したことを示す「OK」のリスポンスを返信する(S76)。それ以外は,図19と同じである。
 以上のように,第1の実施の形態の再送問い合わせコマンドCM2に代えて,接続問い合わせコマンドCM4を利用し,その接続問い合わせコマンドCM4の送信で確立した接続状態でのレスポンスで再送問い合わせコマンドCM2と同等の情報をパブリックプッシュゲートウエイPub-PGWからプライベートプッシュゲートウエイPri-PGWに送信する。
 [第4の実施の形態]
 シームレスプッシュシステムを利用することで,一台の端末で複数のプッシュサービスを受けることができるマルチテナント型のサービスを実現することができる。
 図30は,マルチテナント型のプッシュサービスを示す図である。この例では,端末SDを所有するユーザXは,企業Aから企業Bに派遣されているとする。その場合,ユーザXは,派遣元である企業Aで出退勤管理を行うために企業Aの出退勤システムAにアクセスする必要がある。また,ユーザXは,派遣先の企業Bで発注業務を行うために企業Bの発注システムBにアクセスする必要がある。ここで,出退勤システムAは,プライベートプッシュゲートウエイPri-PGW1を有する。また,発注システムBは,プライベートプッシュゲートウエイPri-PGW2を有する。
 そこで,シームレスなプッシュサービスを適用することで,ユーザXは一台の端末SDで企業Aの出退勤システムAと企業Bの発注システムBの双方にアクセス可能となり,作業効率が向上する。ただし,出退勤システムAと発注システムBとが個別に端末SDのプッシュメッセージを送信する送信先情報(dest)を割り当てるようにすると,両システムA,Bが端末SDに対して同じ送信先情報(dest1)を割り当てることが発生しうる。同じ送信先情報が重複して割り当てられると,出退勤システムAと発注システムBとが同じ送信先情報(dest1)にプッシュメッセージを送信してしまい,端末SDは,どちらのシステムからのプッシュメッセージであるか判別できず,プッシュメッセージに基づいてダウンロードするアプリケーションもどちらのシステムのアプリケーションかも判別できない。
 図31は,第4の実施の形態におけるシームレスプッシュシステムの構成図である。第4の実施の形態では,複数のイントラネット内のシステムに共通に,送信先情報生成サーバ40を設けている。この送信先情報生成サーバ40は,パブリックプッシュゲートウエイPub-PGW内に設けられても良い。そして,端末SDから各システムに対して送信先情報の初期登録依頼に応答して,それぞれのシステムが送信先情報生成サーバ40に送信先情報の初期登録を依頼し,送信先情報生成サーバ40が,各システムに対して一意の送信先情報を生成してそれぞれのシステムに返信する。そして,その一意に生成された送信先情報が,各システムのプライベートプッシュゲートウエイPri-PGW1,Pri-PGW2と,端末SDに初期登録される。
 そのために,システムAのプライベートプッシュゲートウエイPri-PGW1は,GW連携部10Aと,プッシュ依頼受付部11Aと,端末接続受付部12Aと,データベースPri-DBとに加えて,送信先情報登録受付部13Aと,送信先情報取得部14Aを有する。同様に,システムBのプライベートプッシュゲートウエイPri-PGW2も,GW連携部10Bと,プッシュ依頼受付部11Bと,端末接続受付部12Bと,データベースPri-DBとに加えて,送信先情報登録受付部13Bと,送信先情報取得部14Bを有する。
 また,送信先情報生成サーバ40は,図20に示したプッシュゲートウエイと同様にプロセッサとメモリと入出力装置と通信装置とプログラムを記憶する記憶媒体とを有し,プロセッサがプログラムを実行することで,送信先情報取得受付部401と,送信先情報生成部42と,暗号復号部43とを構築する。また,送信先情報保持部44は,生成した送信先情報とそれに対応付けられる端末SDのIDとを暗号化して記憶する記憶媒体である。
 プッシュメッセージの送信先情報の登録処理は,具体的には次のように行われる。
 端末SDは,デバイスID(device1)と共に送信先情報登録依頼を,システムAのプライベートプッシュゲートウエイPri-PGW1の送信先情報登録受付部13Aに送信する。それに応答して,送信先情報取得部14Aは,送信先情報生成サーバ40の送信先情報取得受付部41に,送信先情報の取得依頼を送信する。送信先情報生成サーバ40では,送信先情報生成42が,送信先情報保持部44内の送信先情報と重複しない送信先情報(例えばdest1)をデバイスID(device1)に対して生成する。この生成された送信先情報(dest1)は,暗号復号部43で暗号化されて送信先情報保持部44に記憶される。また,送信先情報取得受付部41が,生成された送信先情報(dest1)を,プライベートプッシュゲートウエイPri-PGW1内の送信先情報取得部14Aに返信する。この送信先情報(dest1)は,データベースPri-DB内にデバイスID(device1)に関連付けて記憶される。そして,送信先情報登録受付部13Aが,端末SDに受信した送信先情報(dest1)を送信し,端末SD内の送信先情報登録部が内部のデータベースに記憶する。
 端末SDは,デバイスID(device1)と共に送信先情報登録依頼を,システムBのプライベートプッシュゲートウエイPri-PGW2の送信先情報登録受付部13Bにも送信する。それに応答して,上記と同じ処理が実行され,送信先情報生成サーバ40が新たな送信先情報(dest2)を生成して,返信し,プライベートプッシュゲートウエイPri-PGW2内のデータベースPri-DBに記憶されるとともに,端末SD内にも登録される。
 以上の通り,複数のシステムに対して共通に設けられた送信先情報生成サーバ40が,各システムに対して一意の送信先情報を生成するので,複数のシステムに対して一意の送信先情報が登録されて,マルチテナント型サービスに対してシームレスプッシュサービスを適切に提供することができる。
 上記の実施の形態では,プッシュメッセージを端末に送信し,端末がプッシュメッセージ内のアクセス情報を利用してアプリケーションをダウンロードするアプリプッシュサービスを行うことを説明した。しかしながら,プッシュメッセージを端末に送信するプッシュサービスを行う場合にも適用することができる。
 Pri-PGW:プライベートプッシュゲートウエイ
 Pub-PGW:パブリックプッシュゲートウエイ
 App-ser:アプリサーバ
 Pu-req:プッシュ依頼者装置
 NET1:イントラネット
 NET2:インターネット
 SD:端末,スマートデバイス,スマートホン
 

Claims (23)

  1.  イントラネット内に設けられ,プッシュメッセージの送信依頼に応答して,前記イントラネットを介して接続状態にある端末に前記プッシュメッセージを送信する第1のプッシュゲートウエイと,
     インターネット内に設けられ,前記インターネットを介して前記端末と接続状態を維持可能な第2のプッシュゲートウエイとを有し,
     前記端末が前記インターネットに接続可能な間,
     前記第2のプッシュゲートウエイが,前記端末から前記インターネットを介して接続状態を構築され当該接続状態を維持し,
     前記第1のプッシュゲートウエイは,前記プッシュメッセージの送信依頼に応答して,前記第2のプッシュゲートウエイに前記プッシュメッセージを転送し,
     前記第2のプッシュゲートウエイは,前記プッシュメッセージの転送に応答して,前記接続状態にある端末に,前記インターネットを介して前記プッシュメッセージを送信するシームレスプッシュシステム。
  2.  請求項1において,
     さらに,前記イントラネット内に設けられ,前記端末からのアクセスに対応してアプリケーションを前記端末にダウンロードさせるアプリサーバを有し,
     前記プッシュメッセージを受信した端末と前記アプリサーバとの間に構築されたプライベートネットワークを介して,前記アプリサーバが,前記端末に前記プッシュメッセージに対応するアプリケーションを送信するシームレスプッシュシステム。
  3.  請求項2において,
     前記プライベートネットワークが構築されている間,前記第1のプッシュゲートウエイは,前記端末から前記プライベートネットワークを介して接続状態を構築され当該接続状態を維持し,前記第1のプッシュゲートウエイは,前記プライベートネットワークを介して前記端末にさらに別のプッシュメッセージを送信するシームレスプッシュシステム。
  4.  請求項2において,
     前記端末が前記イントラネットに接続可能な場合は,前記第1のプッシュゲートウエイは前記端末と前記イントラネットを介して接続状態を構築し,当該接続状態を介して前記端末に前記プッシュメッセージを送信し,前記端末が前記インターネットに接続可能な場合は,前記第2のプッシュゲートウエイは前記端末と前記インターネットを介して接続状態を構築し,当該接続状態を介して前記端末に前記プッシュメッセージを送信するシームレスプッシュシステム。
  5.  請求項4において,
     前記端末は,前記プッシュメッセージの受信に応答して,前記アプリサーバから前記プライベートネットワークを介して前記アプリケーションをダウンロードするアプリダウンロード部を有し,
     前記端末と前記第1のプッシュゲートウエイとには,端末IDと当該端末の前記ダウンロード部に対応するプッシュ送信先情報とが記憶され,
     前記第1のプッシュゲートウエイと前記第2のプッシュゲートウエイは,それぞれに接続状態を維持している前記端末の端末IDを記憶し,
     前記第1のプッシュゲートウエイは,前記プッシュメッセージを前記プッシュ送信先情報とともに受信することに応答して,当該プッシュ送信先情報に対応する端末が接続状態でない場合に,前記プッシュ送信先情報に対応する端末IDを付加して前記プッシュメッセージと前記プッシュ送信先情報とを前記第2のプッシュゲートウエイに転送し,
     前記第2のプッシュゲートウエイは,前記転送されてきた端末IDに基づいて前記端末が接続状態にあるか否かチェックし,接続状態の場合に,前記プッシュメッセージを前記プッシュ送信先情報とともに前記接続状態の端末に送信するシームレスプッシュシステム。
  6.  請求項5において,
     前記端末は,前記ダウンロード部を複数有し,
     前記端末は,前記送信されてきたプッシュメッセージを前記複数のダウンロード部のうち前記プッシュ送信先情報に対応するダウンロード部に渡し,前記プッシュメッセージを受信したダウンロード部が前記プッシュ送信先情報に対応するアプリケーションを前記アプリサーバからダウンロードするシームレスプッシュシステム。
  7.  請求項1または4において,
     前記端末が前記インターネットに接続可能な間,
     前記第1のプッシュゲートウエイは,前記送信依頼されたプッシュメッセージの送信先端末が接続状態でないことに応答して,再送キューに前記送信依頼されたプッシュメッセージを格納し,さらに,前記第2のプッシュゲートウエイに前記送信依頼されたプッシュメッセージを転送し,
     前記第2のプッシュゲートウエイは,前記プッシュメッセージの転送に応答して,前記プッシュメッセージの送信先端末が接続状態か否かチェックし,接続状態にある端末に対して,前記インターネットを介して前記プッシュメッセージを送信し,前記端末からのプッシュメッセージの受信通知に応答して,前記第1のプッシュゲートウエイにプッシュ送信完了通知を送信し,
     前記第1のプッシュゲートウエイは,前記プッシュ送信完了通知に応答して,前記再送キュー内の前記プッシュメッセージを送信済みに変更するシームレスプッシュシステム。
  8.  請求項7において,
     前記第2のプッシュゲートウエイは,前記プッシュメッセージの転送に応答して,前記プッシュメッセージの送信先端末が接続状態か否かチェックし,前記プッシュメッセージの送信先端末が接続状態でない場合は,前記転送されたプッシュメッセージをデータベース内に保存せず,
     前記第2のプッシュゲートウエイは,その後前記端末が前記インターネットを介して接続状態を構築したとき,前記第1のプッシュゲートウエイに当該接続を構築した端末に対する再送問い合わせを送信し,
     前記第1のプッシュゲートウエイは,前記再送問い合わせに応答して,前記再送キュー内に格納されている前記接続を構築した端末に対するプッシュメッセージを,前記第2のプッシュゲートウエイに転送するシームレスプッシュシステム。
  9.  イントラネット内に設けられ,プッシュメッセージの送信依頼に応答して,前記イントラネットを介して接続状態にある端末に前記プッシュメッセージを送信する第1のプッシュゲートウエイと,
     インターネット内に設けられ,前記インターネットを介して前記端末と接続状態を維持可能な第2のプッシュゲートウエイとを有するプッシュシステムを使用して行うプッシュ方法であって,
     前記端末が前記インターネットに接続可能な間,
     前記第2のプッシュゲートウエイが,前記端末から前記インターネットを介して接続状態を構築され当該接続状態を維持する工程と,
     前記第1のプッシュゲートウエイが,前記プッシュメッセージの送信依頼に応答して,前記第2のプッシュゲートウエイに前記プッシュメッセージを転送する工程と,
     前記第2のプッシュゲートウエイが,前記プッシュメッセージの転送に応答して,前記接続状態にある端末に,前記インターネットを介して前記プッシュメッセージを送信する工程と,
     前記プッシュメッセージを受信した端末と前記アプリサーバとの間に構築されたプライベートネットワークを介して,前記アプリサーバから,前記端末が前記プッシュメッセージに対応するアプリケーションをダウンロードする工程とを有するプッシュ方法。
  10.  請求項9において,
     前記プッシュシステムは,前記イントラネット内に設けられ,前記端末からのアクセスに対応してアプリケーションを前記端末にダウンロードさせるアプリサーバを更に有し,
     更に,
     前記プッシュメッセージを受信した端末と前記アプリサーバとの間に構築されたプライベートネットワークを介して,前記アプリサーバが,前記端末に前記プッシュメッセージに対応するアプリケーションを送信する工程とを有するプッシュ方法。
  11.  請求項9において,
     前記プライベートネットワークが構築されている間,前記第1のプッシュゲートウエイが,前記端末から前記プライベートネットワークを介して接続状態を構築され当該接続状態を維持し,前記第1のプッシュゲートウエイが,前記プライベートネットワークを介して前記端末にさらに別のプッシュメッセージを送信する工程を有するプッシュ方法。
  12.  請求項9において,
     前記端末が前記インターネットに接続可能な間,
     前記第1のプッシュゲートウエイが,前記送信依頼されたプッシュメッセージの送信先端末が接続状態でないことに応答して,再送キューに前記送信依頼されたプッシュメッセージを格納し,さらに,前記第2のプッシュゲートウエイに前記送信依頼されたプッシュメッセージを転送する工程と,
     前記第2のプッシュゲートウエイが,前記プッシュメッセージの転送に応答して,前記プッシュメッセージの送信先端末が接続状態か否かチェックし,接続状態にある端末に対して,前記インターネットを介して前記プッシュメッセージを送信し,前記端末からのプッシュメッセージの受信通知に応答して,前記第1のプッシュゲートウエイにプッシュ送信完了通知を送信する工程と,
     前記第1のプッシュゲートウエイが,前記プッシュ送信完了通知に応答して,前記再送キュー内の前記プッシュメッセージを送信済みに変更する工程とを有するプッシュ方法。
  13.  請求項12において,
     前記第2のプッシュゲートウエイが,前記プッシュメッセージの転送に応答して,前記プッシュメッセージの送信先端末が接続状態か否かチェックし,前記プッシュメッセージの送信先端末が接続状態でない場合は,前記転送されたプッシュメッセージをデータベース内に保存しない工程と,
     前記第2のプッシュゲートウエイが,その後前記端末が前記インターネットを介して接続状態を構築したとき,前記第1のプッシュゲートウエイに当該接続を構築した端末に対する再送問い合わせを送信する工程と,
     前記第1のプッシュゲートウエイが,前記再送問い合わせに応答して,前記再送キュー内に格納されている前記接続を構築した端末に対するプッシュメッセージを,前記第2のプッシュゲートウエイに転送する工程とを有するプッシュ方法。
  14.  イントラネット内に設けられ,プッシュメッセージの送信依頼に応答して,前記イントラネットを介して接続状態にある端末に前記プッシュメッセージを送信する第1のプッシュゲートウエイと,
     インターネット内に設けられ,前記インターネットを介して前記端末と接続状態を維持可能な第2のプッシュゲートウエイとを有するプッシュシステムを使用してアプリケーションプッシュサービスを提供する方法であって,
     前記端末が前記インターネットに接続可能な間,
     前記第2のプッシュゲートウエイが,前記端末から前記インターネットを介して接続状態を構築され当該接続状態を維持する工程と,
     前記第1のプッシュゲートウエイが,前記プッシュメッセージの送信依頼に応答して,前記第2のプッシュゲートウエイに前記プッシュメッセージを転送する工程と,
     前記第2のプッシュゲートウエイが,前記プッシュメッセージの転送に応答して,前記接続状態にある端末に,前記インターネットを介して前記プッシュメッセージを送信する工程とを有するプッシュサービスを提供する方法。
  15.  イントラネット内に設けられ,インターネット内に設けられた第2のプッシュゲートウエイと通信可能な第1のプッシュゲートウエイであって,
     プッシュメッセージの送信依頼に応答して,前記イントラネットを介して接続状態にある端末に前記プッシュメッセージを送信するプッシュメッセージ依頼受付部と,
     前記イントラネットを経由して端末からの接続依頼に応答して前記端末と接続状態を構築する端末接続受付部と,
     前記第2のプッシュゲートウエイと通信可能なゲートウエイ連携部とを有し,
     前記第2のプッシュゲートウエイが前記端末から前記インターネットを介して接続状態を構築され,当該接続状態を維持している間,
     前記第1のプッシュゲートウエイは,前記プッシュメッセージの送信依頼に応答して,前記第2のプッシュゲートウエイに前記プッシュメッセージを転送し,前記第2のプッシュゲートウエイに,前記接続状態にある端末に,前記インターネットを介して前記プッシュメッセージを送信させる第1のプッシュゲートウエイ。
  16.  請求項15において,
     前記プッシュメッセージを受信した端末によって前記イントラネット内のアプリサーバとプライベートネットワークを構築され,前記アプリサーバから前記端末に前記プッシュメッセージに対応するアプリケーションがダウンロードされ,
     前記プライベートネットワークが構築されている間,前記第1のプッシュゲートウエイは,前記端末から前記プライベートネットワークを介して接続状態を構築され当該接続状態を維持し,前記第1のプッシュゲートウエイは,前記プライベートネットワークを介して前記端末にさらに別のプッシュメッセージを送信する第1のプッシュゲートウエイ。
  17.  請求項15において,
     前記第1のプッシュゲートウエイは,前記送信依頼されたプッシュメッセージの送信先端末が接続状態でないことに応答して,再送キューに前記送信依頼されたプッシュメッセージを格納し,さらに,前記第2のプッシュゲートウエイに前記送信依頼されたプッシュメッセージを転送し,
     前記第2のプッシュゲートウエイでは,前記プッシュメッセージの転送に応答して,前記プッシュメッセージの送信先端末が接続状態か否かチェックされ,接続状態にある端末に対して,前記インターネットを介して前記プッシュメッセージが送信され,前記端末からのプッシュメッセージの受信通知に応答して,前記第1のプッシュゲートウエイにプッシュ送信完了通知が送信され,
     前記第1のプッシュゲートウエイは,前記プッシュ送信完了通知に応答して,前記再送キュー内の前記プッシュメッセージを送信済みに変更する第1のプッシュゲートウエイ。
  18.  請求項17において,
     前記第2のプッシュゲートウエイでは,前記プッシュメッセージの転送に応答して,前記プッシュメッセージの送信先端末が接続状態か否かチェックされ,前記プッシュメッセージの送信先端末が接続状態でない場合は,前記転送されたプッシュメッセージがデータベース内に保存されず,
     前記第2のプッシュゲートウエイでは,その後前記端末が前記インターネットを介して接続状態を構築したとき,前記第1のプッシュゲートウエイに当該接続を構築した端末に対する再送問い合わせが送信され,
     前記第1のプッシュゲートウエイは,前記再送問い合わせに応答して,前記再送キュー内に格納されている前記接続を構築した端末に対するプッシュメッセージを,前記第2のプッシュゲートウエイに転送する第1のプッシュゲートウエイ。
  19.  請求項7または8において,
     前記第1のプッシュゲートウエイは,前記第2のプッシュゲートウエイにアクセスして接続状態を確立し,前記第2のプッシュゲートウエイが前記第1のプッシュゲートウエイに返信を繰り返して前記接続状態を維持させ,
     前記プッシュ送信完了通知または前記再送問い合わせを,前記維持させている接続状態を介して前記第2のプッシュゲートウエイが前記第1のプッシュゲートウエイに送信するシームレスプッシュシステム。
  20.  請求項7において,
     前記第2のプッシュゲートウエイは,前記プッシュメッセージの転送に対するレスポンスで,前記プッシュ完了通知を送信するシームレスプッシュシステム。
  21.  請求項20において,
     前記第2のプッシュゲートウエイは,前記プッシュメッセージの転送に応答して,前記プッシュメッセージの送信先端末が接続状態か否かチェックし,前記プッシュメッセージの送信先端末が接続状態でない場合は,前記転送されたプッシュメッセージをデータベース内に保存せず,前記プッシュメッセージの転送に対するレスポンスで,前記送信先端末が接続状態でないことを送信し,
     前記第1のプッシュゲートウエイは,その後,前記端末が前記インターネットを介して接続状態を構築したか否かを問い合わせる接続問い合わせコマンドを前記第2のプッシュゲートウエイに送信し,
     前記第2のプッシュゲートウエイは,前記端末が前記インターネットを介して接続状態を構築している場合に,前記接続問い合わせコマンドに対するレスポンスで,前記接続状態を送信し,
     前記第1のプッシュゲートウエイは,前記接続状態のレスポンスに応答して,前記再送キュー内に格納されている前記接続を構築した端末に対するプッシュメッセージを,前記第2のプッシュゲートウエイに転送するシームレスプッシュシステム。
  22.  請求項20において,
     前記第2のプッシュゲートウエイは,前記プッシュメッセージの転送に応答して,接続状態にある前記送信先端末に前記プッシュメッセージを送信し,前記送信先端末から受信確認が得られない場合に,前記プッシュメッセージの転送に対するレスポンスで,タイムアウトを送信し,
     前記第1のプッシュゲートウエイは,その後,前記送信先端末からの受信確認を問い合わせる送信結果問い合わせコマンドを,前記第2のプッシュゲートウエイに送信し,
     前記第2のプッシュゲートウエイは,前記送信先端末から受信確認を受信している場合に,前記送信結果問い合わせコマンドに対するレスポンスで,前記受信確認の受信を送信し,
     前記第1のプッシュゲートウエイは,前記受信確認の受信に応答して,前記再送キュー内の前記プッシュメッセージを送信済みに変更するシームレスプッシュシステム。
  23.  請求項1において,
     さらに,複数の第1のプッシュゲートウエイに対して共通に設けられた送信先情報生成サーバを有し,
     前記端末からの要求に対応して前記複数の第1のプッシュゲートウエイが送信する送信先情報の生成要求に応答して,前記送信先情報サーバは,前記複数の第1のプッシュゲートウエイ間で重複することなく一意の送信先情報を生成し,前記送信先情報の生成要求を送信した第1のプッシュゲートウエイに返信するシームレスプッシュシステム。
PCT/JP2013/067437 2012-08-20 2013-06-26 シームレスプッシュシステム及びその方法 WO2014030426A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP13831233.5A EP2887214A4 (en) 2012-08-20 2013-06-26 TRANSPARENT PUSH SYSTEM AND ITS METHOD
JP2014531535A JP5854148B2 (ja) 2012-08-20 2013-06-26 シームレスプッシュシステム及びその方法
US14/624,099 US20150163168A1 (en) 2012-08-20 2015-02-17 Seamless push system and method for same

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
PCT/JP2012/070971 WO2014030199A1 (ja) 2012-08-20 2012-08-20 シームレスアプリプッシュシステム及びその方法
JPPCT/JP2012/070971 2012-08-20

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/070971 Continuation WO2014030199A1 (ja) 2012-08-20 2012-08-20 シームレスアプリプッシュシステム及びその方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/624,099 Continuation US20150163168A1 (en) 2012-08-20 2015-02-17 Seamless push system and method for same

Publications (1)

Publication Number Publication Date
WO2014030426A1 true WO2014030426A1 (ja) 2014-02-27

Family

ID=50149537

Family Applications (2)

Application Number Title Priority Date Filing Date
PCT/JP2012/070971 WO2014030199A1 (ja) 2012-08-20 2012-08-20 シームレスアプリプッシュシステム及びその方法
PCT/JP2013/067437 WO2014030426A1 (ja) 2012-08-20 2013-06-26 シームレスプッシュシステム及びその方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/070971 WO2014030199A1 (ja) 2012-08-20 2012-08-20 シームレスアプリプッシュシステム及びその方法

Country Status (3)

Country Link
US (1) US20150163168A1 (ja)
EP (1) EP2887214A4 (ja)
WO (2) WO2014030199A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115134404A (zh) * 2021-03-22 2022-09-30 花瓣云科技有限公司 管理推送连接的方法和电子设备

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10306705B2 (en) * 2014-12-09 2019-05-28 Verizon Patent And Licensing Inc. Secure connected device control and monitoring system
CN106487864B (zh) 2015-09-02 2019-09-27 华为终端有限公司 数据连接的建立方法、服务端及移动终端
CN109962962B (zh) * 2017-12-26 2022-04-26 航天信息股份有限公司 一种套接字socket连接的方法及设备
JP7070600B2 (ja) * 2019-12-13 2022-05-18 カシオ計算機株式会社 端末装置、通信支援方法及びプログラム
US11445358B2 (en) 2019-12-13 2022-09-13 Casio Computer Co., Ltd. Terminal apparatus, communication method, and storage medium
CN111740893B (zh) * 2020-06-30 2022-02-11 成都卫士通信息产业股份有限公司 软件定义vpn的实现方法、装置、系统、介质和设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02275563A (ja) 1989-04-17 1990-11-09 Nippon Telegr & Teleph Corp <Ntt> 情報処理システムにおけるサーバ利用方式
JP2002135350A (ja) 2000-10-30 2002-05-10 Sony Corp データ配信方法、データ受信方法、端末状態通知サービス提供方法および通信端末
JP2003229880A (ja) 2002-02-05 2003-08-15 Yokogawa Electric Corp 広域監視制御システム
JP2005251167A (ja) * 2004-01-09 2005-09-15 Microsoft Corp 管理サーバにより更新されるオンデバイスアプリケーションカタログ
JP2006331126A (ja) 2005-05-26 2006-12-07 Toshiba Corp ネットワーク分散型モバイルエージェントシステムとその構築方法および構築プログラム
JP2007221806A (ja) * 2001-06-12 2007-08-30 Research In Motion Ltd 証明書の管理および送信のシステムおよび方法
JP4706178B2 (ja) 2004-03-22 2011-06-22 富士ゼロックス株式会社 ネットワークシステム、ソフトウェア有効化装置及び方法

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999026127A1 (en) * 1997-11-14 1999-05-27 Avesta Technologies, Inc. System and method for displaying multiple sources of data in near real-time
JPH11250393A (ja) * 1998-03-05 1999-09-17 Ntt Data Corp 位置依存情報提供方式
US6707809B1 (en) * 1999-02-25 2004-03-16 Utstarcom, Inc. Method for forwarding data to idle mobile nodes, and home agent control node for use in the method
CN100346338C (zh) * 2001-07-12 2007-10-31 捷讯研究有限公司 用于为移动通信设备提供远程数据访问和代码转换的系统和方法
US20110276636A1 (en) * 2010-03-29 2011-11-10 Konaware, Inc. Efficient transactional messaging between loosely coupled client and server over multiple intermittent networks with policy based routing
US20090233602A1 (en) * 2005-08-31 2009-09-17 David E Hughes Personalisable heterogeneous network handover scheme
US8458782B2 (en) * 2007-04-04 2013-06-04 Novell, Inc. Authenticated session replication
US8099764B2 (en) * 2007-12-17 2012-01-17 Microsoft Corporation Secure push and status communication between client and server
CN101621508A (zh) * 2008-07-03 2010-01-06 深圳富泰宏精密工业有限公司 一种可控制网络推播信息的系统及其方法
US8228832B2 (en) * 2010-01-25 2012-07-24 Motorola Mobility, Inc. USSD transport method and device
US8601569B2 (en) * 2010-04-09 2013-12-03 International Business Machines Corporation Secure access to a private network through a public wireless network
US8924489B2 (en) * 2011-01-05 2014-12-30 Apple Inc. Message push notification client improvements for multi-user devices
US20120239782A1 (en) * 2011-03-18 2012-09-20 Research In Motion Limited Method and Apparatus Pertaining to Pushing Content Via A Push Proxy Gateway
US8731523B1 (en) * 2011-06-14 2014-05-20 Urban Airship, Inc. Push notification delivery system with feedback analysis
US8732810B2 (en) * 2011-10-27 2014-05-20 Cellco Partnership IP push platform and connection protocol in a push notification framework
US8914449B2 (en) * 2011-11-07 2014-12-16 Cellco Partnership Push messaging platform with high scalability and high availability
US9749435B2 (en) * 2012-01-20 2017-08-29 Apple Inc. Proxy-based push service
US9596127B2 (en) * 2012-02-20 2017-03-14 Microsoft Technology Licensing, Llc Scalable data feed system
US9654581B2 (en) * 2014-05-30 2017-05-16 Apple Inc. Proxied push
US9954811B2 (en) * 2014-07-25 2018-04-24 International Business Machines Corporation Email notification on mobile devices

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02275563A (ja) 1989-04-17 1990-11-09 Nippon Telegr & Teleph Corp <Ntt> 情報処理システムにおけるサーバ利用方式
JP2002135350A (ja) 2000-10-30 2002-05-10 Sony Corp データ配信方法、データ受信方法、端末状態通知サービス提供方法および通信端末
JP2007221806A (ja) * 2001-06-12 2007-08-30 Research In Motion Ltd 証明書の管理および送信のシステムおよび方法
JP2003229880A (ja) 2002-02-05 2003-08-15 Yokogawa Electric Corp 広域監視制御システム
JP2005251167A (ja) * 2004-01-09 2005-09-15 Microsoft Corp 管理サーバにより更新されるオンデバイスアプリケーションカタログ
JP4706178B2 (ja) 2004-03-22 2011-06-22 富士ゼロックス株式会社 ネットワークシステム、ソフトウェア有効化装置及び方法
JP2006331126A (ja) 2005-05-26 2006-12-07 Toshiba Corp ネットワーク分散型モバイルエージェントシステムとその構築方法および構築プログラム

Non-Patent Citations (1)

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

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115134404A (zh) * 2021-03-22 2022-09-30 花瓣云科技有限公司 管理推送连接的方法和电子设备
CN115134404B (zh) * 2021-03-22 2024-01-30 花瓣云科技有限公司 管理推送连接的方法和电子设备

Also Published As

Publication number Publication date
WO2014030199A1 (ja) 2014-02-27
EP2887214A1 (en) 2015-06-24
US20150163168A1 (en) 2015-06-11
EP2887214A4 (en) 2015-06-24

Similar Documents

Publication Publication Date Title
WO2014030426A1 (ja) シームレスプッシュシステム及びその方法
JP4887682B2 (ja) 通信システム、鍵管理・配信サーバ、端末装置及びそれらに用いるデータ通信方法並びにそのプログラム
JP5378494B2 (ja) リレーサーバを利用したデータ伝送システム及び方法
JP3782981B2 (ja) セッション中継システム、クライアント端末、セッション中継方法、リモートアクセス方法、セッション中継プログラム及びクライアントプログラム
KR100978336B1 (ko) 리모트 액세스
KR102258608B1 (ko) 홈 네트워크 서비스를 제공하기 위한 장치 및 그 방법
JP5494649B2 (ja) 中継装置、中継方法、及び中継装置制御プログラム
US20110047261A1 (en) Information communication apparatus, information communication method, and program
WO2008080326A1 (fr) Procédé, système et dispositif pour transmettre des informations de transfert intercellulaire indépendant du support
WO2019167057A1 (en) Relaying media content via a relay server system without decryption
JP2003110596A (ja) データ通信サービス提供方法
WO2011129380A1 (ja) 属性情報仲介システム、仲介装置、属性情報仲介方法および属性情報仲介プログラム
JP2020010326A (ja) WiFi管理フレームを利用したデータ送信方法、データ受信方法及びデータ通信方法
JP3791504B2 (ja) 情報処理システム及び情報処理方法
CN104519077A (zh) 多媒体分享方法、注册方法、服务器及代理服务器
TWI549553B (zh) Communication methods and communication systems
JP6194292B2 (ja) 通信システム、方法及びプログラム
CN110771117B (zh) 一种采用面向id的网络的会话层通信
JP5854148B2 (ja) シームレスプッシュシステム及びその方法
JP3935823B2 (ja) Httpセッション・トンネリング・システム、その方法、及びそのプログラム
JP5626900B2 (ja) 無線通信システムおよびアクセスポイント
JP6728745B2 (ja) サーバおよびシステム
JP2007166116A (ja) 宅内サーバ装置及びアプリケーションサーバ装置
JP2007164806A (ja) データ資源を配付する方法
JP2017212572A (ja) リモートアクセスサービスシステム、情報処理装置、ゲートウェイ装置及びプログラム

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2014531535

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2013831233

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE