JP2019186658A - 通信システム、プラットフォームサーバおよびプログラム - Google Patents

通信システム、プラットフォームサーバおよびプログラム Download PDF

Info

Publication number
JP2019186658A
JP2019186658A JP2018072773A JP2018072773A JP2019186658A JP 2019186658 A JP2019186658 A JP 2019186658A JP 2018072773 A JP2018072773 A JP 2018072773A JP 2018072773 A JP2018072773 A JP 2018072773A JP 2019186658 A JP2019186658 A JP 2019186658A
Authority
JP
Japan
Prior art keywords
communication
server
access request
route
message
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2018072773A
Other languages
English (en)
Inventor
俊介 永江
Shunsuke Nagae
俊介 永江
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Konica Minolta Inc
Original Assignee
Konica Minolta Inc
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 Konica Minolta Inc filed Critical Konica Minolta Inc
Priority to JP2018072773A priority Critical patent/JP2019186658A/ja
Priority to US16/369,180 priority patent/US11218444B2/en
Priority to CN201910254830.XA priority patent/CN110351099B/zh
Publication of JP2019186658A publication Critical patent/JP2019186658A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/14Charging, metering or billing arrangements for data wireline or wireless communications
    • H04L12/1432Metric aspects
    • H04L12/1435Metric aspects volume-based
    • 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/0227Filtering policies
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/029Firewall traversal, e.g. tunnelling or, creating pinholes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/14Charging, metering or billing arrangements for data wireline or wireless communications
    • H04L12/1432Metric aspects
    • H04L12/1439Metric aspects time-based
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Multimedia (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

【課題】運用コストを低減することが可能な通信システムおよびそれに関連する技術を提供する。【解決手段】通信システムにおいて、複数のデバイス10と複数のゲートウエイ30とがファイアウォールの内側に設けられ、クラウドサーバ90とプラットフォームサーバ80と複数の種類のサーバ50,60とがファイアウォールの外側に設けられる。プラットフォームサーバ80は、クラウドサーバ90からアクセス要求を受け付けると、当該アクセス要求の通信態様情報に基づき、複数の種類の通信ルート(たとえば、時間課金サーバ50を経由する第1ルート、およびデータ量課金サーバ60を経由する第2ルート)の中から選択されたメッセージ送信用通信ルート(ファイアウォール通過用通信ルート)を介して、当該アクセス要求にて指定された通信対象デバイスに対応するゲートウエイに対してメッセージ(トンネル接続要求)を送信する。【選択図】図11

Description

本発明は、LAN外部の装置とLAN内部の装置との間の通信を行う通信システム、およびそれに関連する技術に関する。
LAN外部のサーバ(クラウドサーバ等)とLAN内部のデバイス(画像形成装置等)との連携を図る技術が存在する。
たとえば、クラウド上のサーバ(クラウドサーバ)に格納された電子文書をローカル側(LAN内部)の画像形成装置を用いて印刷出力する技術が存在する(特許文献1参照)。
特許文献1には、画像形成装置(デバイス)とゲートウエイとクラウドサーバとを備える文書出力システム(通信システム)が示されている。このシステムにおいては、クラウドサーバに格納された電子文書がゲートウエイ等を介して画像形成装置に送信され、画像形成装置10において当該電子文書の印刷出力が行われる。なお、ゲートウエイおよび画像形成装置(デバイス)はLANの内部に設けられており、クラウドサーバはLANの外部に設けられている。
ところで、上述のようなシステムにおいては、通常、LANの内部の画像形成装置(デバイス)とLANの外部のクラウドサーバとの間にはファイアウォールが設けられる。
LAN内部(ファイアウォール内部)の画像形成装置からLAN外部(ファイアウォール外部)のクラウドサーバへのアクセスは、ファイアウォールを通過し、当該アクセスは許可される。
しかしながら、逆向きのアクセス、具体的にはLAN外部(ファイアウォール外部)のクラウドサーバからLAN内部(ファイアウォール内部)の画像形成装置への直接的なアクセスは、ファイアウォールによってブロックされる。すなわち、クラウドサーバから直接、画像形成装置に対するアクセスを行うことはできない。
これに対して、LAN外部の管理サーバとLAN内部のゲートウエイ(通信中継装置)との間に(ファイアフォールの例外として)メッセージセッション(通信セッション)を確立しておき、LAN外部のクラウドサーバから、管理用プラットフォームサーバ80、XMPPサーバ(接続用サーバ)50(50x)および当該ゲートウエイ30を経由して、LAN内部の画像形成装置(デバイス)10にアクセスする技術が考えられる(図34および図35参照)。
図34および図35は、そのような技術を示す図である。各ゲートウエイ30(30x等)は、その起動時等において、予め指定されたXMPPサーバ50x(メッセージ伝達サーバあるいは接続要求伝達サーバとも称する)との間にメッセージセッション(511)を確立しておく(図34の太線参照)。その後、クラウドサーバ90から特定のデバイス10xへのアクセス要求発生時においては、図35に示すような動作が実行される。具体的には、まず、プラットフォームサーバ80がクラウドサーバ90からのアクセス要求を受信し、プラットフォームサーバ80は、XMPPサーバ50xを介してゲートウエイ30xに対してトンネル接続要求を送信する。詳細には、XMPPサーバ50xと或るゲートウエイ30(たとえば30x)との間の当該メッセージセッション(たとえば511)を利用することにより、XMPPサーバ50xから当該ゲートウエイ30xにトンネル接続要求(メッセージ)が送信される。当該ゲートウエイ30xは、当該トンネル接続要求を受信すると、当該トンネル接続要求に基づきクラウドサーバ90との間にトンネル通信(図35の砂地ハッチング領域(細長矩形部分)参照)を確立する。そして、当該トンネル通信(トンネル接続)を用いてクラウドサーバ90から(ゲートウエイ30x経由で)デバイス(画像形成装置)10xへのアクセスが行われる。
なお、特許文献2には、類似の技術が示されている。
特開2013−73578号公報 特開2015−115831号公報
ところで、上記の技術においては、ゲートウエイ30とXMPPサーバ50xとの間にメッセージセッション(通信セッション)が予め確立されるようにするため、XMPPサーバ50xが常時稼働される。そのような常時稼働状況を実現するため、たとえば、当該XMPPサーバ50xは、固定的に運用される(たとえば、購入されて或いは定額課金体系(月額固定料金あるいは年額固定料金等)で貸与されて運用される)。
しかしながら、XMPPサーバ50xを常時稼働しようとすると、XMPPサーバ50xの運用コストが嵩む、という問題が存在する。特に、XMPPサーバ50xの台数が多くなると、XMPPサーバ50xの運用コストは非常に大きくなる。
そこで、本発明は、運用コストを低減することが可能な通信システムおよびそれに関連する技術を提供することを課題とする。
上記課題を解決すべく、請求項1の発明は、通信システムであって、ファイアウォールの内側に設けられる複数のデバイスと、前記ファイアウォールの内側に設けられ、前記複数のデバイスと前記ファイアウォールの外側に設けられた少なくとも1つのクラウドサーバとの通信を中継する少なくとも1つのゲートウエイと、前記ファイアウォールの外側に設けられ、前記複数のデバイスのうちの少なくとも1つの通信対象デバイスに対する少なくとも1つのアクセス要求を前記少なくとも1つのクラウドサーバから受け付けるとともに、複数の種類の通信ルートの中から選択されたメッセージ送信用通信ルートを介して、前記少なくとも1つのアクセス要求にて指定された前記少なくとも1つの通信対象デバイスに対応するゲートウエイに対してメッセージを送信するプラットフォームサーバと、を備え、前記複数の種類の通信ルートのそれぞれは、互いに異なる非定額課金体系で運用され且つ前記ファイアウォールの外側に設けられる複数の種類のサーバであってその課金金額の大小関係が通信態様に応じて変更され得る複数の種類のサーバのいずれかを経由して、前記ファイアウォールを通過するルートであり、前記プラットフォームサーバは、前記少なくとも1つのアクセス要求の通信態様情報に基づき、前記少なくとも1つの通信対象デバイスに関する前記メッセージ送信用通信ルートを前記複数の種類の通信ルートの中から選択することを特徴とする。
請求項2の発明は、請求項1の発明に係る通信システムにおいて、前記複数の種類の通信ルートは、前記複数の種類のサーバのうちの第1の種類のサーバを経由して前記ファイアウォールを通過する第1ルートと、前記複数の種類のサーバのうちの第2の種類のサーバを経由して前記ファイアウォールを通過する第2ルートとを有することを特徴とする。
請求項3の発明は、請求項2の発明に係る通信システムにおいて、前記第1の種類のサーバは、利用時間に応じて課金される時間課金サーバであり、前記第2の種類のサーバは、通信データ量に応じて課金されるデータ量課金サーバであることを特徴とする。
請求項4の発明は、請求項3の発明に係る通信システムにおいて、前記プラットフォームサーバは、前記第1ルートが選択される場合、前記第1の種類のサーバの起動依頼を所定の起動用サーバに対して送出して前記第1の種類のサーバを起動させ且つ起動後の前記第1の種類のサーバを経由して前記メッセージを前記少なくとも1つの通信対象ゲートウエイに対して送信する処理を開始することを特徴とする。
請求項5の発明は、請求項1から請求項4のいずれかの発明に係る通信システムにおいて、前記プラットフォームサーバは、一のアクセス要求の受信に応答して、前記一のアクセス要求にて通信対象として指定された前記少なくとも1つの通信対象デバイスに関する前記メッセージ送信用通信ルートの選択処理を実行するとともに、選択された前記メッセージ送信用通信ルートを介して前記メッセージを送信する処理を開始することを特徴とする。
請求項6の発明は、請求項1から請求項4のいずれかの発明に係る通信システムにおいて、前記プラットフォームサーバは、一のアクセス要求の受信時点から所定期間が経過した後において、前記所定期間内に更に受け付けられた別のアクセス要求をも含む複数のアクセス要求にて通信対象として指定された複数の通信対象デバイスに関する前記メッセージ送信用通信ルートを前記複数のアクセス要求の通信態様情報に基づき選択し、選択された前記メッセージ送信用通信ルートを介して前記メッセージを前記複数の通信対象デバイスに対応する各通信対象ゲートウエイに対して送信する処理を開始することを特徴とする。
請求項7の発明は、請求項6の発明に係る通信システムにおいて、前記所定期間は、前記一のアクセス要求の種類に応じた長さに変更されることを特徴とする。
請求項8の発明は、請求項6の発明に係る通信システムにおいて、前記所定期間は、前記一のアクセス要求の種類の緊急度合いが高い程、短い時間に変更されることを特徴とする。
請求項9の発明は、請求項1から請求項4のいずれかの発明に係る通信システムにおいて、前記プラットフォームサーバは、所定数のアクセス要求が受信された時点で、前記所定数のアクセス要求にて通信対象として指定されている複数の通信対象デバイスに関する前記メッセージ送信用通信ルートを前記所定数のアクセス要求の通信態様情報に基づき選択し、選択された前記メッセージ送信用通信ルートを介して前記メッセージを前記複数の通信対象デバイスに対応する各通信対象ゲートウエイに対して送信する処理を開始することを特徴とする。
請求項10の発明は、請求項1から請求項4のいずれかの発明に係る通信システムにおいて、前記プラットフォームサーバは、所定数以上の通信対象デバイスに対する少なくとも1つのアクセス要求が受信された時点で、前記少なくとも1つのアクセス要求にて通信対象として指定されている複数の通信対象デバイスに関する前記メッセージ送信用通信ルートを前記少なくとも1つのアクセス要求の通信態様情報に基づき選択し、選択された前記メッセージ送信用通信ルートを介して前記メッセージを前記複数の通信対象デバイスに対応する各通信対象ゲートウエイに対して送信する処理を開始することを特徴とする。
請求項11の発明は、請求項1から請求項4のいずれかの発明に係る通信システムにおいて、前記プラットフォームサーバは、一のアクセス要求である第1のアクセス要求に応じて前記メッセージの送信処理が開始された後に前記第1のアクセス要求とは別のアクセス要求である第2のアクセス要求がさらに受け付けられた際には、前記第1のアクセス要求にて指定された複数の通信対象デバイスのうち前記第1のアクセス要求に応じた前記メッセージの送信処理が未完了の通信対象デバイスである未完了デバイスと前記第2のアクセス要求における通信対象デバイスとに関する前記メッセージ送信用通信ルートを、前記第1のアクセス要求の通信態様情報と前記第2のアクセス要求の通信態様情報とに基づき、前記複数の種類の通信ルートの中から選択し、選択された前記メッセージ送信用通信ルートを介して、前記未完了デバイスと前記第2のアクセス要求における通信対象デバイスとにそれぞれ対応する通信対象ゲートウエイに対して前記メッセージを送信する送信処理を開始することを特徴とする。
請求項12の発明は、請求項2から請求項4のいずれかの発明に係る通信システムにおいて、前記複数のデバイスは、前記メッセージを前記ファイアウォールを通過させて送信するためのサーバであるメッセージ伝達サーバとして前記複数の種類のサーバを選択的に利用可能な第1タイプデバイスと、その運用費用が固定的に発生するサーバである固定運用サーバのみを前記メッセージ伝達サーバとして利用可能な第2タイプデバイスとを含み、前記プラットフォームサーバは、前記少なくとも1つのアクセス要求にて指定された通信対象デバイスから前記第2タイプデバイスを除外した残余のデバイスに基づいて、前記メッセージ送信用通信ルートを選択することを特徴とする。
請求項13の発明は、請求項12の発明に係る通信システムにおいて、前記固定運用サーバは、常時稼働しており、且つ、前記第2タイプデバイスに対応するゲートウエイからの通信を常に許可し、前記第1ルートが前記メッセージ送信用通信ルートとして選択されていない場合、前記第1の種類のサーバは稼働しておらず、前記第1の種類のサーバが稼働状態を有する場合、前記第1の種類のサーバは前記第1タイプデバイスに対応するゲートウエイからの通信を許可し、前記第1ルートが前記メッセージ送信用通信ルートとして選択された場合、前記第1タイプデバイスに対応する前記第1の種類のサーバが起動し、前記第1タイプデバイスに対応するゲートウエイと前記第1の種類のサーバとの間にメッセージセッションが確立され、当該メッセージセッションが前記メッセージの通信用ルートとして確保されることを特徴とする。
請求項14の発明は、請求項12の発明に係る通信システムにおいて、所定プロトコルによるメッセージセッションを各ゲートウエイとの間で確立して前記メッセージを伝達することが可能な複数のメッセージ伝達サーバの相互間における負荷分散処理を実行する負荷分散サーバ、をさらに備え、前記第1の種類のサーバは、前記所定プロトコルによる前記メッセージセッションを前記第1タイプデバイスに対応するゲートウエイとの間に確立することが可能であり、前記負荷分散サーバは、複数のゲートウエイのそれぞれからの通信の許否を規定したIPフィルタを有し、前記IPフィルタは、前記第2タイプデバイスに対応するゲートウエイからの通信を常に許可し、前記メッセージ送信用通信ルートとして前記第1ルートが選択されていない場合、前記第1タイプデバイスに対応するゲートウエイからの通信を許可せず、前記プラットフォームサーバは、前記メッセージ送信用通信ルートとして前記第1ルートが選択される場合、前記少なくとも1つのアクセス要求にて通信対象として指定された前記第1タイプデバイスに対応するゲートウエイである対応ゲートウエイとの通信に用いる前記メッセージ伝達サーバを増設するとともに、前記負荷分散サーバの前記IPフィルタにおいて前記対応ゲートウエイのIPアドレスを通信許可対象アドレスとして追加登録し、前記負荷分散サーバは、前記対応ゲートウエイからの前記所定プロトコルによる前記メッセージセッションの確立要求が前記IPフィルタを通過して受信されると、前記複数のメッセージ伝達サーバの中から、前記対応ゲートウエイに割り当てるべきサーバである対応サーバを決定し、前記対応サーバと前記対応ゲートウエイとの間に前記所定プロトコルによる前記メッセージセッションが確立され、前記プラットフォームサーバは、前記負荷分散サーバに前記メッセージを送信することによって、前記メッセージセッションを介して前記メッセージを前記対応ゲートウエイに対して送信することを特徴とする。
請求項15の発明は、請求項1から請求項13のいずれかの発明に係る通信システムにおいて、前記プラットフォームサーバは、前記少なくとも1つの通信対象デバイスの全てに関して、同じ種類の通信ルートを前記メッセージ送信用通信ルートとして選択することを特徴とする。
請求項16の発明は、請求項2から請求項4のいずれかの発明に係る通信システムにおいて、前記プラットフォームサーバは、各通信対象デバイスと前記各通信対象デバイスに予め対応付けられた前記第1の種類のサーバである対応サーバとの対応関係に基づき、前記少なくとも1つのアクセス要求にて通信対象として指定された複数の通信対象デバイスを前記対応サーバを基準にして複数のグループに分類し、前記少なくとも1つのアクセス要求の通信態様情報に基づき前記複数の種類の通信ルートの中から前記メッセージ送信用通信ルートを選択する選択処理を、グループごとに実行することを特徴とする。
請求項17の発明は、請求項1の発明に係る通信システムにおいて、前記プラットフォームサーバは、各アクセス要求の送信元のクラウドサーバである送信元クラウドサーバとの間でトンネル接続を確立すべき旨のトンネル接続要求を、前記メッセージとして送信し、前記メッセージ送信用通信ルートは、トンネル接続要求用通信ルートであり、前記トンネル接続要求は、非定額課金体系で運用されるメッセージ伝達サーバと前記少なくとも1つの通信対象デバイスに対応する少なくとも1つの通信対象ゲートウエイとの間で確立されたメッセージセッションを介して、前記少なくとも1つの通信対象ゲートウエイに対して送信され、前記トンネル接続要求を受信した通信対象ゲートウエイは、当該トンネル接続要求に基づき、前記通信対象ゲートウエイと前記送信元クラウドサーバとの間でトンネル接続を確立し、前記送信元クラウドサーバと前記通信対象ゲートウエイに対応するデバイスとの通信を中継し、前記プラットフォームサーバは、前記少なくとも1つのアクセス要求の通信態様情報に基づき、前記複数の種類のサーバの中から前記メッセージ伝達サーバを決定することを特徴とする。
請求項18の発明は、ファイアウォールの内側に設けられる複数のデバイスに対する少なくとも1つのアクセス要求を受け付けることが可能であり且つ前記ファイアウォールの外側に設けられるコンピュータに、a)前記少なくとも1つのアクセス要求を、前記ファイアウォールの外側に設けられる少なくとも1つのクラウドサーバから受け付けるステップと、b)前記少なくとも1つのアクセス要求に応じて、複数の種類の通信ルートの中から選択されたメッセージ送信用通信ルートを介して、前記少なくとも1つのアクセス要求にて指定された前記少なくとも1つの通信対象デバイスに対応するゲートウエイに対してメッセージを送信する処理を開始するステップと、を実行させるプログラムであって、前記複数の種類の通信ルートのそれぞれは、互いに異なる非定額課金体系で運用され且つ前記ファイアウォールの外側に設けられる複数の種類のサーバであってその課金金額の大小関係が通信態様に応じて変更され得る複数の種類のサーバのいずれかを経由して前記ファイアウォールを通過するルートであり、前記ステップb)は、b−1)前記少なくとも1つのアクセス要求に応じて、前記少なくとも1つのアクセス要求の通信態様情報に基づき、前記少なくとも1つの通信対象デバイスに関する前記メッセージ送信用通信ルートを前記複数の種類の通信ルートの中から選択するステップと、b−2)前記複数の種類の通信ルートの中から選択された前記メッセージ送信用通信ルートを介して、前記少なくとも1つの通信対象デバイスに対応する少なくとも1つの通信対象ゲートウエイに対して前記メッセージを送信する処理を開始するステップと、を有することを特徴とする。
請求項19の発明は、請求項18の発明に係るプログラムにおいて、前記複数の種類の通信ルートは、前記複数の種類のサーバのうちの第1の種類のサーバを経由して前記ファイアウォールを通過する第1ルートと、前記複数の種類のサーバのうちの第2の種類のサーバを経由して前記ファイアウォールを通過する第2ルートとを有することを特徴とする。
請求項20の発明は、請求項19の発明に係るプログラムにおいて、前記第1の種類のサーバは、利用時間に応じて課金される時間課金サーバであり、前記第2の種類のサーバは、通信データ量に応じて課金されるデータ量課金サーバであることを特徴とする。
請求項21の発明は、請求項20の発明に係るプログラムにおいて、前記ステップb−2)は、b−2−1)前記ステップb−1)にて前記第1ルートが選択される場合、前記第1の種類のサーバの起動依頼を所定の起動用サーバに対して送出して、前記第1の種類のサーバを起動させるステップと、b−2−2)前記b−2−1)の後、起動した前記第1の種類のサーバを経由して前記メッセージを前記少なくとも1つの通信対象ゲートウエイに対して送信する処理を開始するステップと、を有することを特徴とする。
請求項22の発明は、請求項18から請求項21のいずれかの発明に係るプログラムにおいて、前記ステップb−1)においては、一のアクセス要求の受信に応答して、前記一のアクセス要求にて通信対象として指定された前記少なくとも1つの通信対象デバイスに関する前記メッセージ送信用通信ルートの選択処理が実行され、前記ステップb−2)においては、前記ステップb−1)にて選択された前記メッセージ送信用通信ルートを介して前記メッセージを送信する処理が開始されることを特徴とする。
請求項23の発明は、請求項18から請求項21のいずれかの発明に係るプログラムにおいて、前記ステップb−1)においては、一のアクセス要求の受信時点から所定期間が経過した後において、前記所定期間内に更に受け付けられた別のアクセス要求をも含む複数のアクセス要求にて通信対象として指定されている複数の通信対象デバイスに関する前記メッセージ送信用通信ルートが前記複数のアクセス要求の通信態様情報に基づき選択され、前記ステップb−2)においては、前記ステップb−1)にて選択された前記メッセージ送信用通信ルートを介して、前記複数の通信対象デバイスに対応する各通信対象ゲートウエイに対して前記メッセージを送信する処理を開始することを特徴とする。
請求項24の発明は、請求項23の発明に係るプログラムにおいて、前記所定期間は、前記一のアクセス要求の種類に応じた長さに変更されることを特徴とする。
請求項25の発明は、請求項23の発明に係るプログラムにおいて、前記所定期間は、前記一のアクセス要求の種類の緊急度合いが高い程、短い時間に変更されることを特徴とする。
請求項26の発明は、請求項18から請求項21のいずれかの発明に係るプログラムにおいて、前記ステップb−1)においては、所定数のアクセス要求が受信された時点で、前記所定数のアクセス要求にて通信対象として指定されている複数の通信対象デバイスに関する前記メッセージ送信用通信ルートが前記所定数のアクセス要求の通信態様情報に基づき選択され、前記ステップb−2)においては、前記ステップb−1)にて選択された前記メッセージ送信用通信ルートを介して、前記複数の通信対象デバイスに対応する各通信対象ゲートウエイに対して前記メッセージを送信する処理が開始されることを特徴とする。
請求項27の発明は、請求項18から請求項21のいずれかの発明に係るプログラムにおいて、前記ステップb−1)においては、所定数以上の通信対象デバイスに対する少なくとも1つのアクセス要求が受信された時点で、前記少なくとも1つのアクセス要求にて通信対象として指定されている複数の通信対象デバイスに関する前記メッセージ送信用通信ルートが前少なくとも1つのアクセス要求の通信態様情報に基づき選択され、前記ステップb−2)においては、前記ステップb−1)にて選択された前記メッセージ送信用通信ルートを介して、前記複数の通信対象デバイスに対応する各通信対象ゲートウエイに対して前記メッセージを送信する処理が開始されることを特徴とする。
請求項28の発明は、請求項18または請求項21の発明に係るプログラムにおいて、c)一のアクセス要求である第1のアクセス要求に応じて前記メッセージの送信処理が開始された後に、前記第1のアクセス要求とは別のアクセス要求である第2のアクセス要求をさらに受け付けるステップと、d)前記第2のアクセス要求が受け付けられた際において、前記第1のアクセス要求にて指定された複数の通信対象デバイスのうち前記第1のアクセス要求に応じた前記メッセージの送信処理が未完了の通信対象デバイスである未完了デバイスと前記第2のアクセス要求における通信対象デバイスとに関する前記メッセージ送信用通信ルートを、前記第1のアクセス要求の通信態様情報と前記第2のアクセス要求の通信態様情報とに基づき、前記複数の種類の通信ルートの中から選択するステップと、e)前記複数の種類の通信ルートの中から前記ステップd)にて選択された前記メッセージ送信用通信ルートを介して、前記未完了デバイスと前記第2のアクセス要求における通信対象デバイスとにそれぞれ対応する通信対象ゲートウエイに対して前記メッセージを送信する送信処理を開始するステップと、を前記コンピュータにさらに実行させることを特徴とする。
請求項29の発明は、請求項19から請求項21のいずれかの発明に係るプログラムにおいて、前記複数のデバイスは、前記メッセージを前記ファイアウォールを通過させて送信するためのサーバであるメッセージ伝達サーバとして前記複数の種類のサーバを選択的に利用可能な第1タイプデバイスと、その運用費用が固定的に発生するサーバである固定運用サーバのみを前記メッセージ伝達サーバとして利用可能な第2タイプデバイスとを含み、前記ステップb−1)においては、前記少なくとも1つのアクセス要求にて指定された通信対象デバイスから前記第2タイプデバイスを除外した残余のデバイスに基づいて、前記メッセージ送信用通信ルートが選択されることを特徴とする。
請求項30の発明は、請求項29の発明に係るプログラムにおいて、前記固定運用サーバは、常時稼働しており、且つ、前記第2タイプデバイスに対応するゲートウエイからの通信を常に許可し、前記第1ルートが前記メッセージ送信用通信ルートとして選択されていない場合、前記第1の種類のサーバは稼働しておらず、前記第1の種類のサーバが稼働状態を有する場合、前記第1の種類のサーバは前記第1タイプデバイスに対応するゲートウエイからの通信を許可し、前記ステップb−2)は、b−2−1)前記第1ルートが前記メッセージ送信用通信ルートとして前記ステップb−1)にて選択された場合、前記第1タイプデバイスに対応する前記第1の種類のサーバを起動させるステップと、b−2−2)前記第1の種類のサーバの起動に応じて、前記第1タイプデバイスに対応するゲートウエイと前記第1の種類のサーバとの間にメッセージセッションが確立されると、確立された当該メッセージセッションを前記メッセージ送信用通信ルートの一部として利用して、前記メッセージを前記少なくとも1つの通信対象ゲートウエイに対して送信するステップと、を有することを特徴とする。
請求項31の発明は、請求項29の発明に係るプログラムにおいて、前記第1の種類のサーバは、所定プロトコルによるメッセージセッションを前記第1タイプデバイスに対応するゲートウエイとの間に確立することが可能であり、各ゲートウエイは、負荷分散サーバに対して前記所定プロトコルによる前記メッセージセッションの確立要求を送信し、前記所定プロトコルによる前記メッセージセッションを前記各ゲートウエイとの間で確立して前記メッセージを伝達することが可能な複数のメッセージ伝達サーバの相互間における負荷分散処理を実行する前記負荷分散サーバは、複数のゲートウエイのそれぞれからの通信の許否を規定したIPフィルタを有し、前記IPフィルタは、前記第2タイプデバイスに対応するゲートウエイからの通信を常に許可し、前記メッセージ送信用通信ルートとして前記第1ルートが選択されていない場合、前記第1タイプデバイスに対応するゲートウエイからの通信を許可せず、前記ステップb−2)は、b−2−1)前記第1ルートが前記メッセージ送信用通信ルートとして前記ステップb−1)にて選択された場合、前記少なくとも1つのアクセス要求にて通信対象として指定された前記第1タイプデバイスに対応するゲートウエイである対応ゲートウエイとの通信に用いるメッセージ伝達サーバを増設するステップと、b−2−2)前記第1ルートが前記メッセージ送信用通信ルートとして前記ステップb−1)にて選択された場合、前記負荷分散サーバの前記IPフィルタにおいて前記対応ゲートウエイのIPアドレスを通信許可対象アドレスとして追加登録するステップと、b−2−3)前記対応ゲートウエイからの前記所定プロトコルによる前記メッセージセッションの確立要求が前記IPフィルタを通過して受信されることに応じて、前記ステップb−2−1)にて増設された前記第1の種類のサーバであって前記負荷分散サーバによる割り当て処理によって割り当てられた前記第1の種類のサーバと前記対応ゲートウエイとの間に前記メッセージセッションが確立された後、前記負荷分散サーバに前記メッセージを送信することによって、前記メッセージセッションを介して前記メッセージを前記対応ゲートウエイに対して送信するステップと、を有することを特徴とする。
請求項32の発明は、請求項18から請求項31のいずれかの発明に係るプログラムにおいて、前記ステップb−1)において、前記少なくとも1つの通信対象デバイスの全てに関して、同じ種類の通信ルートが前記メッセージ送信用通信ルートとして選択されることを特徴とする。
請求項33の発明は、請求項19から請求項21のいずれかの発明に係るプログラムにおいて、前記ステップb−1)は、b−1−1)各通信対象デバイスと前記各通信対象デバイスに予め対応付けられた前記第1の種類のサーバである対応サーバとの対応関係に基づき、前記少なくとも1つのアクセス要求にて通信対象として指定された複数の通信対象デバイスを、前記対応サーバを基準にして複数のグループに分類するステップと、b−1−2)前記少なくとも1つのアクセス要求の通信態様情報に基づき前記複数の種類の通信ルートの中から前記メッセージ送信用通信ルートを選択する選択処理を、グループごとに実行するステップと、を有することを特徴とする。
請求項34の発明は、請求項18の発明に係るプログラムにおいて、前記ステップb−2)において、各アクセス要求の送信元のクラウドサーバである送信元クラウドサーバとの間でトンネル接続を確立すべき旨のトンネル接続要求が、前記メッセージとして送信され、前記メッセージ送信用通信ルートは、トンネル接続要求用通信ルートであり、前記トンネル接続要求は、非定額課金体系で運用されるメッセージ伝達サーバと前記少なくとも1つの通信対象デバイスに対応する少なくとも1つの通信対象ゲートウエイとの間で確立されたメッセージセッションを介して、前記少なくとも1つの通信対象ゲートウエイに対して送信され、前記ステップb−1)において、前記少なくとも1つのアクセス要求の通信態様情報に基づき、前記複数の種類のサーバの中から前記メッセージ伝達サーバが決定されることを特徴とする。
請求項35の発明は、ファイアウォールの内側に設けられる複数のデバイスに対する少なくとも1つのアクセス要求を受け付けることが可能であり且つ前記ファイアウォールの外側に設けられるプラットフォームサーバであって、前記少なくとも1つのアクセス要求を、前記ファイアウォールの外側に設けられる少なくとも1つのクラウドサーバから受け付ける受信手段と、前記少なくとも1つのアクセス要求に応じて、複数の種類の通信ルートの中から選択されたメッセージ送信用通信ルートを介して、前記少なくとも1つのアクセス要求にて指定された前記少なくとも1つの通信対象デバイスに対応するゲートウエイに対してメッセージを送信する処理を開始する送信手段と、を備え、前記複数の種類の通信ルートのそれぞれは、互いに異なる非定額課金体系で運用され且つ前記ファイアウォールの外側に設けられる複数の種類のサーバであってその課金金額の大小関係が通信態様に応じて変更され得る複数の種類のサーバのいずれかを経由して前記ファイアウォールを通過するルートであり、前記プラットフォームサーバは、前記少なくとも1つのアクセス要求に応じて、前記少なくとも1つのアクセス要求の通信態様情報に基づき、前記少なくとも1つの通信対象デバイスに関する前記メッセージ送信用通信ルートを前記複数の種類の通信ルートの中から選択する選択手段、をさらに備え、前記送信手段は、前記複数の種類の通信ルートの中から選択された前記メッセージ送信用通信ルートを介して、前記少なくとも1つの通信対象デバイスに対応する少なくとも1つの通信対象ゲートウエイに対して前記メッセージを送信する処理を開始することを特徴とする。
請求項1から請求項35に記載の発明によれば、非定額課金体系で運用される複数の種類のサーバのいずれかを経由する通信ルートを介してメッセージが送信されるので、当該メッセージをファイアウォール越しに伝達するためのメッセージ伝達サーバが常に固定的な運用費用を発生させる場合に比べて、運用コストを低減することが可能である。特に、互いに異なる種類の非定額課金体系で運用される複数の種類のサーバであってその相互間における課金金額の大小関係が通信態様に応じて変更され得る複数の種類のサーバのいずれかを経由する複数の種類の通信ルートの中から、アクセス要求の通信態様情報に基づいてメッセージ送信用通信ルートが選択されるので、運用コストを一層抑制することが可能である。
通信システムの概略構成を示す図である。 MFPの構成を示す概略図である。 ゲートウエイおよびプラットフォームサーバ等の概略構成を示す図である。 通信システムの初期状態を示す図である。 第1実施形態のプラットフォームサーバの動作を示すフローチャートである。 デバイスリストを示す図である。 各通信対象デバイスに関するトンネル接続要求がデータ量課金サーバを経由して各対応ゲートウエイに送信される様子を示す図である。 非稼働状態を有していた時間課金サーバが起動される様子を示す図である。 所定時間間隔でゲートウエイから送信されていたXMPP接続要求が、起動後の時間課金サーバにて受信される様子を示す図である。 各ゲートウエイと時間課金サーバとの間でXMPP接続が確立された様子を示す図である。 各通信対象デバイスに関するトンネル接続要求が時間課金サーバを経由して(XMPP接続を介して)各対応ゲートウエイに送信される様子を示す図である。 2種類の非定額課金体系の料金のグラフを示す図である。 第2実施形態に係る動作を示すフローチャートである。 第2実施形態の変形例に関する動作を示すフローチャートである。 アクセス要求種類と待機期間との関係を規定したデータテーブルを示す図である。 第3実施形態に係る動作を示すフローチャートである。 第3実施形態の変形例に関する動作を示すフローチャートである。 第4実施形態に係る動作を示すフローチャートである。 複数の時間課金サーバが設けられた通信システムを示す図である。 第5実施形態に係る動作を示すフローチャートである。 第5実施形態に係る通信システムの概略構成を示す図である。 第2ルート(データ量課金サーバ経由ルート)等でトンネル接続要求が送信される様子を示す図である。 第1ルート(時間課金サーバ経由ルート)が選択された際の動作を示す図である。 第1ルート等を経由してトンネル接続要求が送信される様子を示す図である。 デバイスリストを示す図である。 第6実施形態に係る動作を示すフローチャートである。 第6実施形態に係る通信システムの概略構成を示す図である。 第2ルート等でトンネル接続要求が送信される様子を示す図である。 第1ルートが選択された際の動作を示す図である。 第1ルートが選択された際の動作を示す図である。 第1ルートが選択された際の動作を示す図である。 第7実施形態に係る動作を示すフローチャートである。 デバイスリスト等を示す図である。 比較例に係る通信システムを示す図である。 比較例に係る通信システムを示す図である。
以下、本発明の実施形態を図面に基づいて説明する。
<1.第1実施形態>
<1−1.システム構成概要>
図1は、本発明の実施形態に係る通信システム1の概略構成を示す図である。図1にも示すように、通信システム1は、少なくとも1つ(ここでは複数)のデバイス10(10a,10b,10c,...)と、少なくとも1つ(ここでは複数)のゲートウエイ30(30a,30b)と、少なくとも1つ(ここでは単一)のクラウドサーバコンピュータ(以下、単にクラウドサーバとも称する)90と、少なくとも1つ(ここでは単一)のクライアントコンピュータ(以下、単にクライアントとも称する)100と、管理用サーバ群200とを備える。
管理用サーバ群200は、管理用プラットフォームサーバ(以下、単にプラットフォームサーバとも称する)80と、複数の接続要求伝達サーバ(50,60)と、サービス起動用サーバ40とを備える。
また、ここでは、接続要求伝達サーバ(メッセージ伝達サーバとも称する)として、少なくとも1つ(ここでは複数)の時間課金サーバ50と、少なくとも1つ(ここでは単一)のデータ量課金サーバ(MQTTサーバとも称する)60とが設けられる。なお、ここでは、時間課金サーバ50は、XMPP(Extensible Messaging and Presence Protocol)のプロトコルを利用してメッセージを送信することからXMPPサーバとも称され、データ量課金サーバ60は、MQTT(Message Queue Telemetry Transport)のプロトコルを利用してメッセージを送信することからMQTTサーバとも称される。なお、時間課金サーバ50およびデータ量課金サーバ60は、それぞれ、他のプロトコルを利用してメッセージを送信してもよい。また、後述するように、サービス起動用サーバ40は、プラットフォームサーバ80からの起動依頼に応じて非稼働状態(非起動状態)の時間課金サーバ50(より詳細にはXMPPサービス)を起動させる処理等を実行するサーバ(起動用サーバ)である。
各要素10,30,40,50,60,80,90,100,200は、ネットワーク108を介して互いに接続されており、ネットワーク通信を実行することが可能である。ただし、後述するように、ファイアウォールによって一部の通信は遮断される。なお、ネットワーク108は、LAN(ローカルエリアネットワーク)、WAN(ワイドエリアネットワーク)、インターネットなどによって構成される。また、ネットワーク108への接続形態は、有線接続であってもよく或いは無線接続であってもよい。
複数のデバイス10および複数のゲートウエイ30は、企業内等に構築された或るLAN107の内部(換言すれば、ファイアウォールの内側)に設けられている。一方、管理用サーバ群200、クラウドサーバ90およびクライアント100は、LAN107の外部(換言すれば、ファイアウォールの外側)に設けられている。なお、クライアント100は、LAN107の内部(ファイアウォールの内側)に設けられていてもよい。
ここでは、デバイス10として、マルチ・ファンクション・ペリフェラル(Multi-Functional Peripheral)(MFPとも略称する)を例示する。MFPは、画像形成装置あるいは通信装置などとも称される。
また、ゲートウエイ30は、ここではデバイス10としてのMFPとは別のMFPに構築される。具体的には、ハードウエアとしてのMFP内に組み込まれたソフトウエア(プログラム)を実行することにより、ゲートウエイ30が実現される。
一方、各種サーバ40,50,60,80,90およびクライアント100は、それぞれ、ブレードコンピュータ或いは所謂パーソナルコンピュータ等を用いて構築される。
この通信システム1においては、たとえば、クライアント100からクラウドサーバ90へと送出された印刷指令が、クラウドサーバ90とゲートウエイ30との間に確立されたトンネル接続を利用して、クラウドサーバ90からゲートウエイ30を経由してデバイス10へと送信され、デバイス(MFP)10において印刷出力が行われる。あるいは、クライアント100からクラウドサーバ90へと送出されたファームウエアのアップデートデータが、クラウドサーバ90とゲートウエイ30との間に確立されたトンネル接続を利用して、クラウドサーバ90からゲートウエイ30を経由してデバイス10へと送信され、デバイス(MFP)10においてファームウエアのアップデート処理が行われる。
複数のゲートウエイ30は、複数のデバイス10とクラウドサーバ90との通信を中継する機能を有しており、各ゲートウエイ30は、通信中継装置とも称される。
管理用サーバ群200は、クラウドサーバ90と複数のゲートウエイ30との通信等を管理する装置群である。管理用サーバ群200は、複数のデバイス10のうちの1又は複数の特定のデバイス(通信対象デバイス)に対するアクセス要求をクラウドサーバ90から受け付けるとともに、当該アクセス要求に応じて、複数のゲートウエイ30のいずれか(具体的には、当該通信対象デバイスに対応づけられているゲートウエイ)に対してクラウドサーバ90とのトンネル接続要求を送信する。
<1−2.MFPの構成概要>
図2は、MFPの構成を示す概略図である。MFPは、スキャナ機能、プリンタ機能、コピー機能およびデータ通信機能などを備える装置(複合機とも称する)である。
MFPは、印刷出力処理(プリント処理)および画像読取処理(スキャン処理)等を行うことが可能な画像形成装置である。この実施形態では、LAN107内に複数のMFPが設けられている。また、当該複数のMFPのうちの一部のMFPは、ゲートウエイ30としても動作する。
図2に示すように、MFPは、画像読取部2、印刷出力部3、通信部4、格納部5、入出力部6およびコントローラ9等を備えており、これらの各部を複合的に動作させることによって、各種の機能を実現する。
画像読取部2は、MFPの所定の位置に載置された原稿を光学的に読み取って、当該原稿の画像データ(原稿画像とも称する)を生成する処理部である。
印刷出力部3は、対象画像に関する画像データに基づいて紙などの各種の媒体に画像を印刷出力する出力部である。
通信部4は、公衆回線等を介したファクシミリ通信を行うことが可能な処理部である。さらに、通信部4は、ネットワーク108を介したネットワーク通信が可能である。このネットワーク通信では、TCP/IP(Transmission Control Protocol / Internet Protocol)およびFTP(File Transfer Protocol)等の各種のプロトコルが利用され、当該ネットワーク通信を利用することによって、MFPは、所望の相手先(サーバ50,60,90等)との間で各種のデータを授受することが可能である。
詳細には、ゲートウエイ30として動作するMFPの通信部4は、ゲートウエイ30と接続要求伝達サーバ(50あるいは60)との間に確立されたメッセージセッション(後述)を利用して、当該接続要求伝達サーバと通信すること(特に接続要求伝達サーバからのデータ(トンネル接続要求等)を受信すること)ができる。また、デバイス10として動作するMFPの通信部4は、ゲートウエイ30とクラウドサーバ90との間に確立されたトンネル接続(後述)を利用して、当該ゲートウエイ30を経由してクラウドサーバ90と通信すること(特にクラウドサーバ90からのデータを受信すること)もできる。なお、通信部4は、他の装置に対してデータ等を送信する送信部と、他の装置からデータ等を受信する受信部とを有する。
格納部5は、ハードディスクドライブ(HDD)および不揮発性メモリ等の格納装置で構成される。
入出力部6は、MFPに対する入力を受け付ける操作入力部6aと、各種情報の表示出力を行う表示部6bとを備えている。なお、入出力部6は、操作部とも称される。
コントローラ9は、MFPを統括的に制御する制御部であり、CPUと、各種の半導体メモリ(RAMおよびROM等)とを備えて構成される。
コントローラ9は、CPUにおいて、ROM(例えば、EEPROM(登録商標)等)内に格納されている所定のソフトウエアプログラム(単にプログラムとも称する)を実行することによって、各種の処理部(画像形成動作等を制御する動作制御部16、および後述するゲートウエイ処理部18等)を実現する。
たとえば、ゲートウエイ30として動作するMFPのコントローラ9は、ゲートウエイ処理部18(通信制御部31(図3参照)等を含む)を実現する。また、デバイス10のみとして動作するMFPのコントローラ9も同様の処理部を有していても良いが、ゲートウエイ30として機能するための処理部を有していなくてもよい。なお、当該プログラムは、たとえば各種の可搬性の記録媒体(USBメモリ等)に記録され、当該記録媒体を介してMFPにインストールされればよい。あるいは当該プログラムは、ネットワーク108等を介してダウンロードされてMFPにインストールされるようにしてもよい。
<1−3.各要素の構成概要>
図3は、各要素30,80,90等の概略構成を示す図である。図3を参照して、これらの各要素について説明する。
<クラウドサーバ90>
クラウドサーバ90は、少なくとも1つの通信対象デバイスに対するアクセス要求をプラットフォームサーバ80に送信するサーバである。
クラウドサーバ90は、通信制御部81を備える。通信制御部81は、プラットフォームサーバ80およびゲートウエイ30との通信を実行する。特に、ファイアウォール外部に配置されたクラウドサーバ90の通信制御部81は、ファイアウォール内部に配置された各ゲートウエイ30との通信をトンネル通信(後述)を用いて実行する。
<プラットフォームサーバ80>
プラットフォームサーバ80は、管理用サーバ群200を構成する一のサーバであり、管理用サーバなどとも称される。プラットフォームサーバ80は、クラウドサーバ90からのアクセス要求を受け付けることが可能なサーバである。
プラットフォームサーバ80は、通信制御部81、デバイス情報管理部82、解析部83および選択部84などの各種の処理部を備える。
これら各種の処理部は、プラットフォームサーバ80のCPUにおいて、格納部(HDD等)に格納されている所定のソフトウエアプログラム(単にプログラムとも称する)を実行することによって実現される。なお、当該プログラムは、たとえば各種の可搬性の記録媒体(DVD−ROM等)に記録され、当該記録媒体を介してプラットフォームサーバ80にインストールされればよい。あるいは当該プログラムは、ネットワーク108等を介してダウンロードされてプラットフォームサーバ80にインストールされるようにしてもよい。
通信制御部81は、通信部87(通信用ハードウエア)と協働して、各種の通信動作を制御する。たとえば、通信制御部81は、クラウドサーバ90との通信を実行し、クラウドサーバ90からのアクセス要求を受信する。また、通信制御部81は、各ゲートウエイ30との通信(トンネル接続要求の送信等)を、接続要求伝達サーバ(50あるいは60)とゲートウエイ30との間に確立されるメッセージセッション(後述)を用いて実行する。なお、通信部87は、他の装置に対してデータ等を送信する送信部と、他の装置からデータ等を受信する受信部とを有する。
デバイス情報管理部82は、プラットフォームサーバ80による管理対象の複数のゲートウエイ30の情報(管理ゲートウエイ情報)、および当該複数のゲートウエイ30からそれぞれ受信した管理デバイス情報(各ゲートウエイ30による管理対象のデバイスの情報)等を管理する処理部である。これらの情報(管理ゲートウエイ情報および管理デバイス情報)は、プラットフォームサーバ80の格納部(HDD(ハードディスクドライブ)等)85内に格納された管理テーブル86に記述されている。管理テーブル86においては、管理ゲートウエイ情報(各ゲートウエイ30の識別情報(たとえばIPアドレス)等)、および各ゲートウエイ30と各ゲートウエイ30の配下のデバイス(管理対象デバイス)との関係を示す管理デバイス情報等が記述されている。
解析部83は、クラウドサーバ90から受信したアクセス要求の内容を解析するとともに、各通信対象デバイス(当該アクセス要求において接続先(通信対象)として指定されたデバイス)10に対応する通信対象ゲートウエイを決定する処理部である。解析部83は、接続先デバイス10に対する通信を中継することが可能なゲートウエイ30を、管理テーブル86に基づき決定する処理部である。解析部83は、利用すべきゲートウエイ30(通信中継装置)を決定する中継装置決定部とも表現される。
選択部84は、クラウドサーバ90からのアクセス要求に応じて、複数の種類の通信ルートの中から、各通信対象デバイス(接続先デバイスとも称する)10に関する接続要求用通信ルート(後述)を、アクセス要求の通信態様情報に基づき選択(決定)する処理部である。
また、通信制御部81および通信部87等は、クラウドサーバ90(アクセス要求の送信元のクラウドサーバ(送信元クラウドサーバとも称する))との間でトンネル接続を確立すべき旨のトンネル接続要求を送信する。当該トンネル接続要求は、選択部84によって複数の種類の通信ルートの中から選択(決定)されたトンネル接続要求用通信ルート(単に接続要求用通信ルートとも称する)を介して、解析部(中継装置決定部)83によって決定されたゲートウエイ30(通信中継装置)に対して送信される。なお、「接続要求用通信ルート」は、「メッセージ送信用通信ルート」あるいは「ファイアウォール通過用通信ルート」などとも称される。
なお、ゲートウエイ30(通信中継装置)は、当該トンネル接続要求を受信すると、当該トンネル接続要求に応じて、トンネル接続をクラウドサーバ90との間に確立する。そして、当該ゲートウエイ30は、当該トンネル接続を利用して、クラウドサーバ90と接続先デバイス10との間の通信を中継する。
<ゲートウエイ30>
各ゲートウエイ30は、それぞれ、通信制御部31などの各種の処理部を備える。これら各種の処理部は、ゲートウエイ30(MFP)のコントローラ9において、所定のプログラムを実行することによって実現される。
通信制御部31は、他の装置との通信を制御する処理部である。通信制御部31は、メッセージセッション通信制御部32とトンネル通信制御部33とLAN内通信制御部34とを有する。
LAN内通信制御部34は、LAN内の各種装置(デバイス10等)との通信を実行する処理部である。
一方、メッセージセッション通信制御部32とトンネル通信制御部33とは、それぞれ、LAN外の各種装置との通信を実行する処理部である。
メッセージセッション通信制御部32は、接続要求伝達サーバ(50あるいは60)との通信をメッセージセッション(XMPP接続あるいはMQTT接続等)を用いて実行する処理部である。メッセージセッション通信制御部32は、接続要求伝達サーバ(50あるいは60)との間にメッセージセッションを確立して、当該接続要求伝達サーバとの通信を実行する。
トンネル通信制御部33は、クラウドサーバ90との通信をトンネル通信(後述)を用いて実行する処理部である。トンネル通信制御部33は、クラウドサーバ90との間にトンネル通信を確立して、クラウドサーバ90と特定のデバイス10との通信を中継する。トンネル通信制御部33は、対クラウドサーバ通信部(あるいはクラウドサーバ通信部)とも称される。
後述するように、メッセージセッションを利用することによって、ファイアウォールFW(図4等参照)の外部の装置(接続要求伝達サーバ(50あるいは60))からファイアウォールFWの内部の装置(ゲートウエイ30)に対して、データ(メッセージ等)を送信することが可能である。また、トンネル接続を利用することによって、ファイアウォールFWの外部の装置(クラウドサーバ90)からファイアウォールFWの内部の装置(ゲートウエイ30およびデバイス10)に対して、データ(ファームウエアアップデートデータ等)を送信することが可能である。
<1−4.比較例に係る動作>
ここで、比較例に係る動作について、図34および図35を参照しつつ説明する。この比較例に係る動作においては、ファイアウォール外部の管理用サーバ群200(特にXMPPサーバ50x)とファイアウォール内部のゲートウエイ30との間に(ファイアフォールの例外としての)メッセージセッション(XMPP接続)を確立しておき、ファイアウォール外部のクラウドサーバ90から、当該管理用サーバ群200および当該ゲートウエイ30を経由して、ファイアウォール内部のデバイス10にアクセスすることが行われ得る。管理用サーバ群200は、プラットフォームサーバ80およびXMPPサーバ(ここでは、固定運用サーバ(その運用費用が固定的に発生するサーバ))50xを有する。
上述(図34参照)のように、ゲートウエイ30は、その起動時等において、予め指定されたXMPPサーバ(固定運用サーバ)50xとの間に通信セッション(詳細には、メッセージセッション)(511)を予め確立しておく。その後、クラウドサーバ90から特定のデバイス10へのアクセス要求発生時において、XMPPサーバ50xとゲートウエイ30(30x)との間の当該メッセージセッション(常時接続通信セッション)(511)を利用することにより、プラットフォームサーバ80からXMPPサーバ50xを経由して当該ゲートウエイ30xにトンネル接続要求が送信される。当該ゲートウエイ30xは、当該トンネル接続要求に基づき、クラウドサーバ90との間にトンネル通信を確立する(図35参照)。そして、当該トンネル通信を用いてクラウドサーバ90から(ゲートウエイ30経由での)デバイス(画像形成装置)10へのアクセスが行われる。
より詳細には、まず、各ゲートウエイ30は、それぞれの起動時等において、予め指定されたXMPPサーバ50xに対してメッセージセッションの接続要求(確立要求)を送信する。これに応じて、XMPPサーバ50xが当該確立要求を承認することによって、各ゲートウエイ30とXMPPサーバ50xとの間にメッセージセッション(511)がそれぞれ確立される(図34参照)。換言すれば、ファイアウォール内部のゲートウエイ30からファイアウォール外部のXMPPサーバ50xへのアクセスに応じて、メッセージセッションが確立される。当該メッセージセッション(通信セッション)としては、「XMPP:eXtensible Messaging and Presence Protocol」)のプロトコルを用いたものが例示される。また、各ゲートウエイ30は、各ゲートウエイ30の管理下のデバイス(管理対象デバイス)の情報等をプラットフォームサーバ80へ送信しておく。また、プラットフォームサーバ80は、各ゲートウエイ30による管理対象デバイスの情報を含む登録情報(管理テーブル86)を、プラットフォームサーバ80の格納部85(図3)に格納する。
そして、XMPPサーバ50xとゲートウエイ30との間の当該メッセージセッションを利用して、クラウドサーバ90から、デバイス(画像形成装置)10へのアクセスが行われ得る。
詳細には、クラウドサーバ90が特定のデバイス10xに対するアクセス(通信)を行いたい場合には、まず特定のデバイス10x向けのアクセス要求がクラウドサーバ90からプラットフォームサーバ80に送信される。
プラットフォームサーバ80は、特定のデバイス10に対応するゲートウエイ30(特定のデバイス10xをその配下に有する特定のゲートウエイ30x等)を管理情報(管理テーブル86)に基づいて特定する。換言すれば、アクセスすべきゲートウエイ30が管理テーブル86に基づいて特定される。なお、これに限定されず、たとえば、アクセスすべきゲートウエイ30は、アクセスすべき特定のデバイス10等とともにユーザ等によって予め指定されていてもよい。そして、アクセスすべきゲートウエイ30は、当該指定に基づいて特定されるようにしてもよい。
また、プラットフォームサーバ80は、特定されたゲートウエイ30に対して、XMPPサーバ50xを経由してトンネル接続要求を送信する。
たとえば、まず、特定のデバイス10xに対するアクセス要求がクラウドサーバ90からプラットフォームサーバ80に送信された場合において、プラットフォームサーバ80は、特定のデバイス10xに対応するゲートウエイ(30x)を管理情報(管理テーブル86)に基づいて特定する。
つぎに、XMPPサーバ50xと(特定のデバイス10xに対応する)特定のゲートウエイ30xとの間にメッセージセッション511が確立されているときには、プラットフォームサーバ80は、当該特定されたゲートウエイ30xに対してトンネル接続要求を当該メッセージセッション511を介して送信する。「トンネル接続要求」は、クラウドサーバ90との間にトンネル接続(トンネル通信接続)を確立すべき旨の接続要求(確立要求)である。このように、XMPPサーバ50xと特定のゲートウエイ30xとの間にメッセージセッション511が確立されているときには、当該トンネル接続要求は、XMPPサーバ50xとゲートウエイ30xとの間の当該メッセージセッション511を利用して送信される。
トンネル接続要求を受信したゲートウエイ30は、当該トンネル接続要求に応答して、HTTP(Hypertext Transfer Protocol)セッション(より詳細には、HTTPS(Hypertext Transfer Protocol Secure)セッション)の確立要求をクラウドサーバ90に対して送信する。そして、クラウドサーバ90が当該確立要求を承認することによって、当該ゲートウエイ30とクラウドサーバ90との間に当該HTTPセッションによるトンネル接続(トンネル通信)が確立される。換言すれば、ファイアウォール内部のゲートウエイ30からファイアウォール外部のクラウドサーバ90へのアクセスに応じて、トンネル接続(トンネル通信)が確立される。そして、このHTTPセッションによるトンネル通信を用いて、クラウドサーバ90は、ゲートウエイ30を経由してデバイス10(たとえば10d)へと各種のデータを送信することが可能である。このようなHTTP(HTTPS)セッションの確立要求は、トンネル接続の確立要求とも称される。なお、図35においては、砂地ハッチング付きの細長い矩形によって「トンネル通信」が模式的に示されている。
<1−5.第1実施形態に係る動作>
上記比較例に係る動作においては、ゲートウエイ30とXMPPサーバ50xとの間にメッセージセッション(通信セッション)が予め確立されるようにするため、たとえばXMPPサーバ50xが常時稼働される。また、XMPPサーバ50xの常時稼働を実現するため、たとえば当該XMPPサーバ50xは固定的に運用される(具体的には、購入されて或いは定額課金体系で貸与されて運用される)。なお、当該XMPPサーバ50xは、その運用費用が固定的に発生するサーバであることから、固定運用サーバとも称される。
しかしながら、XMPPサーバ50xを常時稼働しようとすると、XMPPサーバ50xの運用コストが嵩む、という問題が存在する。特に、XMPPサーバ50xの台数が多くなると、XMPPサーバ50xの運用コストは非常に大きくなる。
ここにおいて、XMPPサーバ50x(詳細には、固定運用サーバ)の稼働期間の全体の中には、データ(トンネル接続要求等)の送受信が実際には行われていない期間が存在する。特に、トンネル接続要求の送受信の頻度は比較的低く、当該固定運用サーバの全稼働期間に対して実際の送受信が行われている期間の割合(端的に言えば、固定運用サーバの稼働率)は比較的低い。端的に言えば、トンネル接続要求の実行指示を待機している期間(アイドル期間)が長く、固定運用サーバの利用効率は低い。
そこで、この実施形態では、管理用サーバ群200におけるトンネル接続要求の通信用のサーバ(「接続要求伝達サーバ」(メッセージ伝達サーバ))として、上述のような固定運用サーバ(その運用費用が固定的に発生するサーバ)(XMPPサーバ50x)の代わりに、その運用費用が変動し得るサーバ(変動運用サーバあるいは非固定運用サーバとも称する)(詳細には、「非定額課金体系」で貸与されて運用されるサーバ)が利用される。これによれば、運用コストを低減することが可能である。ここで、「非定額課金体系」は、定額課金以外の課金体系であり、使用量(使用データ量あるいは使用時間等)に応じた従量課金体系を含む。
また、「非定額課金体系」で運用されるサーバ(非定額課金サーバとも称する)として、複数の種類(ここでは2種類)の非定額課金サーバが選択的に利用される。具体的には、「時間課金サーバ」50(利用時間に応じて課金されるサーバ(時間課金制が適用されるサーバ))と「データ量課金サーバ」60(通信データ量に応じて課金されるサーバ(データ量課金制が適用されるサーバ))との2種類の従量制課金サーバが選択的に利用される。より詳細には、クラウドサーバ90からのアクセス要求の通信態様情報(当該アクセス要求にて指定された通信対象デバイスの数など)に基づいて、時間課金サーバ(時間課金制サーバとも称する)50とデータ量課金サーバ(データ量課金制サーバとも称する)60との中から、一の種類の非定額課金サーバが選択される。これによれば、2種類のサーバのうち、アクセス要求の内容に応じたサーバ(より安価なサーバ)を利用することが可能である。
これら複数の種類のサーバ50,60は、互いに異なる種類の非定額課金体系(従量課金制(変動課金制))で運用される複数の種類のサーバである。また、当該複数の種類のサーバ50,60の課金金額の相互間の大小関係は、通信(トンネル接続要求等)の通信態様(通信頻度あるいは通信密度等)に応じて変更(逆転)され得る。たとえば、メッセージ(トンネル接続要求)が非常に低頻度でのみ送信される場合(少数のメッセージが散発的に送信される場合等)には、データ量課金サーバ60の課金金額の方が時間課金サーバ50の課金金額よりも安い。逆に、メッセージが非常に高頻度で送信される場合(非常に多数のメッセージが集中して送信される場合等)には、時間課金サーバ50の課金金額の方がデータ量課金サーバ60よりも安い。
ここで、1台のデータ量課金サーバ60の料金は、次のように算出される。たとえば、1メッセージ(最小送信データ単位)(5KB(キロバイト))あたり「0.000001USD」の金額が課金され、1つのトンネル接続要求が1メッセージ(5KB)以内である場合を想定する。この場合、トンネル接続要求の数に「0.000001USD」を乗じた額がデータ量課金サーバの料金として算出される。仮に、アクセス要求に通信対象デバイスとして100万個のデバイスが指定されているときには、100万個のトンネル接続要求の送信が要求されるので、「1」USD(=100万×「0.000001」USD)がデータ量課金サーバの料金として算出される。また、アクセス要求に通信対象デバイスとして1個のデバイスのみが指定されているときには、1個のトンネル接続要求の送信が要求されるので、「0.000001」USD(=1×「0.000001」USD)がデータ量課金サーバの料金として算出される。なお、データ量課金サーバ60は、(メッセージ送信の有無にかかわらず)常時起動されているものの、データ量課金サーバ60の起動期間(およびデータ送信の「時間」)に依拠した課金はなされない。データ量課金サーバ60の利用に対しては、送信データのデータ量に応じてのみ課金される。
一方、1台の時間課金サーバ50の料金は、次のように算出される。たとえば、或るレベルの処理能力を有する時間課金サーバに関して、1時間あたり「0.133(USD)」(1秒あたり「0.00003694(USD)」)の金額が課金され、当該サーバは1秒あたり100個のメッセージ(100個のトンネル接続要求)を処理可能である場合を想定する。仮に、アクセス要求に通信対象デバイスとして100万個のデバイスが指定されているときには、100万個のデバイスに関する100万個のトンネル接続要求の送信に1万秒(約3時間)の稼働時間を要する(100万(個)/100(個/秒)=1万秒=2.7778時間)ので、「0.3694」USD(=1000000×0.00003694=2.7778×0.133USD)が時間課金サーバの料金として算出される。また、1個のデバイスに関する1個のトンネル接続要求の送信に1秒以下(1/100秒)の稼働時間を要するので、最小課金単位の1秒に1秒単価(1秒あたり「0.00003694(USD)」)を乗じた金額「0.00003694(USD)」が時間課金サーバの料金として算出される。
したがって、アクセス要求に通信対象デバイスとして1個のデバイスのみが指定されているとき(換言すれば、通信頻度が所定程度よりも低いとき)には、データ量課金サーバ60の料金(「0.000001」USD)の方が時間課金サーバ50の料金(「0.00003694」USD」)よりも低額である(安い)。
一方、アクセス要求に通信対象デバイスとして100万個のデバイスが指定されているとき(換言すれば、通信頻度が所定程度よりも高いとき)には、逆に、時間課金サーバ50の料金(「0.399」USD)の方がデータ量課金サーバ60の料金(「1」USD)よりも低額である(安い)。
図12は、このような2種類の非定額課金体系の料金のグラフを示す図である。曲線L11は、時間課金サーバ50の料金を示しており、曲線L20は、データ量課金サーバ60の料金を示している。両曲線L11,L20を比較すると判るように、アクセス要求にて指定される通信対象デバイスの数N(換言すれば、トンネル接続要求の数)が所定数TH1(TH11)より小さいときには、データ量課金サーバ60の料金(L20参照)が時間課金サーバ50の料金(L11参照)よりも安い。一方、当該通信対象デバイスの数Nが所定数TH1(TH11)より大きいときには、時間課金サーバ50の料金(L11参照)がデータ量課金サーバ60の料金(L20参照)よりも安い。
その後、トンネル接続要求を伝達する通信ルートとして複数の種類(ここでは2種類)の通信ルートの中から選択された「接続要求用通信ルート」(メッセージ送信用通信ルート)を介して、少なくとも1つの通信対象デバイスに対応する少なくとも1つの通信対象ゲートウエイに対して送信処理が開始される。ここで、接続要求用通信ルートは、ファイアウォールを越えて(通過させて)トンネル接続要求をゲートウエイに送信する通信ルート(ファイアウォール通過用通信ルートとも称する)である。各接続要求用通信ルートは、上述の複数の種類のサーバ(50,60等)のいずれかを経由してファイアウォールを通過するルートであり、且つ、当該複数の種類のサーバのうちの互いに異なる種類のサーバを経由するルートである。たとえば、接続要求用通信ルートとしては、複数の種類のサーバのうちの「時間課金サーバ50」を経由してプラットフォームサーバ80側からファイアウォールを通過する第1ルートと、当該複数の種類のサーバのうちの「データ量課金サーバ60」を経由してプラットフォームサーバ80側からファイアウォールを通過するファイアウォールを通過)する第2ルートとが存在する。
なお、上述の料金算出例では、時間課金サーバ50の料金の算出にて、当該時間課金サーバ50の起動に要する時間(所要起動時間)を考慮していないが、当該所要起動時間を考慮してもよい。当該所要起動時間を考慮すると、所定数(閾値)TH1は、値TH11よりも大きな値TH12(あるいはTH13)等に遷移する。曲線L12,L13は、その所要起動時間をも考慮した時間課金サーバ50の料金を示している。曲線L12は、比較的小さな所要起動時間に対応する時間課金サーバ50の料金を示しており、曲線L13は、比較的大きな所要起動時間に対応する時間課金サーバ60の料金を示している。
また、ここでは、「時間課金サーバ」として1台の接続要求伝達サーバが選択される態様を主に例示しているが、これに限定されない。たとえば、「時間課金サーバ」として複数の接続要求伝達サーバ(図19では複数の時間課金サーバ50)が選択されるようにしてもよい。図19には、通信システムにおいて複数の時間課金サーバが設けられ、複数の時間課金サーバが複数の接続要求伝達サーバとして選択され得る状態が示されている。
具体的には、アクセス要求にて指定された少なくとも1つの通信対象デバイスに関するトンネル接続要求を伝達すべき接続要求伝達サーバが全て時間課金サーバ50(複数の時間課金サーバ)で構成される場合の合計料金と、当該接続要求伝達サーバが全てデータ量課金サーバ60で構成される場合の合計料金とが比較される。そして、両合計料金のうち、より低額の料金(最も安価な料金)に対応する種類の接続要求伝達サーバ(たとえば、「時間課金サーバ」(詳細には複数の時間課金サーバ50))が選択されればよい。
この実施形態では、時間課金サーバ50として、XMPPプロトコルを利用してトンネル接続要求を(より詳細には、ファイアウォールを通過させて)ゲートウエイに対して送信することが可能なサーバ(XMPPサーバとも称する)を例示する。時間課金サーバ50は、送信すべきデータが存在しない場合には、起動されていない状態(非起動状態あるいは非稼働状態とも称する)を有する。その後、プラットフォームサーバ80が接続要求用通信ルートとして第1ルート(時間課金サーバ50を経由するルート)を選択した場合には、プラットフォームサーバ80は、非稼働状態(非起動状態)の時間課金サーバ50を起動させる。ここでは、プラットフォームサーバ80が時間課金サーバ50の起動依頼をサービス起動用サーバ40に対して送信し、当該起動依頼を受信したサービス起動用サーバ40が時間課金サーバ50を起動する。なお、これに限定されず、プラットフォームサーバ80が時間課金サーバ50を直接的に起動するようにしてもよい。
なお、XMPP接続の確立に際しては、(第6実施形態で示すようなロードバランサ(負荷分散サーバ)70(後述)が存在しない場合には、)次のような動作が行われる。まず、ゲートウエイ30は、時間課金サーバ50とのXMPP接続(メッセージセッション)が未だ確立されていない状態(未接続状態)において、当該ゲートウエイ30に対応する時間課金サーバ50に対して、XMPP接続要求を所定時間間隔(たとえば1分間隔)で送信する。時間課金サーバ50が非稼働状態を有する場合、当該時間課金サーバ50は当該XMPP接続要求を受信できないので、ゲートウエイ30と当該時間課金サーバ50との間の接続は確立されない。一方、時間課金サーバ50が稼働状態を有する場合、当該時間課金サーバ50は当該XMPP接続要求を受信し、ゲートウエイ30と当該時間課金サーバ50との間でXMPP接続が確立される。
また、データ量課金サーバ60として、MQTTプロトコルを利用してトンネル接続要求をファイアウォールを通過してゲートウエイに対して送信することが可能なサーバ(MQTTサーバとも称する)を例示する。データ量課金サーバ60は、送信すべきデータが存在しない場合でも起動されている状態(起動状態あるいは稼働状態とも称する)を有する。この稼働状態においては、MQTTプロトコルによるメッセージセッション(常時接続)がデータ量課金サーバ60と各ゲートウエイ30との間に確立されている。ただし、このメッセージセッションが確立されただけでは、実質的なデータ送信は未だ行われておらず、実質的な課金は行われない。また、当該メッセージセッションを利用して、トンネル接続要求がデータ量課金サーバ60を経由してゲートウエイ30へと送信される際に、当該トンネル接続要求のデータ量に応じた料金が課される。
なお、ここでは、時間課金サーバ50とデータ量課金サーバ60とにおいて、互いに異なるプロトコルを用いてトンネル接続要求が送信される。具体的には、時間課金サーバ50ではXMPPプロトコルが用いられ、データ量課金サーバ60ではMQTTプロトコルが用いられる。ただし、これに限定されず、時間課金サーバ50とデータ量課金サーバ60とにおいて同じプロトコルを用いて(たとえば、両サーバ50,60ともにXMPPプロトコルを用いて)トンネル接続要求が送信されてもよい。
<1−6.詳細動作>
図4は、通信システム1の初期状態を示す図である。また、図5は、第1実施形態のプラットフォームサーバ80の動作を示すフローチャートである。これらの図等を参照しながら、第1実施形態の動作について更に詳細に説明する。
図4は、或る時点t0における通信システム1の状態(初期状態あるいはアクセス要求受信前の状態とも称する)を示している。時点t0においては、時間課金サーバ50は非稼働状態を有しており、時間課金サーバ50に関する料金は発生していない。また、データ量課金サーバ60は稼働状態を有するものの、データ量課金サーバ60に関する料金も発生していない。
第1実施形態では、各デバイス10には、それぞれ、対応するゲートウエイ30が予め定められているとともに、各ゲートウエイ30にも、それぞれ、対応する時間課金サーバ50が予め定められている。したがって、各デバイス10には、それぞれ、対応する時間課金サーバ50が予め定められている。プラットフォームサーバ80は、このような対応関係の情報を予め格納しているものとする。
各ゲートウエイ30は、対応する時間課金サーバ50の情報(時間課金サーバ50のIPアドレス等)を格納しており、当該対応する時間課金サーバ50にアクセスすることが可能である。具体的には、ゲートウエイ30は、時間課金サーバ50との接続が未だ確立されていない状態(未接続状態)においては、当該ゲートウエイ30に対応する時間課金サーバ50に対して、接続要求を所定時間間隔(たとえば1分間隔)で送信している。ただし、時間課金サーバ50が非稼働状態を有する場合、当該時間課金サーバ50は当該接続要求を受信できないので、ゲートウエイ30と当該時間課金サーバ50との間の接続は確立されない。
このような通常状態(図4)において、プラットフォームサーバ80は、アクセス要求を或るクラウドサーバ90から受信する(ステップS11(図5))。アクセス要求には、依頼元のクラウドサーバ90の情報、およびデバイスリスト300(図6参照)が含まれている。図6に示されるように、デバイスリスト300には、通信対象として指定されるデバイス(通信対象デバイス)のデバイスID、アクセス要求の種類(「セキュリティ脆弱性対策のファームウエア更新指示」、「(非セキュリティ対策の)ファームウエア更新指示」、「ログアップロード指示」、...)等が記述されている。当該アクセス要求に含まれるデバイスIDの数を計数することによって、通信対象デバイスの数が算出され得る。このように、アクセス要求には、通信態様情報(当該アクセス要求にて通信対象として指定された通信対象デバイスの数など)が含まれている。
クラウドサーバ90からのアクセス要求を受信したプラットフォームサーバ80は、当該アクセス要求に応じて、複数の種類の通信ルートの中から選択される接続要求用通信ルートを介して、トンネル接続要求を各通信対象ゲートウエイに対して送信する処理(送信処理)を開始する。第1実施形態では、送信ルートの選択処理(ステップS23(図5)等)および送信処理(ステップS24,S28)等が、一のアクセス要求の受信に応答して直ちに開始される。
具体的には、クラウドサーバ90からのアクセス要求を受信したプラットフォームサーバ80は、当該アクセス要求の通信態様情報(当該アクセス要求にて指定された通信対象デバイスの数など)に基づいて、時間課金サーバ50とデータ量課金サーバ60との中から、一の種類の非定額課金サーバ(従量制課金サーバ)を選択する処理等を実行する。
より詳細には、まず、プラットフォームサーバ80は、時間課金サーバ50の利用料金を算出する(ステップS21)とともに、データ量課金サーバ60の利用料金を算出する(ステップS22)。詳細には、ステップS21では、当該アクセス要求にて指定された通信対象デバイスに関するトンネル接続要求を時間課金サーバ50経由の第1ルートで送信する場合の料金が算出される。ステップS22では、当該アクセス要求にて指定された通信対象デバイスに関するトンネル接続要求をデータ量課金サーバ60経由の第2ルートで送信する場合の料金が算出される。その後、ステップS23では、両料金が比較され、比較結果に基づく選択処理(通信ルート選択処理)および分岐処理が実行される。なお、通信ルート選択処理は、アクセス要求の通信態様情報に基づき、通信対象デバイスに関する接続要求用通信ルート(詳細には、当該通信対象デバイスに対応するゲートウエイとの接続要求用通信ルート)を複数の種類の通信ルートの中から選択する処理である。その後、プラットフォームサーバ80は、トンネル接続要求を、複数の種類の通信ルートの中から選択された接続要求用通信ルートを介して、各通信対象デバイスに対応する各通信対象ゲートウエイに対して送信する。
たとえば、データ量課金サーバ60の料金が時間課金サーバ50の料金よりも安い場合には、データ量課金サーバ60が接続要求伝達サーバとして選択(決定)される。換言すれば、複数の種類の通信ルートの中から、第2ルートが接続要求用通信ルートとして選択(決定)される。そして、ステップS24にて、プラットフォームサーバ80は、トンネル接続要求をデータ量課金サーバ60を経由して、各通信対象デバイス10に対応する各ゲートウエイ(対応ゲートウエイ)30に送信する(図7参照)。図7では、各通信対象デバイス10に関するトンネル接続要求がデータ量課金サーバ60を経由して各対応ゲートウエイ30に送信される様子が示されている。
一方、時間課金サーバ50の料金がデータ量課金サーバ60の料金よりも安い場合には、時間課金サーバ50が接続要求伝達サーバとして選択(決定)される。換言すれば、複数の種類の通信ルートの中から、第1ルートが接続要求用通信ルートとして選択(決定)される。そして、ステップS26(図5)に進む。ステップS26では、プラットフォームサーバ80は、各対応ゲートウエイに対応する時間課金サーバ50を起動すべき旨の起動依頼を、サービス起動用サーバ40に対して送出する(図8も参照)。サービス起動用サーバ40は、当該起動依頼に基づいて1又は複数の時間課金サーバ50(図8では1つの時間課金サーバ50)に対して、起動指令を送信し、当該1又は複数の時間課金サーバ50を起動する。当該起動指令に応じて当該1又は複数の時間課金サーバ50が稼働状態に遷移する(図8参照)。
上述のように、各ゲートウエイ30は、時間課金サーバ50との接続が未だ確立されていない状態(未接続状態)においては、当該ゲートウエイ30に対応する時間課金サーバ50に対して、接続要求を所定時間間隔(たとえば1分間隔)で送信している(図9参照)。時間課金サーバ50が稼働状態を有する場合、当該時間課金サーバ50は当該接続要求を受信し、各ゲートウエイ30と当該時間課金サーバ50との間で各XMPP接続が確立される(図10参照)。また、各時間課金サーバ50は、当該XMPP接続が確立された旨をプラットフォームサーバ80に送信する。
そして、プラットフォームサーバ80は、当該XMPP接続を利用してトンネル接続要求を各時間課金サーバ50を経由して各ゲートウエイ30に送信する処理を開始する(ステップS28)。換言すれば、プラットフォームサーバ80は、各ゲートウエイ30と、起動した時間課金サーバ50との間の第1ルートを経由して、トンネル接続要求を各通信対象ゲートウエイに送信する処理(図11参照)を開始する。図11では、各通信対象デバイス10に関するトンネル接続要求が時間課金サーバ50を経由して各対応ゲートウエイ30に送信される様子が示されている。
その後、各ゲートウエイ(通信対象ゲートウエイとも称する)は、時間課金サーバ50あるいはデータ量課金サーバ60を経由してトンネル接続要求を受信すると、当該トンネル接続要求に基づきクラウドサーバ90との間でトンネル接続を確立する。
そして、各通信対象ゲートウエイ30は、確立された当該トンネル接続を利用して、アクセス要求の送信元のクラウドサーバ90と当該各通信対象ゲートウエイに対応する各デバイスとの通信を中継する。
以上のような動作によれば、プラットフォームサーバ80は、クラウドサーバ90からのアクセス要求にて指定された各通信対象デバイスに関するトンネル接続要求(メッセージ)を、非定額課金体系で運用されるサーバと各通信対象デバイスに対応する各通信対象ゲートウエイとの間で確立されたメッセージセッションを介して、各通信対象ゲートウエイ30に送信する。端的に言えば、トンネル接続要求は、非定額課金体系で運用されるサーバを接続要求伝達サーバ(メッセージ伝達サーバ)として利用して各通信対象ゲートウエイ30に送信される。したがって、固定運用サーバ(購入されて運用されるサーバ或いは定額課金体系(固定課金制)で貸与されて運用されるサーバ等)を利用してトンネル接続要求が各通信対象ゲートウエイ30に送信される場合(換言すれば、メッセージをファイアウォール越しに伝達するためのメッセージ伝達サーバが常に固定的な運用費用を発生させる場合)に比べて、通信システム1の運用コスト(特に接続要求伝達サーバの運用コスト)を低減することが可能である。
また、プラットフォームサーバ80は、互いに異なる種類の非定額課金体系で運用される複数の種類のサーバであってその相互間における課金金額の大小関係が通信態様(メッセージ数等)に応じて変更され得る複数の種類のサーバ50,60の中から、アクセス要求の通信態様情報に基づき、接続要求伝達サーバを決定する。換言すれば、プラットフォームサーバ80は、クラウドサーバ90からのアクセス要求にて指定された通信対象デバイスに関する接続要求用通信ルート(メッセージ送信用通信ルート)を、複数の種類の通信ルートの中から、アクセス要求の通信態様情報に基づき選択する。詳細には、複数の種類のサーバ50,60のうちの時間課金サーバ50を経由する第1ルートと、当該複数の種類のサーバのうちのデータ量課金サーバ60のサーバを経由する第2ルートとの中から、その利用料金が最も安価なルートが選択される。端的に言えば、アクセス要求にて指定された通信対象デバイスの数に基づき、2種類のサーバのうち、より安価なサーバが選択される。したがって、通信システム1の運用コストを更に抑制することが可能である。
<2.第2実施形態>
第2実施形態は、第1実施形態の変形例である。以下では、第1実施形態との相違点を中心に説明する。
上記第1実施形態では、プラットフォームサーバ80は、一のアクセス要求の受信に応答して通信ルート選択処理(ステップS21〜S23)(図4)を直ちに実行するとともに、選択された接続要求用通信ルートを介してトンネル接続要求を送信する処理(ステップS24,S28)を直ちに開始しているが、これに限定されない。
たとえば、プラットフォームサーバ80は、一のアクセス要求の受信時点から所定期間T2(たとえば12時間)が経過するまで待った後に、当該所定期間内に更に受け付けられた別のアクセス要求をも含む複数のアクセス要求に含まれる複数の通信対象デバイスに関する通信ルート選択処理等を実行するようにしてもよい。詳細には、当該複数のアクセス要求にて通信対象として指定された複数の通信対象デバイスに関する接続要求用通信ルートが、当該複数のアクセス要求の通信態様情報に基づき選択されてもよい。そして、選択された接続要求用通信ルートを介して、当該複数の通信対象デバイスに対応する各通信対象ゲートウエイに対してトンネル接続要求を送信する処理が開始されるようにしてもよい。これによれば、より多数の通信対象デバイスに関するトンネル接続要求を伝達するための接続要求伝達サーバを、より適切に決定することが可能である。特に、より多数のトンネル接続要求を纏めて送信することによって、利用料金を抑制することが可能になる。換言すれば、通信システム1の運用コストをさらに抑制することが可能である。
第2実施形態では、このような改変例について説明する。
図13は、第2実施形態に係るプラットフォームサーバ80の動作を示すフローチャートである。
図5(第1実施形態に係る動作を示すフローチャート)と比較すると判るように、図13においては、ステップS12,S14,S15が追加されている。
プラットフォームサーバ80は、クラウドサーバ90からの一のアクセス要求をステップS11にて受信(時刻t1)した後、ステップS12,S14の待機ループにて所定期間T2(たとえば12時間)が経過するまで待機する。また、この待機期間T2において更に別のアクセス要求が受信されると、ステップS14からステップS15に進む。ステップS15では、追加受信されたアクセス要求にて通信対象として指定されたデバイスを通信対象デバイスに追加する処理が実行される。
その後、一のアクセス要求の受信時点t1から所定期間T2が経過すると、ステップS21以降に進む。ステップS21〜S23では、追加されたデバイスを含む通信対象デバイスに関する接続要求用通信ルートの選択処理が実行される。
その後、第1実施形態と同様に、ステップS24の処理、あるいはステップS26,S28の処理が、ステップS23での選択結果に応じて実行される。
このような動作によれば、より多数の通信対象デバイスに関するトンネル接続要求を伝達するための接続要求伝達サーバを、より適切に決定することが可能である。具体的には、複数のアクセス要求に関する処理を纏めて実行することによって通信頻度を高めることが可能である。比較的多数のトンネル接続要求を纏めて(集中的に)送信することによれば、同じ数のトンネル接続要求を散発的に送信する場合に比べて、通信システム1の運用コストをさらに抑制することが可能である。例えば、短時間の間に、少数の通信対象デバイスを指定するアクセス要求を複数受信した場合、仮に個々のアクセス要求について上記両料金を算出すると第2ルート(データ量課金サーバ経由を経由するルート)の方が低額と判断される状況であったとしても、当該複数のアクセス要求をまとめて上記両料金を算出すると通信対象デバイスの総数(当該複数のアクセス要求をまとめることによって増大したデバイス総数)によっては第1ルート(時間課金サーバを経由するルート)の方が低額になることがある。本実施形態では、所定時間T2の期間に受信したアクセス要求をまとめることにより、上記のような場合に、低額な第1ルートが選択されるようになる。
<第2実施形態の変形例>
上記第2実施形態では、所定期間T2として、全てのアクセス要求に対して同じ値が設定されているが、これに限定されない。アクセス要求の種類に応じた所定期間T2が、アクセス要求ごとに設定されてもよい。たとえば、所定期間T2は、アクセス要求の種類の緊急度合いに応じた長さに変更(設定)されてもよい。
図14は、このような変形例に関する動作を示すフローチャートである。図13と比較すると判るように、ステップS12bにおいて、緊急度合いに応じた長さを有する期間が所定期間T2として設定され且つ当該所定期間T2の経過の有無が判定されている。
図15は、アクセス要求の種類と所定期間(待機期間)T2との関係を予め規定したデータテーブル320を示す図である。当該データテーブル320は、プラットフォームサーバ80内に格納される。
受信されたアクセス要求の種類と当該データテーブル320とに基づいて、各アクセス要求向けの待機期間T2が決定される。
たとえば、アクセス種類「セキュリティ脆弱性対策のファームウエア更新指示」のアクセス要求は、比較的高い緊急度を有すると判断され、その待機期間T2は「10分」(比較的短い期間)に設定される。逆に、アクセス種類「ログアップロード指示」(デバイス10内のログデータをクラウドサーバ90にアップロードすべき旨の指示)のアクセス要求は、比較的低い緊急度を有すると判断され、その待機期間T2は「24時間」(比較的長い期間)に設定される。このように、各アクセス要求の緊急度に応じて、待機期間T2の長さが決定される。詳細には、各アクセス要求に関する待機期間T2は、当該アクセス要求の緊急度合いが高い程、短い時間に変更される。
そして、当該待機期間T2の経過の有無がステップS12bにて判定される。待機期間T2が経過した旨が判定されると、ステップS21以降に進み、第2実施形態と同様の動作が実行されればよい。
なお、ステップS12b,S14の待機ループで別のアクセス要求が追加受信された場合には、追加受信された当該アクセス要求についての所定期間T2の経過の有無もがステップS12bにて判定されることが好ましい。そして、いずれかのアクセス要求の受信時点からそのアクセス要求に対応する待機期間T2が経過した時点で、ステップS21以降に進むようにすればよい。
また、ここでは、最も短い待機期間T2は「10分」に設定されているが、これに限定されず、最も短い待機期間T2は「0分」(換言すれば、「即時実行すべき旨」)に設定されてもよい。
また、第2実施形態およびその変形例では、プラットフォームサーバ80は、単一のクラウドサーバ90からのアクセス要求を受信しているが、これに限定されず、プラットフォームサーバ80は、複数のクラウドサーバ90からのアクセス要求を受信してもよい。そして、当該複数のクラウドサーバ90からの複数のアクセス要求にて指定された複数の通信対象デバイスに関する接続要求用通信ルートが、当該複数のアクセス要求の通信態様情報に基づき選択されるようにしてもよい。
<3.第3実施形態>
第3実施形態は、第1実施形態の変形例である。以下では、第1実施形態との相違点を中心に説明する。
この第3実施形態では、プラットフォームサーバ80は、一のアクセス要求を含む所定数M1(たとえば10個)のアクセス要求が受信された時点で、当該所定数M1のアクセス要求に含まれる複数の通信対象デバイスに関する接続要求用通信ルートを、所定数M1のアクセス要求の通信態様情報に基づき選択する。詳細には、当該所定数M1のアクセス要求にて通信対象として指定された複数の通信対象デバイスに関する接続要求用通信ルートが、当該所定数M1のアクセス要求の通信態様情報に基づき選択される。そして、選択された接続要求用通信ルートを介して、当該複数の通信対象デバイスに対応する各通信対象ゲートウエイに対してトンネル接続要求を送信する処理が開始される。これによれば、より多数の通信対象デバイスに関するトンネル接続要求を伝達するための接続要求伝達サーバを、より適切に決定することが可能である。特に、より多数のトンネル接続要求を纏めて送信することによって、利用料金を抑制することが可能になる。換言すれば、通信システム1の運用コストをさらに抑制することが可能である。
第3実施形態では、このような改変例について説明する。
図16は、第3実施形態に係るプラットフォームサーバ80の動作を示すフローチャートである。
図16においては、図5(第1実施形態に係る動作を示すフローチャート)と比較すると判るように、ステップS13,S14,S15が追加されている。
プラットフォームサーバ80は、クラウドサーバ90からの一のアクセス要求をステップS11にて受信した後、ステップS13,S14の待機ループにて、アクセス要求の受信数が所定数M1(たとえば10個)に到達するまで待機する。また、この待機期間において更に別のアクセス要求が受信されると、ステップS14からステップS15に進む。ステップS15では、追加受信されたアクセス要求にて通信対象として指定されたデバイスを通信対象デバイスに追加する処理が実行される。
その後、所定数M1のアクセス要求の受信数が所定値Mに到達すると、ステップS21以降に進む。ステップS21〜S23では、追加されたデバイスを含む通信対象デバイスに関する接続要求用通信ルートの選択処理が実行される。
その後、第1実施形態と同様に、ステップS24の処理、あるいはステップS26,S28の処理が、ステップS23での選択結果に応じて実行される。
このような動作によれば、複数のアクセス要求に関する処理を纏めて実行することによって、第2実施形態と同様の効果を得ることが可能である。
<第3実施形態の変形例>
上記第3実施形態では、所定数M1のアクセス要求数に関して、接続要求用通信ルートの選択処理が纏めて実行されているが、これに限定されない。少なくとも1つのアクセス要求にて通信対象として指定された所定数M2(たとえば1000個)の通信対象デバイスに関して、接続要求用通信ルートの選択処理が纏めて実行されてもよい。
具体的には、プラットフォームサーバ80は、所定数以上の通信対象デバイスに対する少なくとも1つのアクセス要求が受信された時点で、当該少なくとも1つのアクセス要求にて通信対象として指定されている複数の通信対象デバイスに関する接続要求用通信ルートの選択処理を実行してもよい。換言すれば、受信された1又は複数のアクセス要求にて通信対象として指定されている複数の通信対象デバイスの合計数(指定デバイス総数)が所定数M2以上であるときに、当該複数の通信対象デバイスに関する接続要求用通信ルートの選択処理が実行されてもよい。
<第3実施形態の他の変形例>
また、第3実施形態の態様は、第2実施形態の態様と組み合わせて実行されてもよい。具体的には、図17に示されるように、待機期間T2の経過時点とアクセス要求数の所定数M1への到達時点とのうちの早い方の時点で、それまでに受信されたアクセス要求にて通信対象として指定されている複数の通信対象デバイスに関する接続要求用通信ルートの選択処理が実行されてもよい。図17では、ステップS12b,S13,S14の待機ループが示されている。図17に示されるように、ステップS12bにて所定期間T2の経過が判定されるか或いはステップS13にてアクセス要求数が所定値M1に到達した時点で、接続要求用通信ルートの選択処理等が実行されてもよい。なお、ステップS13においては、アクセス要求の受信数が所定数M1に到達したか否かが判定されてもよく、および/または、指定デバイス総数が所定数M2に到達したか否かが判定されてもよい。
<4.第4実施形態>
第4実施形態は、第1実施形態〜第3実施形態等の変形例である。以下では、第1実施形態との相違点を中心に説明する。
上記各実施形態では、プラットフォームサーバ80は、少なくとも1つのアクセス要求の受信に応じて通信ルート選択処理(ステップS21〜S23)を実行するとともに、選択された接続要求用通信ルートを介してトンネル接続要求を送信する処理(ステップS24,S28)を開始している。
その後、当該少なくとも1つのアクセス要求(第1のアクセス要求とも称する)に関する全てのトンネル接続要求の送信処理が完了するまでに新たなアクセス要求(第2のアクセス要求とも称する)が更に受信される場合には、当該新たなアクセス要求の受信時点で送信未完了のトンネル接続要求に対応する通信対象デバイスをも考慮して、通信ルート選択処理が再び実行されてもよい。具体的には、第1のアクセス要求における少なくとも1つの通信対象デバイスのうち「未完了デバイス」と第2のアクセス要求における通信対象デバイスとに関する接続要求用通信ルートが、第1のアクセス要求の通信態様情報と第2のアクセス要求の通信態様情報とに基づき、複数の種類の通信ルートの中から選択されてもよい。ここで、「未完了デバイス」は、第1のアクセス要求にて通信対象として指定されていた通信対象デバイスのうち、当該第1のアクセス要求に応じたトンネル接続要求の送信処理が未完了の通信対象デバイスである。
第4実施形態では、このような態様について図18を参照しながら説明する。図18は、第4実施形態に係るプラットフォームサーバ80の動作を示すフローチャートである。
第1のアクセス要求(少なくとも1つのアクセス要求)に関する通信ルート選択処理が実行され(ステップS21〜S23)、トンネル接続要求が開始(ステップS24,S28)されると、新たなアクセス要求の待機処理(ステップS31,S32)が実行される。
ステップS31,S32の待機ループにおける待機中において、第1のアクセス要求にて指定された全ての通信対象デバイスに関するトンネル接続要求の送信が完了した旨がステップS32で判定されると、図18の処理は修了する。
一方、ステップS31,S32の待機ループにおける待機中において、第1のアクセス要求にて指定された全ての通信対象デバイスに関するトンネル接続要求の送信が完了するまでに、新たなアクセス要求がプラットフォームサーバ80にて受信された際には、ステップS31からステップS33に進む。ステップS33では、通信ルートの再決定処理を実行する旨を決定し、ステップS21に戻る。
ステップS21に戻った後の再決定処理(S21〜S23)(再選択処理とも称する)では、第1のアクセス要求にて指定されていた全ての通信対象デバイスのうち「未完了デバイス」(残余の通信対象デバイスと称する)と第2のアクセス要求にて指定されている全ての通信対象デバイスとに関する接続要求用通信ルートが、第1のアクセス要求の通信態様情報と第2のアクセス要求の通信態様情報とに基づき、複数の種類の通信ルートの中から選択される。
その後のステップS24あるいはステップS28では、複数の種類の通信ルートの中から再決定処理にて選択された接続要求用通信ルートを介して、未完了デバイスと第2のアクセス要求における通信対象デバイスとにそれぞれ対応する通信対象ゲートウエイに対してトンネル接続要求を送信する送信処理が開始される。
上記再決定処理においては、たとえば、第1のアクセス要求にて通信対象として指定されていた1000台の通信対象デバイスのうち850台が未完了デバイスであるときには、第2のアクセス要求にて指定されている3台の通信対象デバイと合わせて、853台の通信対象デバイスが存在する旨が判定される。そして、当該853台の通信対象デバイスに関するトンネル接続要求を送信するための最適な通信ルートが選択される。
より詳細には、「1000台」の通信対象デバイスに関する接続要求用通信ルートとして、時間課金サーバ50を経由する第1ルートが選択されていた場合、再決定処理において、「853台」の通信対象デバイスに関する接続要求用通信ルートとして、当該時間課金サーバ50を経由する第1ルートが引き続き選択される。これによれば、より多数の通信対象デバイスを纏めて処理することによって、運用コストをさらに低減することが可能である。
<5.第5実施形態>
上記各実施形態では、通信システム1は、トンネル接続要求の通信用のサーバ(接続要求伝達サーバ)として上述の複数の種類のサーバを選択的に利用可能なデバイス(換言すれば、上述の複数の通信ルートを選択的に利用可能なデバイス)のみが、アクセス要求にて通信対象デバイスとして指定される態様が例示されている。ただし、これに限定されず、比較例に係る固定運用サーバ(50x等)のみをトンネル接続要求の通信用のサーバとして利用可能なデバイスもが、アクセス要求にて通信対象デバイスとして指定されてもよい。
第5実施形態では、デバイス10として2つのタイプのデバイスが存在する。具体的には、「第1タイプデバイス」(接続要求伝達サーバ(トンネル接続要求の通信用のサーバ)として上述の複数の種類の非定額課金サーバ(50,60)を選択的に利用可能なデバイス)と、「第2タイプデバイス」(固定運用サーバ(50x等)のみを接続要求伝達サーバとして利用可能なデバイス)とが存在する。第2タイプデバイスは、比較例に係るデバイスに相当し「旧型デバイス」とも称される。一方、第1タイプデバイスは、上記各実施形態に係る思想を適用することが可能な新しいタイプのデバイスであり、「新型デバイス」とも称される。
図20は、第5実施形態に係るプラットフォームサーバ80の動作を示すフローチャートである。また、図21は、第5実施形態に係る通信システム1の概略構成を示す図である。
図21に示されるように、第5実施形態に係る通信システム1では、第1実施形態等と同様にデータ量課金サーバ60および時間課金サーバ50が設けられる。さらに、旧型デバイスに関する接続要求伝達サーバとして利用される固定運用サーバ150(XMPPサーバ50x,50y等)も設けられる。
ここでは、時間課金サーバ50および固定運用サーバ150は、いずれもXMPPサーバである。ただし、時間課金サーバ50は時間課金制のサーバであり、通常時(非使用時)には、非稼働状態(非起動状態)を有している(図21参照)。図21では、時間課金サーバ50を示す矩形が破線で表現されることによって、時間課金サーバ50が非稼働状態を有していることが示されている。詳細には、第1ルートが接続要求用通信ルートとして選択されていない場合、時間課金サーバ50は稼働していない。これに対して、第1ルートが接続要求用通信ルートとして選択された場合、時間課金サーバ50は起動される。時間課金サーバ50の起動後(起動完了後)において時間課金サーバ50が稼働状態を有する場合、時間課金サーバ50は新型デバイス(10a,10b,10c等)に対応するゲートウエイ(新型対応ゲートウエイとも称する)(30a,30b等)からの通信を許可する。一方、固定運用サーバ150は、常時、稼働状態を有している。固定運用サーバ150は、旧型デバイス(10x,10y等)に対応するゲートウエイ(旧型対応ゲートウエイとも称する)(30x,30y等)からの通信(XMPP接続要求を含む)を常に許可する。
旧型デバイス(10x,10y等)に関連(対応)付けられた各ゲートウエイ30(30x,30y等)は、対応する固定運用サーバ150(XMPPサーバ50x,50y等)との間に、XMPP接続を常時形成している。詳細には、まず各ゲートウエイ30(30x,30y等)が、その起動時等において、対応する固定運用サーバ150との間にXMPP接続を形成すべくXMPP接続要求(「メッセージセッションの確立要求」とも称される)を当該固定運用サーバ150に送信する。当該固定運用サーバ150は常時稼働状態を有するので、固定運用サーバ150とゲートウエイ30との間におけるXMPP接続(メッセージセッション)が確立される(図21)。プラットフォームサーバ80は、固定運用サーバ150を経由して、旧型デバイスに関連付けられたゲートウエイ30(30x,30y等)に対してXMPPプロトコルによるトンネル接続要求を送信することが可能である。
一方、新型デバイス(10a,10b,10c等)に関連(対応)付けられた各ゲートウエイ30(30a,30b等)は、普段は(初期状態等においては)、対応する時間課金サーバ50との間にXMPP接続を形成していない。詳細には、各ゲートウエイ30(30a,30b等)が、対応する時間課金サーバ50との間にXMPP接続を形成すべくXMPP接続要求を所定時間間隔で当該時間課金サーバ50に送信しても、当該時間課金サーバ50は稼働状態を有していないので、時間課金サーバ50とゲートウエイ30との間におけるXMPP接続は確立されない(図21)。
その後、後述するように、時間課金サーバ50が新型デバイスに関する接続要求伝達サーバとして選択(決定)された場合、プラットフォームサーバ80およびサービス起動用サーバ40により時間課金サーバ50が起動される。時間課金サーバ50が起動され稼働状態に遷移する(図23参照)と、新型デバイス10と当該新型デバイス10に対応する時間課金サーバ50との間に常時接続(XMPP接続)が確立され、当該常時接続(メッセージセッション)がトンネル接続要求の通信用ルート(ファイアウォール通過用通信ルート)の一部として確保される。プラットフォームサーバ80は、起動した時間課金サーバ50を経由して(換言すれば、XMPP接続を利用して)、新型デバイスに関連付けられたゲートウエイ30に対してXMPPプロトコルによるトンネル接続要求を送信(図24参照)することが可能である。
なお、データ量課金サーバ60は、上述のように常時稼働状態を有しており、プラットフォームサーバ80は、データ量課金サーバ60を経由して、新型デバイスに関連付けられたゲートウエイ30に対してMQTTプロトコルによるトンネル接続要求を送信することも可能である。
次に図20を参照しながら、第5実施形態の動作について説明する。
第5実施形態のステップS11(S11b)においては、上記第1実施形態等と同様にしてアクセス要求(デバイスリスト300を含む)が受信される。ただし、第5実施形態においては、図25に示されるように、各デバイスのタイプ(旧型/新型)の情報もがデバイスリスト300にて規定されているものとする。当該情報を利用することによって、各デバイスが新型デバイスであるか旧型デバイスであるかが容易に判別される。なお、これに限定されず、各デバイスのタイプ(旧型/新型)の情報は、プラットフォームサーバ80内に予め格納されていてもよい。
ステップS11bにおいて、プラットフォームサーバ80は、アクセス要求のデバイスリスト300(図25参照)にて通信対象として指定された複数の通信対象デバイスの中から、新型デバイスを抽出する。換言すれば、アクセス要求のデバイスリスト300(図25参照)にて通信対象として指定された複数の通信対象デバイスに旧型デバイスが含まれている場合、ステップS21,S22,S23の処理における対象デバイスから、当該旧型デバイスが除外される。具体的には、新型デバイスと旧型デバイスとのうち新型デバイスのみを対象として(旧型デバイスを除外して)、通信対象デバイス数等が算出される。
たとえば、アクセス要求のデバイスリスト300にて、100個の旧型デバイスおよび700個の新型デバイス(合計800個のデバイス)が通信対象デバイスとして指定されている場合、新型デバイスの数「700」個(合計デバイス数「800」個から旧型デバイスの数「100」個を差し引いた数に相当する個数)が、ステップS21,S22,S23で利用されるデバイス(料金算定対象デバイスとも称する)の数として算出される。
そして、ステップS21,S22,S23では、新型デバイスの数(たとえば、「700」個)に応じた接続要求用通信ルートが選択される。
その後、第1実施形態と同様に、ステップS24の処理、あるいはステップS26,S28の処理が、ステップS23での選択結果に応じて実行される。
たとえば、データ量課金サーバ60が新型デバイスに関する接続要求伝達サーバとして選択(決定)された場合、図22に示されるように、プラットフォームサーバ80は、データ量課金サーバ60を経由して、新型デバイスに関連付けられたゲートウエイ30(30a,30b等)に対してMQTTプロトコルによるトンネル接続要求を送信する(ステップS24)。なお、上述のように、データ量課金サーバ60は、(時間課金サーバ50とは異なり、)常時稼働状態を有している。
一方、時間課金サーバ50が新型デバイスに関する接続要求伝達サーバとして選択(決定)された場合、まず図23にも示されるように、プラットフォームサーバ80は、(未だ起動されていなかった)時間課金サーバ50を起動する(ステップS26)。具体的には、プラットフォームサーバ80は、時間課金サーバ50の起動依頼をサービス起動用サーバ40に対して送信し、当該起動依頼を受信したサービス起動用サーバ40が時間課金サーバ50を起動する。その後、起動した時間課金サーバ50がゲートウエイ30からのXMPP接続要求を受信することによって、時間課金サーバ50とゲートウエイ30との間にメッセージセション(XMPP接続)が確立される。詳細には、ゲートウエイ30は、時間課金サーバ50に対して所定時間間隔でXMPP接続要求を送信しており、当該XMPP接続要求が、起動後の時間課金サーバ50によって受信されることによって、当該メッセージセション(XMPP接続)が確立される。時間課金サーバ50の起動に応じて当該メッセージセッションが確立されると、プラットフォームサーバ80は、当該メッセージセッションを利用して、新型デバイスに関連付けられたゲートウエイ30(30a,30b等)に対してXMPPプロトコルによるトンネル接続要求を送信する(ステップS28)(図24も参照)。
なお、図20のフローチャートには示されていないが、各旧型デバイスに関しては、各旧型デバイス(10x,10y等)に対応する各ゲートウエイ(30x,30y等)と当該各ゲートウエイに対応する固定運用サーバ150との間に確立されているメッセージセッション(XMPP接続)を介して、トンネル接続要求がプラットフォームサーバ80から当該各ゲートウエイへと送信される。詳細には、データ量課金サーバ60が新型デバイスに関する接続要求伝達サーバとして選択(決定)された場合(図22参照)と、時間課金サーバ50が新型デバイスに関する接続要求伝達サーバとして選択(決定)された場合(図24参照)とのいずれにおいても、旧型デバイスに関しては固定運用サーバ150が接続要求伝達サーバとして利用される。
以上のような動作によれば、新型デバイスと旧型デバイスとが混在する通信システム1において、各タイプのデバイスに関するトンネル接続要求を伝達するための接続要求伝達サーバを、より適切に決定することが可能である。
なお、第5実施形態に係る思想を第2〜第4実施形態等にそれぞれ適用してもよい。その場合、ステップS11(図13〜図18等)およびステップS31(図18等)において、ステップS11b(図20)と同様の動作(新型デバイスの抽出処理(換言すれば、旧型デバイスの除外処理))が行われればよい。そして、待機期間T2の長さ(第2実施形態等参照)および/またはデバイス数が所定数に到達したこと(第3実施形態等参照)等が、除外後のデバイス(新型デバイスのみ)に基づいて判定されればよい。
次述する第6実施形態に関しても同様であり、第6実施形態に係る思想を第2〜第4実施形態等にそれぞれ適用してもよい。
<6.第6実施形態>
第6実施形態は、第5実施形態の変形例である。以下、第5実施形態との相違点を中心に説明する。
図26は、第6実施形態に係るプラットフォームサーバ80の動作を示すフローチャートである。また、図27は、第6実施形態に係る通信システム1の概略構成を示す図である。
第6実施形態に係る通信システム1においても、新型デバイス(10a,10b,10c等)と旧型デバイス(10x,10y等)とが混在している。ただし、第6実施形態においては、図27に示されるように、管理用サーバ群200は、XMPPサーバに関する負荷分散サーバ70をも備えている。負荷分散サーバ(ロードバランササーバあるいは単にロードバランサとも称する)70は、複数の接続要求伝達サーバ(詳細には、複数のXMPPサーバ)の相互間における負荷分散処理を実行する装置である。なお、当該ロードバランサ(負荷分散サーバ)70による負荷分散処理の対象装置(接続要求伝達サーバ)は、所定プロトコル(ここではXMPP)によるメッセージセッションを各ゲートウエイとの間で確立してトンネル接続要求を伝達することが可能な装置である。
たとえば、ロードバランサ70は、複数の固定運用サーバ150が稼働している状況において、各旧型対応ゲートウエイ(30x,30y等)と接続すべきXMPPサーバ(接続要求伝達サーバ)を、複数の固定運用サーバ150の中から割り当てる処理を実行する。また、ロードバランサ70は、複数の時間課金サーバ50が稼働している状況において、各新型対応ゲートウエイ(30a,30b等)と接続すべきXMPPサーバを、複数の時間課金サーバ50の中から割り当てる処理をも実行する。さらに、ロードバランサ70は、1以上の固定運用サーバ150と1以上の時間課金サーバ50とを含む複数のXMPPサーバが稼働している状況において、各新型対応ゲートウエイ(あるいは旧型対応ゲートウエイ)と接続すべきXMPPサーバを、複数のXMPPサーバの中から割り当てる処理をも実行する。
プラットフォームサーバ80は、XMPPサーバ(固定運用サーバ150および/または時間課金サーバ50)に対する送信処理(トンネル接続要求の送信処理等)を、ロードバランサ70を介して行う。また、各ゲートウエイ30も、当該XMPPサーバに対する送信処理(XMPP接続要求の送信処理等)を、ロードバランサ70を介して行う。特に、ゲートウエイ30からXMPPサーバに対する通信は、ロードバランサ70のIPフィルタ(次述)によって制限される。
ロードバランサ70には、複数のゲートウエイのそれぞれからの通信の許否を規定したIPフィルタ(パケットフィルタ)350(図27参照)が設けられている。IPフィルタ350には、初期状態において、旧型デバイスに対応するゲートウエイ(旧型対応ゲートウエイ)が「通信許可装置」として登録されており且つ新型デバイスに対応するゲートウエイ(新型対応ゲートウエイ)が「通信不許可装置」として登録されている。詳細には、旧型対応ゲートウエイのIPアドレスが「通信許可装置」のIPアドレスとして登録されており、新型対応ゲートウエイのIPアドレスが「通信不許可装置」のIPアドレスとして登録されている。このようなIPフィルタ350によるフィルタリング機能によって、初期状態(図27参照)においては旧型対応ゲートウエイからの通信は許可され且つ新型対応ゲートウエイからの通信は許可されない。
この実施形態では、各ゲートウエイ30は、ロードバランサ70に対して、XMPPサーバ(固定運用サーバ150あるいは時間課金サーバ50)とのXMPP接続の確立要求(XMPP接続要求)を(所定時間間隔で)送信する。ただし、上述のIPフィルタ350によるフィルタリング機能によって、初期状態においては旧型対応ゲートウエイからの通信は許可され且つ新型対応ゲートウエイからの通信は許可されない。特に、接続要求用通信ルートとして第1ルートが選択されていない場合、新型対応ゲートウエイ30(30a,30b等)からロードバランサ70への通信は、許可されない。また、後述するように、接続要求用通信ルートとして第1ルートが選択されると、IPフィルタ350が書き換えられ、新型対応ゲートウエイ30(30a,30b等)からロードバランサ70への通信が許可される。なお、旧型デバイスに対応するゲートウエイ(旧型対応ゲートウエイ)からの通信は常に許可される。
旧型対応ゲートウエイからの通信は(常に)許可されるので、旧型対応ゲートウエイ30(30x,30y等)からのXMPP接続要求がロードバランサ70によって(常に)受信される。そして、ロードバランサ70は、当該XMPP接続要求に応じた割り当て先のXMPPサーバ(固定運用サーバ150等)を(負荷分散を図りつつ)決定し、当該XMPP接続要求を割り当て先のXMPPサーバに振り分ける。これに応じて、旧型対応ゲートウエイ30と割り当て先のXMPPサーバとの間でXMPP接続が確立される。このようにして、旧型対応ゲートウエイ30は、ロードバランサ70の管理下のいずれかのXMPPサーバとの間でメッセージセッションを確立することができる。なお、ロードバランサ70は、旧型対応ゲートウエイ30と当該旧型対応ゲートウエイ30に対して割り当てたXMPPサーバとの対応関係を記憶しておく。
その後、プラットフォームサーバ80がロードバランサ70に対して旧型デバイスに関するトンネル接続要求を送信すると、当該トンネル接続要求は、或るメッセージセッションを経由して、当該旧型デバイスに対応するゲートウエイ(旧型対応ゲートウエイ)30に伝達される。この際、ロードバランサ70は、記憶されていた対応関係(旧型対応ゲートウエイ30とその割り当て先のXMPPサーバとの対応関係)に基づいて、トンネル接続要求を、旧型対応ゲートウエイ(旧型デバイスに対応するゲートウエイ)に対する割り当て先のXMPPサーバに振り分ける。これによって、当該トンネル接続要求は、旧型対応ゲートウエイと当該割り当て先のXMPPサーバとの間に形成されたメッセージセッションを経由して、旧型対応ゲートウエイに送信される。
一方、新型対応ゲートウエイ(30a,30b等)からのXMPP接続要求が、初期状態においてロードバランサ70に対して送信される場合、当該XMPP接続要求は、ロードバランサ70のIPフィルタ350でブロックされる。したがって、新型対応ゲートウエイ30は、ロードバランサ70の管理下のいずれのXMPPサーバ(時間課金サーバ50を含む)との間でもメッセージセッションを確立することができない。その結果、この初期状態においては、新型デバイスに関するトンネル接続要求は、データ量課金サーバ60と新型デバイスに対応するゲートウエイ(新型対応ゲートウエイ)30との間のメッセージセッションを介してのみ送信され得る。すなわち、複数の種類の通信ルートのうち、(第1ルートは選択され得ず)第2ルートのみが選択され得る。なお、後述するように、IPフィルタ350の内容が変更されれば、新型対応ゲートウエイ30もロードバランサ70の管理下のいずれかのXMPPサーバとの間でメッセージセッションを確立することが可能になる。
次に図26を参照しながら、第6実施形態の動作について説明する。図26においては、ステップS26b,S27の動作が図20(第5実施形態)と相違する。
ステップS21〜S23において新型デバイスに関する接続要求伝達サーバとして時間課金サーバ50が選択された場合、ステップS23からステップS26(S26b)に進む。ここでは、新型デバイスに関する接続要求伝達サーバとして2台のXMPPサーバを使用すること(換言すれば、増設すべきXMPPサーバの台数)がステップS21〜S23にて併せて決定されているものとする。たとえば、600個の新型デバイスに関するメッセージを送信すべき場合において、全てのメッセージを3秒以内に処理できることが更なる条件として設定されているときには、1台あたり100メッセージ/秒の能力を有するXMPPサーバを2台設けることが決定される。
ステップS26bでは、プラットフォームサーバ80は、アクセス要求にて通信対象として指定された新型デバイスに対応するゲートウエイ(対応ゲートウエイとも称する)との通信に用いる接続要求伝達サーバをサービス起動用サーバ40を介して増設する。具体的には、プラットフォームサーバ80は、時間課金サーバ50の増設依頼をサービス起動用サーバ40に送信する(図29も参照)。詳細には、時間課金サーバ50を起動すべき旨と、起動すべき時間課金サーバ50の台数(料金算出の際に併せて決定された増設台数)とが、サービス起動用サーバ40に伝達される。サービス起動用サーバ40は、当該増設依頼に基づいて時間課金サーバ50を起動する(図29も参照)。起動された時間課金サーバ50は、ロードバランサ70による割り当て処理(負荷分散処理)の対象装置になる。
さらにステップS27において、プラットフォームサーバ80は、ロードバランサ70のIPフィルタ350において対応ゲートウエイのIPアドレスを通信許可対象アドレスとして追加登録する処理を実行する。この追加登録処理は、サービス起動用サーバ40を介して実行される。
具体的には、プラットフォームサーバ80は、ロードバランサ70内のIPフィルタ350の変更依頼(追加対象のIPアドレス等を含む)をサービス起動用サーバ40に送信する(図29も参照)。サービス起動用サーバ40は、当該変更依頼に応じてロードバランサ70に変更指令を送出し、ロードバランサ70内のIPフィルタ350の内容を変更する。具体的には、通信対象デバイスでもある新型デバイスに対応するゲートウエイのIPアドレスを、IPフィルタ350を通過させるアドレス(「通信許可装置」のIPアドレス)として追加登録する。換言すれば、デバイスリスト300内の新型デバイスに対応するゲートウエイが、通信不許可装置から通信許可装置に変更される。
この登録変更(IPフィルタ更新)に応じて、複数のゲートウエイ30のうち、当該新型デバイス(10a,10b,10c等)に対応するゲートウエイ30(新型対応ゲートウエイ30a,30b等)から送信されてくるXMPP接続要求がIPフィルタ350を通過することが可能になるので、ロードバランサ70は、当該XMPP接続要求を受信することが可能になる(図30参照)。ロードバランサ70は、当該XMPP接続要求を受信すると、当該XMPP接続要求に応じた割り当て先のXMPPサーバ(新型対応ゲートウエイに割り当てるべきXMPPサーバ)(時間課金サーバ50等)を決定する。そして、ロードバランサ70は、当該XMPP接続要求を割り当て先のXMPPサーバに振り分ける。これに応じて、新型対応ゲートウエイ30と割り当て先のXMPPサーバ(対応サーバ)との間でXMPP接続が確立される(図30参照)。
このようにして、新型対応ゲートウエイ30は、ロードバランサ70の管理下のいずれかのXMPPサーバ(図30では2台の時間課金サーバ50)との間でメッセージセッション(XMPP接続)を確立する。なお、ロードバランサ70は、新型対応ゲートウエイ30と当該新型対応ゲートウエイ30に対して割り当てたXMPPサーバとの対応関係を記憶しておく。なお、図30では、第5実施形態と同様の対応関係が示されているが、実際には、第5実施形態とは異なる種々の対応関係が構築され得る。
その後、ステップS28において、プラットフォームサーバ80は、ロードバランサ70に対して新型デバイスに関するトンネル接続要求を送信する処理(詳細には、新型デバイスに対応するゲートウエイに対して、トンネル接続要求を送信する処理)を開始する。当該トンネル接続要求は、新型対応ゲートウエイ30とロードバランサ70の管理下のいずれかのXMPPサーバ(図30および図31では2台の時間課金サーバ50)との間で確立されているメッセージセッションを介して、当該新型デバイスに対応するゲートウエイ(新型対応ゲートウエイ)30に送信(伝達)される。この際、ロードバランサ70は、記憶されていた対応関係(新型対応ゲートウエイ30とその割り当て先のXMPPサーバとの対応関係)に基づいて、各トンネル接続要求を、各新型対応ゲートウエイに対する割り当て先のXMPPサーバに振り分ける。これによって、各トンネル接続要求は、各新型対応ゲートウエイとその割り当て先のXMPPサーバとの間に形成されたメッセージセッション(XMPP接続)を経由して、各新型対応ゲートウエイに送信される。換言すれば、当該メッセージセッションがファイアウォール通過用通信ルートの一部として利用されて、トンネル接続要求が送信される。
なお、ステップS21〜S23において新型デバイスに関する接続要求伝達サーバとしてデータ量課金サーバ60が選択された場合には、第5実施形態等と同様に、ステップS24に進む。ステップS24では、データ量課金サーバ60を経由して(MQTT接続を利用して)各トンネル接続要求を各ゲートウエイ30に送信する処理が開始される(図28参照)。当該トンネル接続要求に基づき、各ゲートウエイ(通信対象ゲートウエイ)は、クラウドサーバ90との間でトンネル接続を確立する。
また、図26のフローチャートには示されていないが、各旧型デバイスに関しては、次のような処理が行われる。具体的には、各旧型デバイスに対応する各ゲートウエイと当該各ゲートウエイに対応するXMPPサーバ(固定運用サーバ150等)との間に確立されているメッセージセッション(XMPP接続)を介して、プラットフォームサーバ80から当該各ゲートウエイへとトンネル接続要求が送信される。より詳細には、プラットフォームサーバ80が一のデバイスに対応するゲートウエイ(対応ゲートウエイ)30へのメッセージ(トンネル接続要求)の送信依頼をロードバランサ70に送信すると、ロードバランサ70が、当該対応ゲートウエイ30に対応するXMPPサーバ50を特定し、特定されたXMPPサーバ50を当該送信依頼に対して割り当てる。そして、割り当てられた当該XMPPサーバ50と当該対応ゲートウエイとの間に予め確立されているメッセージセッション(XMPP接続)を介して、当該メッセージ(トンネル接続要求)が対応ゲートウエイ30へと送信される。このように、旧型デバイスに関しては固定運用サーバ150が接続要求伝達サーバとして利用される。このような動作は、データ量課金サーバ60が新型デバイスに関する接続要求伝達サーバとして選択(決定)された場合(図28参照)と、時間課金サーバ50が新型デバイスに関する接続要求伝達サーバとして選択(決定)された場合(図31参照)とのいずれにおいても、同様に行われる。
<7.第7実施形態>
上記各実施形態においては、1又は複数のアクセス要求にて指定された複数の通信対象デバイスの全てに関して、同じ種類の通信ルートがファイアウォール通過用通信ルート(接続要求用通信ルート)として選択されているが、これに限定されない。
たとえば、複数の通信対象デバイスの一部に関しては第1ルートがファイアウォール通過用通信ルートとして選択され、複数の通信対象デバイスの他の一部に関しては第2ルートがファイアウォール通過用通信ルートとして選択されてもよい。端的に言えば、第1ルートと第2ルートとが併用されてもよい。第7実施形態では、このような態様について説明する。
第7実施形態は、第5実施形態の変形例である。ただし、これに限定されず、第7実施形態に係る思想は、第1〜第4実施形態等に適用されてもよい。
第7実施形態では、図33に示すようなデバイスリスト300を含むアクセス要求が取得されるものとする。このデバイスリスト300においては、各デバイス10に対応するXMPPサーバアドレスもが規定されている。ただし、これに限定されず、上記第1実施形態等と同様に、プラットフォームサーバ80内の格納部に、このような対応関係(デバイスとXMPPサーバアドレスとの対応関係)の情報が予め格納されており、当該格納部から当該情報が取得されてもよい。
図32は、第7実施形態に係る動作を示すフローチャートである。
まず、ステップS11bにおいて、図33に示すようなデバイスリスト300が取得される。デバイスリスト300に含まれる複数のデバイス(通信対象デバイス)は、新型デバイスと旧型デバイスとに大きく分類される。ここでは、合計1003台の全通信対象デバイスのうち、1002台のデバイス(デバイスID:「DEVICE_0001」〜「DEVICE_1000」、「DEVICE_1001」、「DEVICE_1002」)が新型デバイスであり、1台のデバイス(デバイスID:「DEVICE_1003」)が旧型デバイスである。
なお、旧型デバイスは、上述のように、比較例に係る固定運用サーバ(50x等)のみを接続要求伝達サーバ(トンネル接続要求の通信用のサーバ)として利用可能なデバイスである。図33においては、1台の旧型デバイス(デバイスID:「DEVICE_1003」)に対応する固定運用サーバ150のアドレス(「Address_X」)が記述されている。各旧型デバイスに関しては、第5実施形態と同様、各旧型デバイスに対応する固定運用サーバ150を経由して、トンネル接続要求が送信される。
ステップS11bにおいては、さらに、取得されたデバイスリスト300にて通信対象として指定された複数のデバイスのうち、旧型デバイスが除外され、新型デバイスのみが以後の処理対象として決定される。なお、新型デバイスは、上述のように、接続要求伝達サーバとして上述の2種類のサーバ(時間課金サーバ50およびデータ量課金サーバ60)を選択的に利用可能なデバイス(換言すれば、上述の複数の通信ルートを選択的に利用可能なデバイス)である。
ステップS11bの後のステップS19においては、デバイスリスト300から抽出された複数の新型デバイスが、対応する時間課金サーバ50(「対応サーバ」とも称する)を基準にして、更に複数(ここでは3つ)のグループに分類される。「対応サーバ」は、各通信対象デバイスと当該各通信対象デバイスに予め対応付けられた第1の種類のサーバである、とも表現される。
第1のグループは、アドレス「Address_A」を有する時間課金サーバ50に対応するグループである。換言すれば、第1のグループは、アドレス「Address_A」の時間課金サーバ50を接続要求伝達サーバ(メッセージ伝達サーバ)として利用することが予め規定されたデバイス群を有する。第1のグループは、1000台のデバイス(デバイスID「DEVICE_0001」〜「DEVICE_1000」)で構成される。また、第2のグループは、アドレス「Address_B」を有する時間課金サーバ50に対応するグループであり、デバイスID「DEVICE_1001」の1台のデバイスで構成される。また、第3のグループは、アドレス「Address_C」を有する時間課金サーバ50に対応するグループであり、デバイスID「DEVICE_1002」の1台のデバイスで構成される。
このようにして、各通信対象デバイスと各対応サーバとの対応関係に基づき、複数の通信対象デバイス(新型デバイス)が、対応サーバを基準にして複数のグループに分類される。
このような分類処理が実行された後、接続要求用通信ルートの選択処理が、グループごとに実行される。換言すれば、接続要求伝達サーバ(トンネル接続要求の通信用のサーバ)を2種類のサーバ(時間課金サーバ50およびデータ量課金サーバ60)の中から選択する選択処理が、グループ単位で実行される。
具体的には、まず、ステップS20において、第iのグループ(ただし、i=1,2,...)(初期値「1」)が着目対象に設定される。そして、着目されたグループ(着目グループ)に関して、ステップS21〜S28の処理が実行される。ステップS21〜S28の処理は、全てのグループに関する処理が終了した旨がステップS29で判定されるまで繰り返される。全てのグループに関する処理が終了した旨がステップS29で判定されると、図32の処理は終了する。
このような処理によって、図33にも示されるように、第1のグループの新型デバイス(1000台の新型デバイス(「DEVICE_0001」〜「DEVICE_1000」))に関しては、時間課金サーバ50(換言すれば、第1ルート)が選択される。一方、第2のグループの新型デバイス(「DEVICE_1001」)に関しては、データ量課金サーバ60(換言すれば、第2ルート)が選択される。また、第3のグループの新型デバイス(「DEVICE_1002」)に関しても、データ量課金サーバ60(換言すれば、第2ルート)が選択される。
これによれば、複数の通信対象デバイスの全てに関して、同じ種類の通信ルート(たとえば、第1ルート)を接続要求用通信ルートとして選択する場合に比べて、運用コストを一層低減することが可能である。
詳細には、仮に、複数の通信対象デバイスの全て(換言すれば、3つのグループの全て)に関して、いずれも第1ルートが接続要求用通信ルートとして選択される場合を、「比較対象」として想定する。この比較対象では、第2のグループについて「Address_B」の時間課金サーバ50を少なくとも1秒稼働し、且つ、第3のグループについて「Address_C」の時間課金サーバ50を少なくとも1秒稼働することを要する。これらの時間課金サーバ50の稼働に要する料金は、データ量課金サーバ60にて2つのメッセージを送信する料金よりも高い。逆に言えば、上述のように第2のグループと第3のグループとに関しては、1台のデバイス向けの各メッセージ(合計2個のメッセージ)をデータ量課金サーバ60を用いて送信する方が、2台の時間課金サーバ50を1秒ずつ稼働させるために要する料金よりも安い。したがって、運用コストを一層低減することが可能である。
たとえば、上記と同様の条件で料金が計算される場合、第2および第3グループに関する時間課金サーバ50を1秒ずつ稼働させるための課金料金(比較対象)は、「0.00007388」USD(=2×1(秒)×0.00003694(秒/USD))である。一方、第2および第3グループに関するデータ量課金サーバ60の課金料金(第7実施形態)は、「0.000002」USD(=2(メッセージ)×0.000001(USD/メッセージ)であり、上記比較対象に関する金額(「0.00007388」USD)よりも低額である。なお、第1グループに関する時間課金サーバ50の課金料金は、「0.0003694」USD(=1000/100×0.00003694)であり、比較対象と第7実施形態とで共通である。
このように、第7実施形態によれば、運用コストを一層低減することが可能である。特に、比較対象において所定数TH1(図12参照)よりも少ないメッセージの送信のために起動される時間課金サーバ50(「Address_B」,「Address_C」等の時間課金サーバ50)の台数(上記比較対象では2台)が増大するにつれて、運用コストの低減の度合いは大きくなる。換言すれば、所定数TH1(図12参照)よりも少ない台数のデバイスが割り当てられたグループの数が増大するにつれて、運用コストの低減の度合いは大きくなる。
<8.変形例等>
以上、この発明の実施の形態について説明したが、この発明は上記説明した内容のものに限定されるものではない。
たとえば、上記各実施形態においては、ゲートウエイ30がMFPを用いて構築される態様が例示されているが、これに限定されず、ゲートウエイ30は他の装置(単機能プリンタあるいはパーソナルコンピュータ等)を用いて構築されてもよい。
また、上記各実施形態においては、デバイス10としてMFPが例示されているが、これに限定されず、デバイス10はその他の装置(単機能プリンタあるいはパーソナルコンピュータ等)であってもよい。
また、上記実施形態においては、複数の種類のサーバとして、時間課金サーバ50とデータ量課金サーバ60との2種類のサーバを例示したが、これに限定されず、当該複数の種類のサーバは、他の種類のサーバであってもよい。また、複数の種類のサーバは、3種類以上のサーバであってもよい。
1 通信システム
10 デバイス
30 ゲートウエイ
40 サービス起動用サーバ
50 時間課金サーバ
60 データ量課金サーバ
70 ロードバランサ
80 プラットフォームサーバ
90 クラウドサーバ
100 クライアント
150 固定運用サーバ
200 管理用サーバ群
300 デバイスリスト
320 データテーブル
350 IPフィルタ
511 メッセージセッション
FW ファイアウォール

Claims (35)

  1. 通信システムであって、
    ファイアウォールの内側に設けられる複数のデバイスと、
    前記ファイアウォールの内側に設けられ、前記複数のデバイスと前記ファイアウォールの外側に設けられた少なくとも1つのクラウドサーバとの通信を中継する少なくとも1つのゲートウエイと、
    前記ファイアウォールの外側に設けられ、前記複数のデバイスのうちの少なくとも1つの通信対象デバイスに対する少なくとも1つのアクセス要求を前記少なくとも1つのクラウドサーバから受け付けるとともに、複数の種類の通信ルートの中から選択されたメッセージ送信用通信ルートを介して、前記少なくとも1つのアクセス要求にて指定された前記少なくとも1つの通信対象デバイスに対応するゲートウエイに対してメッセージを送信するプラットフォームサーバと、
    を備え、
    前記複数の種類の通信ルートのそれぞれは、互いに異なる非定額課金体系で運用され且つ前記ファイアウォールの外側に設けられる複数の種類のサーバであってその課金金額の大小関係が通信態様に応じて変更され得る複数の種類のサーバのいずれかを経由して、前記ファイアウォールを通過するルートであり、
    前記プラットフォームサーバは、前記少なくとも1つのアクセス要求の通信態様情報に基づき、前記少なくとも1つの通信対象デバイスに関する前記メッセージ送信用通信ルートを前記複数の種類の通信ルートの中から選択することを特徴とする通信システム。
  2. 請求項1に記載の通信システムにおいて、
    前記複数の種類の通信ルートは、前記複数の種類のサーバのうちの第1の種類のサーバを経由して前記ファイアウォールを通過する第1ルートと、前記複数の種類のサーバのうちの第2の種類のサーバを経由して前記ファイアウォールを通過する第2ルートとを有することを特徴とする通信システム。
  3. 請求項2に記載の通信システムにおいて、
    前記第1の種類のサーバは、利用時間に応じて課金される時間課金サーバであり、
    前記第2の種類のサーバは、通信データ量に応じて課金されるデータ量課金サーバであることを特徴とする通信システム。
  4. 請求項3に記載の通信システムにおいて、
    前記プラットフォームサーバは、前記第1ルートが選択される場合、前記第1の種類のサーバの起動依頼を所定の起動用サーバに対して送出して前記第1の種類のサーバを起動させ且つ起動後の前記第1の種類のサーバを経由して前記メッセージを前記少なくとも1つの通信対象ゲートウエイに対して送信する処理を開始することを特徴とする通信システム。
  5. 請求項1から請求項4のいずれかに記載の通信システムにおいて、
    前記プラットフォームサーバは、一のアクセス要求の受信に応答して、前記一のアクセス要求にて通信対象として指定された前記少なくとも1つの通信対象デバイスに関する前記メッセージ送信用通信ルートの選択処理を実行するとともに、選択された前記メッセージ送信用通信ルートを介して前記メッセージを送信する処理を開始することを特徴とする通信システム。
  6. 請求項1から請求項4のいずれかに記載の通信システムにおいて、
    前記プラットフォームサーバは、一のアクセス要求の受信時点から所定期間が経過した後において、前記所定期間内に更に受け付けられた別のアクセス要求をも含む複数のアクセス要求にて通信対象として指定された複数の通信対象デバイスに関する前記メッセージ送信用通信ルートを前記複数のアクセス要求の通信態様情報に基づき選択し、選択された前記メッセージ送信用通信ルートを介して前記メッセージを前記複数の通信対象デバイスに対応する各通信対象ゲートウエイに対して送信する処理を開始することを特徴とする通信システム。
  7. 請求項6に記載の通信システムにおいて、
    前記所定期間は、前記一のアクセス要求の種類に応じた長さに変更されることを特徴とする通信システム。
  8. 請求項6に記載の通信システムにおいて、
    前記所定期間は、前記一のアクセス要求の種類の緊急度合いが高い程、短い時間に変更されることを特徴とする通信システム。
  9. 請求項1から請求項4のいずれかに記載の通信システムにおいて、
    前記プラットフォームサーバは、所定数のアクセス要求が受信された時点で、前記所定数のアクセス要求にて通信対象として指定されている複数の通信対象デバイスに関する前記メッセージ送信用通信ルートを前記所定数のアクセス要求の通信態様情報に基づき選択し、選択された前記メッセージ送信用通信ルートを介して前記メッセージを前記複数の通信対象デバイスに対応する各通信対象ゲートウエイに対して送信する処理を開始することを特徴とする通信システム。
  10. 請求項1から請求項4のいずれかに記載の通信システムにおいて、
    前記プラットフォームサーバは、所定数以上の通信対象デバイスに対する少なくとも1つのアクセス要求が受信された時点で、前記少なくとも1つのアクセス要求にて通信対象として指定されている複数の通信対象デバイスに関する前記メッセージ送信用通信ルートを前記少なくとも1つのアクセス要求の通信態様情報に基づき選択し、選択された前記メッセージ送信用通信ルートを介して前記メッセージを前記複数の通信対象デバイスに対応する各通信対象ゲートウエイに対して送信する処理を開始することを特徴とする通信システム。
  11. 請求項1から請求項4のいずれかに記載の通信システムにおいて、
    前記プラットフォームサーバは、
    一のアクセス要求である第1のアクセス要求に応じて前記メッセージの送信処理が開始された後に前記第1のアクセス要求とは別のアクセス要求である第2のアクセス要求がさらに受け付けられた際には、前記第1のアクセス要求にて指定された複数の通信対象デバイスのうち前記第1のアクセス要求に応じた前記メッセージの送信処理が未完了の通信対象デバイスである未完了デバイスと前記第2のアクセス要求における通信対象デバイスとに関する前記メッセージ送信用通信ルートを、前記第1のアクセス要求の通信態様情報と前記第2のアクセス要求の通信態様情報とに基づき、前記複数の種類の通信ルートの中から選択し、
    選択された前記メッセージ送信用通信ルートを介して、前記未完了デバイスと前記第2のアクセス要求における通信対象デバイスとにそれぞれ対応する通信対象ゲートウエイに対して前記メッセージを送信する送信処理を開始することを特徴とする通信システム。
  12. 請求項2から請求項4のいずれかに記載の通信システムにおいて、
    前記複数のデバイスは、前記メッセージを前記ファイアウォールを通過させて送信するためのサーバであるメッセージ伝達サーバとして前記複数の種類のサーバを選択的に利用可能な第1タイプデバイスと、その運用費用が固定的に発生するサーバである固定運用サーバのみを前記メッセージ伝達サーバとして利用可能な第2タイプデバイスとを含み、
    前記プラットフォームサーバは、前記少なくとも1つのアクセス要求にて指定された通信対象デバイスから前記第2タイプデバイスを除外した残余のデバイスに基づいて、前記メッセージ送信用通信ルートを選択することを特徴とする通信システム。
  13. 請求項12に記載の通信システムにおいて、
    前記固定運用サーバは、常時稼働しており、且つ、前記第2タイプデバイスに対応するゲートウエイからの通信を常に許可し、
    前記第1ルートが前記メッセージ送信用通信ルートとして選択されていない場合、前記第1の種類のサーバは稼働しておらず、
    前記第1の種類のサーバが稼働状態を有する場合、前記第1の種類のサーバは前記第1タイプデバイスに対応するゲートウエイからの通信を許可し、
    前記第1ルートが前記メッセージ送信用通信ルートとして選択された場合、前記第1タイプデバイスに対応する前記第1の種類のサーバが起動し、前記第1タイプデバイスに対応するゲートウエイと前記第1の種類のサーバとの間にメッセージセッションが確立され、当該メッセージセッションが前記メッセージの通信用ルートとして確保されることを特徴とする通信システム。
  14. 請求項12に記載の通信システムにおいて、
    所定プロトコルによるメッセージセッションを各ゲートウエイとの間で確立して前記メッセージを伝達することが可能な複数のメッセージ伝達サーバの相互間における負荷分散処理を実行する負荷分散サーバ、
    をさらに備え、
    前記第1の種類のサーバは、前記所定プロトコルによる前記メッセージセッションを前記第1タイプデバイスに対応するゲートウエイとの間に確立することが可能であり、
    前記負荷分散サーバは、複数のゲートウエイのそれぞれからの通信の許否を規定したIPフィルタを有し、
    前記IPフィルタは、
    前記第2タイプデバイスに対応するゲートウエイからの通信を常に許可し、
    前記メッセージ送信用通信ルートとして前記第1ルートが選択されていない場合、前記第1タイプデバイスに対応するゲートウエイからの通信を許可せず、
    前記プラットフォームサーバは、
    前記メッセージ送信用通信ルートとして前記第1ルートが選択される場合、前記少なくとも1つのアクセス要求にて通信対象として指定された前記第1タイプデバイスに対応するゲートウエイである対応ゲートウエイとの通信に用いる前記メッセージ伝達サーバを増設するとともに、前記負荷分散サーバの前記IPフィルタにおいて前記対応ゲートウエイのIPアドレスを通信許可対象アドレスとして追加登録し、
    前記負荷分散サーバは、前記対応ゲートウエイからの前記所定プロトコルによる前記メッセージセッションの確立要求が前記IPフィルタを通過して受信されると、前記複数のメッセージ伝達サーバの中から、前記対応ゲートウエイに割り当てるべきサーバである対応サーバを決定し、
    前記対応サーバと前記対応ゲートウエイとの間に前記所定プロトコルによる前記メッセージセッションが確立され、
    前記プラットフォームサーバは、前記負荷分散サーバに前記メッセージを送信することによって、前記メッセージセッションを介して前記メッセージを前記対応ゲートウエイに対して送信することを特徴とする通信システム。
  15. 請求項1から請求項13のいずれかに記載の通信システムにおいて、
    前記プラットフォームサーバは、前記少なくとも1つの通信対象デバイスの全てに関して、同じ種類の通信ルートを前記メッセージ送信用通信ルートとして選択することを特徴とする通信システム。
  16. 請求項2から請求項4のいずれかに記載の通信システムにおいて、
    前記プラットフォームサーバは、
    各通信対象デバイスと前記各通信対象デバイスに予め対応付けられた前記第1の種類のサーバである対応サーバとの対応関係に基づき、前記少なくとも1つのアクセス要求にて通信対象として指定された複数の通信対象デバイスを前記対応サーバを基準にして複数のグループに分類し、
    前記少なくとも1つのアクセス要求の通信態様情報に基づき前記複数の種類の通信ルートの中から前記メッセージ送信用通信ルートを選択する選択処理を、グループごとに実行することを特徴とする通信システム。
  17. 請求項1に記載の通信システムにおいて、
    前記プラットフォームサーバは、各アクセス要求の送信元のクラウドサーバである送信元クラウドサーバとの間でトンネル接続を確立すべき旨のトンネル接続要求を、前記メッセージとして送信し、
    前記メッセージ送信用通信ルートは、トンネル接続要求用通信ルートであり、
    前記トンネル接続要求は、非定額課金体系で運用されるメッセージ伝達サーバと前記少なくとも1つの通信対象デバイスに対応する少なくとも1つの通信対象ゲートウエイとの間で確立されたメッセージセッションを介して、前記少なくとも1つの通信対象ゲートウエイに対して送信され、
    前記トンネル接続要求を受信した通信対象ゲートウエイは、当該トンネル接続要求に基づき、前記通信対象ゲートウエイと前記送信元クラウドサーバとの間でトンネル接続を確立し、前記送信元クラウドサーバと前記通信対象ゲートウエイに対応するデバイスとの通信を中継し、
    前記プラットフォームサーバは、前記少なくとも1つのアクセス要求の通信態様情報に基づき、前記複数の種類のサーバの中から前記メッセージ伝達サーバを決定することを特徴とする通信システム。
  18. ファイアウォールの内側に設けられる複数のデバイスに対する少なくとも1つのアクセス要求を受け付けることが可能であり且つ前記ファイアウォールの外側に設けられるコンピュータに、
    a)前記少なくとも1つのアクセス要求を、前記ファイアウォールの外側に設けられる少なくとも1つのクラウドサーバから受け付けるステップと、
    b)前記少なくとも1つのアクセス要求に応じて、複数の種類の通信ルートの中から選択されたメッセージ送信用通信ルートを介して、前記少なくとも1つのアクセス要求にて指定された前記少なくとも1つの通信対象デバイスに対応するゲートウエイに対してメッセージを送信する処理を開始するステップと、
    を実行させるプログラムであって、
    前記複数の種類の通信ルートのそれぞれは、互いに異なる非定額課金体系で運用され且つ前記ファイアウォールの外側に設けられる複数の種類のサーバであってその課金金額の大小関係が通信態様に応じて変更され得る複数の種類のサーバのいずれかを経由して前記ファイアウォールを通過するルートであり、
    前記ステップb)は、
    b−1)前記少なくとも1つのアクセス要求に応じて、前記少なくとも1つのアクセス要求の通信態様情報に基づき、前記少なくとも1つの通信対象デバイスに関する前記メッセージ送信用通信ルートを前記複数の種類の通信ルートの中から選択するステップと、
    b−2)前記複数の種類の通信ルートの中から選択された前記メッセージ送信用通信ルートを介して、前記少なくとも1つの通信対象デバイスに対応する少なくとも1つの通信対象ゲートウエイに対して前記メッセージを送信する処理を開始するステップと、
    を有することを特徴とするプログラム。
  19. 請求項18に記載のプログラムにおいて、
    前記複数の種類の通信ルートは、前記複数の種類のサーバのうちの第1の種類のサーバを経由して前記ファイアウォールを通過する第1ルートと、前記複数の種類のサーバのうちの第2の種類のサーバを経由して前記ファイアウォールを通過する第2ルートとを有することを特徴とするプログラム。
  20. 請求項19に記載のプログラムにおいて、
    前記第1の種類のサーバは、利用時間に応じて課金される時間課金サーバであり、
    前記第2の種類のサーバは、通信データ量に応じて課金されるデータ量課金サーバであることを特徴とするプログラム。
  21. 請求項20に記載のプログラムにおいて、
    前記ステップb−2)は、
    b−2−1)前記ステップb−1)にて前記第1ルートが選択される場合、前記第1の種類のサーバの起動依頼を所定の起動用サーバに対して送出して、前記第1の種類のサーバを起動させるステップと、
    b−2−2)前記b−2−1)の後、起動した前記第1の種類のサーバを経由して前記メッセージを前記少なくとも1つの通信対象ゲートウエイに対して送信する処理を開始するステップと、
    を有することを特徴とするプログラム。
  22. 請求項18から請求項21のいずれかに記載のプログラムにおいて、
    前記ステップb−1)においては、一のアクセス要求の受信に応答して、前記一のアクセス要求にて通信対象として指定された前記少なくとも1つの通信対象デバイスに関する前記メッセージ送信用通信ルートの選択処理が実行され、
    前記ステップb−2)においては、前記ステップb−1)にて選択された前記メッセージ送信用通信ルートを介して前記メッセージを送信する処理が開始されることを特徴とするプログラム。
  23. 請求項18から請求項21のいずれかに記載のプログラムにおいて、
    前記ステップb−1)においては、一のアクセス要求の受信時点から所定期間が経過した後において、前記所定期間内に更に受け付けられた別のアクセス要求をも含む複数のアクセス要求にて通信対象として指定されている複数の通信対象デバイスに関する前記メッセージ送信用通信ルートが前記複数のアクセス要求の通信態様情報に基づき選択され、
    前記ステップb−2)においては、前記ステップb−1)にて選択された前記メッセージ送信用通信ルートを介して、前記複数の通信対象デバイスに対応する各通信対象ゲートウエイに対して前記メッセージを送信する処理を開始することを特徴とするプログラム。
  24. 請求項23に記載のプログラムにおいて、
    前記所定期間は、前記一のアクセス要求の種類に応じた長さに変更されることを特徴とするプログラム。
  25. 請求項23に記載のプログラムにおいて、
    前記所定期間は、前記一のアクセス要求の種類の緊急度合いが高い程、短い時間に変更されることを特徴とするプログラム。
  26. 請求項18から請求項21のいずれかに記載のプログラムにおいて、
    前記ステップb−1)においては、所定数のアクセス要求が受信された時点で、前記所定数のアクセス要求にて通信対象として指定されている複数の通信対象デバイスに関する前記メッセージ送信用通信ルートが前記所定数のアクセス要求の通信態様情報に基づき選択され、
    前記ステップb−2)においては、前記ステップb−1)にて選択された前記メッセージ送信用通信ルートを介して、前記複数の通信対象デバイスに対応する各通信対象ゲートウエイに対して前記メッセージを送信する処理が開始されることを特徴とするプログラム。
  27. 請求項18から請求項21のいずれかに記載のプログラムにおいて、
    前記ステップb−1)においては、所定数以上の通信対象デバイスに対する少なくとも1つのアクセス要求が受信された時点で、前記少なくとも1つのアクセス要求にて通信対象として指定されている複数の通信対象デバイスに関する前記メッセージ送信用通信ルートが前少なくとも1つのアクセス要求の通信態様情報に基づき選択され、
    前記ステップb−2)においては、前記ステップb−1)にて選択された前記メッセージ送信用通信ルートを介して、前記複数の通信対象デバイスに対応する各通信対象ゲートウエイに対して前記メッセージを送信する処理が開始されることを特徴とするプログラム。
  28. 請求項18または請求項21に記載のプログラムにおいて、
    c)一のアクセス要求である第1のアクセス要求に応じて前記メッセージの送信処理が開始された後に、前記第1のアクセス要求とは別のアクセス要求である第2のアクセス要求をさらに受け付けるステップと、
    d)前記第2のアクセス要求が受け付けられた際において、前記第1のアクセス要求にて指定された複数の通信対象デバイスのうち前記第1のアクセス要求に応じた前記メッセージの送信処理が未完了の通信対象デバイスである未完了デバイスと前記第2のアクセス要求における通信対象デバイスとに関する前記メッセージ送信用通信ルートを、前記第1のアクセス要求の通信態様情報と前記第2のアクセス要求の通信態様情報とに基づき、前記複数の種類の通信ルートの中から選択するステップと、
    e)前記複数の種類の通信ルートの中から前記ステップd)にて選択された前記メッセージ送信用通信ルートを介して、前記未完了デバイスと前記第2のアクセス要求における通信対象デバイスとにそれぞれ対応する通信対象ゲートウエイに対して前記メッセージを送信する送信処理を開始するステップと、
    を前記コンピュータにさらに実行させることを特徴とするプログラム。
  29. 請求項19から請求項21のいずれかに記載のプログラムにおいて、
    前記複数のデバイスは、前記メッセージを前記ファイアウォールを通過させて送信するためのサーバであるメッセージ伝達サーバとして前記複数の種類のサーバを選択的に利用可能な第1タイプデバイスと、その運用費用が固定的に発生するサーバである固定運用サーバのみを前記メッセージ伝達サーバとして利用可能な第2タイプデバイスとを含み、
    前記ステップb−1)においては、前記少なくとも1つのアクセス要求にて指定された通信対象デバイスから前記第2タイプデバイスを除外した残余のデバイスに基づいて、前記メッセージ送信用通信ルートが選択されることを特徴とするプログラム。
  30. 請求項29に記載のプログラムにおいて、
    前記固定運用サーバは、常時稼働しており、且つ、前記第2タイプデバイスに対応するゲートウエイからの通信を常に許可し、
    前記第1ルートが前記メッセージ送信用通信ルートとして選択されていない場合、前記第1の種類のサーバは稼働しておらず、
    前記第1の種類のサーバが稼働状態を有する場合、前記第1の種類のサーバは前記第1タイプデバイスに対応するゲートウエイからの通信を許可し、
    前記ステップb−2)は、
    b−2−1)前記第1ルートが前記メッセージ送信用通信ルートとして前記ステップb−1)にて選択された場合、前記第1タイプデバイスに対応する前記第1の種類のサーバを起動させるステップと、
    b−2−2)前記第1の種類のサーバの起動に応じて、前記第1タイプデバイスに対応するゲートウエイと前記第1の種類のサーバとの間にメッセージセッションが確立されると、確立された当該メッセージセッションを前記メッセージ送信用通信ルートの一部として利用して、前記メッセージを前記少なくとも1つの通信対象ゲートウエイに対して送信するステップと、
    を有することを特徴とするプログラム。
  31. 請求項29に記載のプログラムにおいて、
    前記第1の種類のサーバは、所定プロトコルによるメッセージセッションを前記第1タイプデバイスに対応するゲートウエイとの間に確立することが可能であり、
    各ゲートウエイは、負荷分散サーバに対して前記所定プロトコルによる前記メッセージセッションの確立要求を送信し、
    前記所定プロトコルによる前記メッセージセッションを前記各ゲートウエイとの間で確立して前記メッセージを伝達することが可能な複数のメッセージ伝達サーバの相互間における負荷分散処理を実行する前記負荷分散サーバは、複数のゲートウエイのそれぞれからの通信の許否を規定したIPフィルタを有し、
    前記IPフィルタは、
    前記第2タイプデバイスに対応するゲートウエイからの通信を常に許可し、
    前記メッセージ送信用通信ルートとして前記第1ルートが選択されていない場合、前記第1タイプデバイスに対応するゲートウエイからの通信を許可せず、
    前記ステップb−2)は、
    b−2−1)前記第1ルートが前記メッセージ送信用通信ルートとして前記ステップb−1)にて選択された場合、前記少なくとも1つのアクセス要求にて通信対象として指定された前記第1タイプデバイスに対応するゲートウエイである対応ゲートウエイとの通信に用いるメッセージ伝達サーバを増設するステップと、
    b−2−2)前記第1ルートが前記メッセージ送信用通信ルートとして前記ステップb−1)にて選択された場合、前記負荷分散サーバの前記IPフィルタにおいて前記対応ゲートウエイのIPアドレスを通信許可対象アドレスとして追加登録するステップと、
    b−2−3)前記対応ゲートウエイからの前記所定プロトコルによる前記メッセージセッションの確立要求が前記IPフィルタを通過して受信されることに応じて、前記ステップb−2−1)にて増設された前記第1の種類のサーバであって前記負荷分散サーバによる割り当て処理によって割り当てられた前記第1の種類のサーバと前記対応ゲートウエイとの間に前記メッセージセッションが確立された後、前記負荷分散サーバに前記メッセージを送信することによって、前記メッセージセッションを介して前記メッセージを前記対応ゲートウエイに対して送信するステップと、
    を有することを特徴とするプログラム。
  32. 請求項18から請求項31のいずれかに記載のプログラムにおいて、
    前記ステップb−1)において、前記少なくとも1つの通信対象デバイスの全てに関して、同じ種類の通信ルートが前記メッセージ送信用通信ルートとして選択されることを特徴とするプログラム。
  33. 請求項19から請求項21のいずれかに記載のプログラムにおいて、
    前記ステップb−1)は、
    b−1−1)各通信対象デバイスと前記各通信対象デバイスに予め対応付けられた前記第1の種類のサーバである対応サーバとの対応関係に基づき、前記少なくとも1つのアクセス要求にて通信対象として指定された複数の通信対象デバイスを、前記対応サーバを基準にして複数のグループに分類するステップと、
    b−1−2)前記少なくとも1つのアクセス要求の通信態様情報に基づき前記複数の種類の通信ルートの中から前記メッセージ送信用通信ルートを選択する選択処理を、グループごとに実行するステップと、
    を有することを特徴とするプログラム。
  34. 請求項18に記載のプログラムにおいて、
    前記ステップb−2)において、各アクセス要求の送信元のクラウドサーバである送信元クラウドサーバとの間でトンネル接続を確立すべき旨のトンネル接続要求が、前記メッセージとして送信され、
    前記メッセージ送信用通信ルートは、トンネル接続要求用通信ルートであり、
    前記トンネル接続要求は、非定額課金体系で運用されるメッセージ伝達サーバと前記少なくとも1つの通信対象デバイスに対応する少なくとも1つの通信対象ゲートウエイとの間で確立されたメッセージセッションを介して、前記少なくとも1つの通信対象ゲートウエイに対して送信され、
    前記ステップb−1)において、前記少なくとも1つのアクセス要求の通信態様情報に基づき、前記複数の種類のサーバの中から前記メッセージ伝達サーバが決定されることを特徴とするプログラム。
  35. ファイアウォールの内側に設けられる複数のデバイスに対する少なくとも1つのアクセス要求を受け付けることが可能であり且つ前記ファイアウォールの外側に設けられるプラットフォームサーバであって、
    前記少なくとも1つのアクセス要求を、前記ファイアウォールの外側に設けられる少なくとも1つのクラウドサーバから受け付ける受信手段と、
    前記少なくとも1つのアクセス要求に応じて、複数の種類の通信ルートの中から選択されたメッセージ送信用通信ルートを介して、前記少なくとも1つのアクセス要求にて指定された前記少なくとも1つの通信対象デバイスに対応するゲートウエイに対してメッセージを送信する処理を開始する送信手段と、
    を備え、
    前記複数の種類の通信ルートのそれぞれは、互いに異なる非定額課金体系で運用され且つ前記ファイアウォールの外側に設けられる複数の種類のサーバであってその課金金額の大小関係が通信態様に応じて変更され得る複数の種類のサーバのいずれかを経由して前記ファイアウォールを通過するルートであり、
    前記プラットフォームサーバは、
    前記少なくとも1つのアクセス要求に応じて、前記少なくとも1つのアクセス要求の通信態様情報に基づき、前記少なくとも1つの通信対象デバイスに関する前記メッセージ送信用通信ルートを前記複数の種類の通信ルートの中から選択する選択手段、
    をさらに備え、
    前記送信手段は、前記複数の種類の通信ルートの中から選択された前記メッセージ送信用通信ルートを介して、前記少なくとも1つの通信対象デバイスに対応する少なくとも1つの通信対象ゲートウエイに対して前記メッセージを送信する処理を開始することを特徴とするプラットフォームサーバ。
JP2018072773A 2018-04-04 2018-04-04 通信システム、プラットフォームサーバおよびプログラム Pending JP2019186658A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2018072773A JP2019186658A (ja) 2018-04-04 2018-04-04 通信システム、プラットフォームサーバおよびプログラム
US16/369,180 US11218444B2 (en) 2018-04-04 2019-03-29 Communication route selection based on access request
CN201910254830.XA CN110351099B (zh) 2018-04-04 2019-04-01 通信系统、平台服务器以及计算机可读取的记录介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018072773A JP2019186658A (ja) 2018-04-04 2018-04-04 通信システム、プラットフォームサーバおよびプログラム

Publications (1)

Publication Number Publication Date
JP2019186658A true JP2019186658A (ja) 2019-10-24

Family

ID=68097446

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018072773A Pending JP2019186658A (ja) 2018-04-04 2018-04-04 通信システム、プラットフォームサーバおよびプログラム

Country Status (3)

Country Link
US (1) US11218444B2 (ja)
JP (1) JP2019186658A (ja)
CN (1) CN110351099B (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111464622B (zh) * 2020-03-30 2023-07-14 北京星辰天合科技股份有限公司 分布式存储系统中的卷映射处理方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003087330A (ja) * 2001-09-07 2003-03-20 Naoki Aoyama インターネット接続方法、プロバイダ選択方法
JP2009284011A (ja) * 2008-05-19 2009-12-03 Ntt Docomo Inc パケット転送システム、及びパケット転送方法
JP2015115831A (ja) * 2013-12-12 2015-06-22 コニカミノルタ株式会社 通信システム、管理サーバ、ゲートウエイおよびプログラム
CN105430214A (zh) * 2014-09-11 2016-03-23 柯尼卡美能达株式会社 通信中继装置以及通信中继方法
US20170223112A1 (en) * 2016-01-29 2017-08-03 Konica Minolta, Inc. Communication system, communication relay device, and recording medium

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2394803A (en) * 2002-10-31 2004-05-05 Hewlett Packard Co Management of security key distribution using an ancestral hierarchy
US8931073B2 (en) * 2011-09-20 2015-01-06 Time Warner Cable Enterprises Llc Firewall access control with border gateway protocol attributes
JP5760908B2 (ja) 2011-09-29 2015-08-12 コニカミノルタ株式会社 文書出力システム、印刷管理装置およびプログラム
JP6165468B2 (ja) * 2012-03-05 2017-07-19 東芝メディカルシステムズ株式会社 医用画像処理システム
CN105659634B (zh) * 2013-09-20 2019-11-05 康维达无线有限责任公司 用于接近服务以及物联网服务的联合注册和注销的方法
JP5900456B2 (ja) * 2013-10-09 2016-04-06 コニカミノルタ株式会社 画像処理システム、画像形成装置、中継装置、管理方法、および制御プログラム
JP5962690B2 (ja) * 2014-02-21 2016-08-03 コニカミノルタ株式会社 管理サーバー、接続支援方法および接続支援プログラム
JP5929946B2 (ja) * 2014-02-27 2016-06-08 コニカミノルタ株式会社 画像形成システム、中継サーバー、通信制御方法及びプログラム
JP6311666B2 (ja) * 2015-07-01 2018-04-18 コニカミノルタ株式会社 通信システム、管理サーバおよびプログラム
JP6714839B2 (ja) * 2016-05-06 2020-07-01 コニカミノルタ株式会社 印刷システム、印刷管理サーバ、通信中継装置およびプログラム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003087330A (ja) * 2001-09-07 2003-03-20 Naoki Aoyama インターネット接続方法、プロバイダ選択方法
JP2009284011A (ja) * 2008-05-19 2009-12-03 Ntt Docomo Inc パケット転送システム、及びパケット転送方法
JP2015115831A (ja) * 2013-12-12 2015-06-22 コニカミノルタ株式会社 通信システム、管理サーバ、ゲートウエイおよびプログラム
CN105430214A (zh) * 2014-09-11 2016-03-23 柯尼卡美能达株式会社 通信中继装置以及通信中继方法
JP2016058932A (ja) * 2014-09-11 2016-04-21 コニカミノルタ株式会社 通信中継装置、プログラム及び通信中継方法
US20170223112A1 (en) * 2016-01-29 2017-08-03 Konica Minolta, Inc. Communication system, communication relay device, and recording medium
JP2017135658A (ja) * 2016-01-29 2017-08-03 コニカミノルタ株式会社 通信システム、通信中継装置およびプログラム

Also Published As

Publication number Publication date
CN110351099B (zh) 2024-05-03
US11218444B2 (en) 2022-01-04
US20190312844A1 (en) 2019-10-10
CN110351099A (zh) 2019-10-18

Similar Documents

Publication Publication Date Title
JP5627187B2 (ja) 情報処理装置、情報処理方法及びプログラム
US7584510B2 (en) Network service processing method and system
JP4960812B2 (ja) 画像処理装置、負荷分散システム及び負荷分散プログラム
US9172746B2 (en) Information processing system
CN106330855B (zh) 通信系统、管理服务器以及控制方法
US7830871B2 (en) Communication apparatus, communication method and communication program
US20130100491A1 (en) Print control system, method of controlling printing, and recording medium
JP4474440B2 (ja) 多機能周辺装置(mfp)によるサービスの提供
JP2019186658A (ja) 通信システム、プラットフォームサーバおよびプログラム
JP6127612B2 (ja) 情報処理装置、ジョブ管理プログラム及びジョブ管理システム
JP4780418B2 (ja) クライアント装置、データ処理プログラム
EP2634732A1 (en) Information Processing Method, Information Processor, And Recording Medium
JP2004145610A (ja) 遊休リース機器資産の有効活用方法、リース機器稼動管理サーバおよび遊休リース機器資産活用システム
US10997617B2 (en) Information processing system to determine an optimal number of virtual servers
JP2005309868A (ja) 処理割当管理装置、処理割当管理装置の制御方法、及びプログラム
US9549278B2 (en) Communication system, communication apparatus, methods of controlling same, and storage medium
JP6369273B2 (ja) 印刷制御サーバーおよび印刷制御方法
JP2005182142A (ja) タイムスタンプ発行受付装置、タイムスタンプ押印サービスの代理店システム
JPH11154068A (ja) ネットワーク環境におけるプリントシステム
JP2017199109A (ja) 画像形成システム、画像形成装置、及び管理装置
JP2020154869A (ja) 情報処理システムおよびプログラム
JP4976195B2 (ja) 文書配信システム、文書管理装置、文書配信方法、文書配信制御プログラム及びコンピュータ読み取り可能な記録媒体
JP2008177979A (ja) ネットワーク帯域制御方法、ネットワーク帯域制御プログラム、ネットワーク帯域制御装置
JP2008141665A (ja) サービス連携におけるネットワークサービスプラットフォーム装置、課金システム、課金方法、及び、課金プログラム
JP2024037518A (ja) 情報処理システム、画像形成装置及び管理サーバー

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201223

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210924

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211019

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20220419