JP2020145647A - システム、クライアント端末、制御方法、および、プログラム - Google Patents

システム、クライアント端末、制御方法、および、プログラム Download PDF

Info

Publication number
JP2020145647A
JP2020145647A JP2019042587A JP2019042587A JP2020145647A JP 2020145647 A JP2020145647 A JP 2020145647A JP 2019042587 A JP2019042587 A JP 2019042587A JP 2019042587 A JP2019042587 A JP 2019042587A JP 2020145647 A JP2020145647 A JP 2020145647A
Authority
JP
Japan
Prior art keywords
data
client terminal
transmission
service system
event
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
JP2019042587A
Other languages
English (en)
Inventor
直人 結城
Naoto Yuki
直人 結城
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.)
Canon Inc
Original Assignee
Canon 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 Canon Inc filed Critical Canon Inc
Priority to JP2019042587A priority Critical patent/JP2020145647A/ja
Priority to US16/810,732 priority patent/US11570126B2/en
Publication of JP2020145647A publication Critical patent/JP2020145647A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/108Network architectures or network communication protocols for network security for controlling access to devices or network resources when the policy decisions are valid for a limited amount of time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • H04L47/263Rate modification at the source after receiving feedback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0892Network architectures or network communication protocols for network security for authentication of entities by using authentication-authorization-accounting [AAA] servers or protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint

Landscapes

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

Abstract

【課題】 所定のクライアントから大量のデータが送信された場合に、受信サービスにおいて他のクライアントのデータ処理を遅延させないための仕組みを提供する【解決手段】 受信サービスシステムは、所定のクライアント端末から単位時間あたりに所定値を超えるデータ量が送信された場合に、第1の送信ルールを所定のクライアント端末に対して送信する。複数のクライアント端末のそれぞれは、受信サービスシステムに対して、クライアント端末で発生したイベントに関するデータを送信し、受信サービスシステムが送信した第1の送信ルールを保持する。クライアント端末は、第1の送信ルールに従い、単位時間あたりに送信するデータ量が所定値以下となるように、クライアント端末で発生したイベントに関するデータのうち少なくとも一部のデータを受信サービスシステムに対して送信しない。【選択図】 図5

Description

本発明は、複数のクライアント端末と受信サービスシステムとを含むシステム、クライアント端末、制御方法、および、プログラムに関する。
近年、インターネットに家電製品や自動車などをクライアント端末として接続する「Internet of Things」(以降、IoTと称する)を実現するシステムが利用されている。また、画像形成装置の多機能化が進み、Multi Function Printer(以降、MFPと称する)と呼ばれる複合機もIoTクライアントとして対応することが可能となった。
IoTシステムは、IoTクライアントに接続されたセンサー情報など膨大な量のデータを収集、分析することで、IoTクライアント(単にクライアントとも称する)及びそれを利用するユーザに対してサービス、付加価値を提供する。IoTシステムにおいては、前述した膨大な量のデータを、同じく膨大な数のクライアントから受信するようになってきている。
このような膨大なデータをリアルタイムに受信する処理では、刻一刻と変動するトラフィックの監視が重要である。トラフィックのデータを受信するサーバは、APIを備えた従来型のリソースサーバーが単独で対応することは困難である。そこで、データの収集には、データ受信専用のサービス(受信サービス)を利用し、サービスを提供する処理(リソースサービス)は非同期処理として分離して対応することが一般的になりつつある。
IoTクライアントは受信サービスにデータを送信し、受信サービスはデータをバッファリングし、リソースサービスからのデータ受信要求に対してバッファリングからのデータを供給する。このようにして、リソースサービスはIoTクライアントからの変動する膨大なトラフィックを意識することなく、データの処理に専念することができる。
また、ストリーム受信サービスからデータを転送されるリソースサービスは、複数存在することが可能である。リソースサービスはストリーム受信サービスとは非同期で処理を実行しているため、IoTシステムの開発において、提供するサービスの種類ごとに柔軟にリソースサービスを追加することができる。
ここで特許文献1には、監視対象物のセンサが出力するセンサデータをゲートウェイから受信するサーバがセンサデータに基づく処理を行うことで、監視対象物の故障予測を行うデータ収集システムについて記載されている。サーバは、監視対象物に異常または異常の予兆が発生したことを検出した場合、収集するセンサデータの種類や収集頻度を増やすための収集ルールをゲートウェイに送信することが記載されている。
特開2016−163242号公報
例えばハードディスク故障などを起こしたクライアントが、異常なデータを通常よりも高頻度で大量に受信サービスに送信する場合がある。しかしながら、データの処理を実行する受信サービス内のリソースの量には制限がある。そのため、一部のクライアントが通常よりも高頻度で大量のデータを送信すると、受信サービスが処理すべきデータ量が増え、結果として、受信サービスにおいて他の正常なクライアントからのデータの処理に遅延が生じてしまう。
そこで本発明は、所定のクライアントから大量のデータが送信された場合に、受信サービスにおいて他のクライアントのデータ処理を遅延させないための仕組みを提供することを目的とする。
上記課題を解決するために、本発明は、複数のクライアント端末と、前記複数のクライアント端末からデータを受信する受信サービスシステムと、を含むシステムであって、前記受信サービスシステムは、前記複数のクライアント端末からデータを受信する受信手段と、前記複数のクライアント端末のうちの所定のクライアント端末から単位時間あたりに所定値を超えるデータ量が送信された場合に、第1の送信ルールを前記所定のクライアント端末に対して送信する第1の送信手段と、を有し、前記複数のクライアント端末のそれぞれは、前記受信手段に対して、前記クライアント端末で発生したイベントに関するデータを送信する第2の送信手段と、前記第1の送信手段が送信した前記第1の送信ルールを保持する保持手段と、を有し、前記第2の送信手段は、前記保持される前記第1の送信ルールに従い、単位時間あたりに送信するデータ量が所定値以下となるように、前記クライアント端末で発生したイベントに関するデータのうち少なくとも一部のデータを前記受信手段に対して送信しないことを特徴とする。
本発明により、所定のクライアントから大量のデータが送信された場合に、受信サービスにおいて他のクライアントのデータ処理が遅延することを回避できる。
システム全体図 ハードウェア構成図 ソフトウェア構成図 クライアント端末がストリーム受信サーバにデータを送信するまでの処理のシーケンス クライアント端末がストリーム受信サーバにデータを送信する処理のフローチャート コレクションフィルタの例を示す図 イベントデータの例を示す図 ストリーム処理モジュールの処理のシーケンス ストリーム処理モジュールの処理のフローチャート 第2の実施の形態におけるストリーム処理モジュールの処理のフローチャート 第3の実施の形態におけるクライアント端末がストリーム受信サーバにデータを送信する処理のフローチャート 第3の実施の形態におけるストリーム処理モジュールの処理のフローチャート
以下、本発明を実施するための形態について図面を用いて説明する。
(実施例1)
本実施例においては、ネットワーク上の各サーバにアプリケーションが設置されていることとする。また、各アプリケーションはクライアント端末と連携し、様々な機能を提供することとする。このような機能を提供する実体をサービスと呼称し、機能をクライアント端末に提供することをサービスの提供と呼称する。また、複数のサーバと複数のアプリケーションから複数のサービスを連携しあい提供するサービスを統合サービスと呼称する。
図1は、本実施例に係る情報処理システムであるデータ収集基盤システムの全体構成を示す図である。本実施例に係る情報処理システムは、クライアント端末のデータを受信する受信サービスシステム、および、受信したデータを処理してサービスを提供する複数のリソースサービスシステムを含む。受信サービスシステムと各リソースサービスシステムとは、非同期でデータ処理を行っている。本実施例に係る情報処理システムで提供されるサービスは、例えば、クライアント端末のデータをバックアップするサービスや、クライアント端末に接続されたセンサー情報から稼働状況を分析するサービスなどがある。
ネットワーク100は本システムの各構成要素を通信可能に接続するWide Area Network(以降、WANと称する)である。
ネットワーク101、111、121は本システムの各構成要素を通信可能に接続するLocal Area Network(以降、LANと称する)である。
クライアント端末102は、サービスを利用するためのパソコン、モバイル端末、画像形成装置などの機器である。
第1の認証認可サーバ112は、クライアント端末102がサービスを利用するために必要となる認証・認可を実現するための認証管理サーバである。第1の認証認可サーバ112は、クライアント端末102のデータ収集サーバ113、データ利用サーバ114へのアクセスを制御する。
データ収集サーバ113は、クライアント端末102のデータを収集するサービスと後述のデータ利用サーバ114へ収集したデータを通知するサービスを提供するサーバである。データの収集には後述のストリーム受信サーバ123、データの通知には後述のメッセージサーバ124を利用する。
データ利用サーバ114は、データ収集サーバ113で収集したデータを利用したサービスを提供するサーバである。例えば、データ利用サーバ114はクライアント端末102のデータをバックアップするサービスや、クライアント端末102に接続されたセンサー情報を分析するサービスなどがある。データ収集サーバ113からのデータの取得は後述のメッセージキューサーバ125からメッセージを取得することで行う。
なお、データ利用サーバ114は、サーバレスアーキテクチャで実行されるアプリケーションで実現されても良い。具体的には、特定のコンピューティングリソースに対して発生したイベントに応じて、軽量な処理を実行するイベント駆動型コンピューティングサービスという、クラウドコンピューティングサービスで提供されるサービスを指す。例えば、AWS Lambda、Google Cloud Functions、Microsoft Azure Functions等がある。
第2の認証認可サーバ122は、第1の認証認可サーバ112とは異なるサーバであり、ストリーム受信サーバ123、メッセージサーバ124、メッセージキューサーバ125への認証・認可を実現し、アクセスを制御するサーバである。
ストリーム受信サーバ123は、ストリームによるデータ受信を行うサーバであり、クライアント端末102が送信するストリームデータを受信する。
メッセージサーバ124は、本システムを構成する各サーバで生成されたイベントをメッセージとして通知するサーバである。メッセージサーバ124は、登録された通知先と、通知する条件に基づき、本システムの構成要素のいずれかが生成したイベントを通知先に対してプッシュ通知を行う。
メッセージキューサーバ125は、本システムを構成するイベントを送信するサーバからのイベントをメッセージとして格納し、メッセージを受信するサーバに提供するためのサーバである。
特に、ストリーム受信サーバ123、データ収集サーバ113、およびメッセージサーバ124が、本実施例における受信サービスシステムとして機能する。また、メッセージキューサーバ125、およびデータ利用サーバ114が、本実施例におけるリソースサービスシステムとして機能する。なお、実施例において、クライアント端末102及び各サーバ112乃至114、122乃至125はそれぞれ1台で図示しているが、複数台で構成されていても良い。
図2は、本実施例に係るクライアント端末102、及び各サーバ112乃至114、122乃至125を構成する情報処理装置の一般的なハードウェア構成である。なお、各サーバ112乃至114、122乃至125は、図2に示すコンピューターの各ハードウェアの機能がそれぞれ、仮想マシンソフトウェアによってアプリケーションソフトウェアとして実現され、物理ハードウェア要素と同様の挙動をとるものとする。
CPU201は、ROM203のプログラムROMに記憶された、あるいはハードディスクなどの外部メモリ211からRAM202にロードされたオペレーティングシステムやアプリケーションなどのプログラムを実行する。またCPU201は、システムバス204に接続される各ブロックを制御する。後述する各シーケンスの処理は、CPU201が実行するプログラムによって実現される。
RAM202は、CPU201の主メモリ、ワークエリアなどとして機能する。
操作部I/F205は、操作部209からの入力を制御する。
CRTコントローラ(CRTC)206は、CRTディスプレイ210の表示を制御する。
ディスクコントローラ(DKC)207は各種データを記憶するハードディスクなどの外部メモリ211におけるデータアクセスを制御する。
ネットワークコントローラ208は、WAN100あるいはLAN101、102、103を介して接続されたサーバや他の機器との通信制御処理を実行する。
なお、後述する全ての説明においては、特に断りのない限り実行のハードウェア上の主体はCPU201であり、ソフトウェア上の主体は外部メモリ211にインストールされたアプリケーションプログラムである。
図3は、本実施例に係るクライアント端末102及び各サーバ112乃至114、122乃至125のソフトウェア構成を示す図である。各々のモジュールが実行されることで各々の機能を実現する。
図3(A)はクライアント端末102のモジュール構成を表す図である。
クライアント端末102は、トークンプロバイダモジュール301、データ送信モジュール302、機器内モジュール303、データ保持モジュール304、コレクションフィルタ受信モジュール305を持つ。
トークンプロバイダモジュール301は、第1の認証認可サーバ112に対して、クライアント端末の認証要求、アクセストークンの発行依頼や取得を行う。
データ送信モジュール302は、データ収集サーバ113が提供するサービスを利用したり、クライアント端末102のイベントデータをストリーム受信サーバ123に送信したりする。データ送信モジュール302がストリーム受信サーバ123に送信するイベントデータは、後述のデータ保持モジュール304に格納されているイベントデータをコレクションフィルタの記述に従って送信する。イベントデータの保持するデータについては後述の図7にて説明を行う。
コレクションフィルタとは、データ保持モジュール304で保持されているイベントデータのうち、どのイベントデータをどの頻度で送付するかという送信ルールが定義されているファイルである。コレクションフィルタの保持するデータについては後述の図6にて説明を行う。
機器内モジュール303は、クライアント端末102を構成するモジュールであり、機器の状態をはじめとした各種イベントデータが発生した際に後述するデータ保持モジュール304にイベントデータを格納する。各種イベントデータとは例えばジョブの実行がされたときの開始イベント、終了イベント、またセンサーなどの異常を検知したときの異常イベントなどが挙げられる。
データ保持モジュール304は、機器内モジュール303からのイベントデータを保持するモジュールである。コレクションフィルタ受信モジュール305は、後述するコレクションフィルタ送信モジュール323からコレクションフィルタを受信するモジュールである。
第1の認証認可サーバ112は、第1の認証認可モジュール311、第1のクライアント管理モジュール312を持つ。
第1の認証認可モジュール311は、クライアント端末102からの認証要求に対する処理、認証されたクライアント端末102の認可処理を行う。
第1のクライアント管理モジュール312は、認証処理及び認可処理を行ったクライアント端末の認証情報としてIDやシークレットを管理する。また他のサーバからのリクエストに応じて、管理しているクライアント端末102の認証情報を削除するAPIを提供する。
データ収集サーバ113は、トークン取得モジュール321とストリーム処理モジュール322を持つ。
トークン取得モジュール321は、データ収集サーバ113、クライアント端末102がサーバ123乃至125のサービスを利用するためのトークンを第2の認証認可サーバ122から取得するモジュールである。詳しくは後述の図4のシーケンスの中で説明を行う。ストリーム処理モジュール322は、ストリーム受信サーバ123のストリームデータに対する処理を行うモジュールである。ストリーム処理モジュール322は受信したストリームデータの内容を、メッセージサーバ124、メッセージキューサーバ125を利用してデータ利用サーバ114にイベントとして通知する。詳しくは図8のシーケンス、図9のフローチャートを用いて説明を行う。コレクションフィルタ送信モジュール323は、クライアント端末102へコレクションフィルタを送信するためのモジュールである。
データ利用サーバ114は、トークン取得モジュール331とメッセージ処理モジュール332を持つ。
トークン取得モジュール331は、データ利用サーバ114がサーバ123乃至125のサービスを利用するためのトークンを第2の認証認可サーバ122から取得するモジュールである。メッセージ処理モジュール332は、メッセージキューサーバ125に保持されているメッセージを処理するモジュールである。メッセージ処理モジュール332は、メッセージを処理することで、ストリーム処理モジュール322からのイベントの通知を受信し処理することができる。
第2の認証認可サーバ122は、第2の認証認可モジュール341、第2のクライアント管理モジュール342を持つ。
第2の認証認可モジュール341は、クライアントであるクライアント端末102や各サーバ113、114からの認証要求に対する処理、認証されたクライアントの認可処理を行う。第2のクライアント管理モジュール342は、認証処理及び認可処理を行った各サーバ113、114の認証情報としてIDやシークレットを管理する。
ストリーム受信サーバ123はストリーム受信モジュール351を持つ。ストリーム受信モジュール351は、ストリーム情報を受信し、保持する機能を提供する。
メッセージサーバ124は、メッセージモジュール361と送信管理モジュール362を持つ。メッセージモジュール361は、メッセージの送受信の機能を提供する。送信管理モジュール362は、メッセージモジュール361が受信したメッセージをどの宛先に送信するかの送信先の管理機能を提供する。
メッセージキューサーバ125は、メッセージキューモジュール371を持つ。メッセージキューモジュール371は受信したメッセージをキューに保持する機能を提供する。
第1の認証認可サーバ112は、表Aのクライアント管理テーブルに示すように、クライアントを一意に識別するためのクライアントIDとクライアントを認証するための公開鍵を管理する。さらに第1の認証認可サーバ112は、クライアント端末102を一意に識別するためのデバイスシリアルを管理する。
第1の認証認可モジュール311は、クライアントIDと公開鍵を元にクライアント端末102を認証し、クライアント端末102のデバイスシリアルを特定する。
Figure 2020145647
クライアント端末102のトークンプロバイダモジュール301は表Bのクライアント管理テーブルに示すように、自らの端末用のクライアントIDと秘密鍵を保持している。
Figure 2020145647
本実施例では、クライアントIDと非対称鍵を用いた認証を前提として説明するが、前述の通り認証方式は特に問わず、クライアントIDとシークレットによる認証といった他の方法でも良い。
同様に、第2の認証認可サーバ122は、表Cのクライアント管理テーブルに示すように、サーバを一意に識別するクライアントIDとサーバを認証するためのシークレットを管理しており、第2の認証認可モジュール341はその情報をもとにサーバを認証する。
Figure 2020145647
データ収集サーバ113のトークン取得モジュール321、データ利用サーバ114のトークン取得モジュール331は、表Dのクライアント管理テーブルに示すように、認証を制御すべきクライアントのクライアントIDとシークレットを保持している。
Figure 2020145647
図4は、クライアント端末102がストリーム受信サーバ123へイベントを送信する通常の処理の流れを示したシーケンスである。
S401において、クライアント端末102のデータ送信モジュール302は、トークンプロバイダモジュール301にトークンの発行要求を送信する。トークンプロバイダモジュール301は、表Bで管理するクライアントIDと秘密鍵を利用してアサーションを作成し、アサーションとともにトークン発行リクエストを生成する。本実施例では、アサーションはRFC7519にて決められたJSON Web Token(以降、JWTと称する)を想定しており、JWTにはクライアントIDなどの情報が含まれる。
S402において、トークンプロバイダモジュール301は第1の認証認可サーバ112の第1の認証認可モジュール311にアサーションを送信する。
第1の認証認可モジュール311は、S402においてアサーションを送信したクライアント端末に該当する公開鍵を表Aから取得して、アサーションの署名検証を行う。検証に成功した場合、第1の認証認可モジュール311は、アクセストークンA1を発行し、レスポンスする。レスポンスを受信したトークンプロバイダモジュール301は、アクセストークンA1をデータ送信モジュール302にレスポンスする。アクセストークンA1は、第1の認証認可サーバ112によってアクセス制御が行われるデータ収集サーバ113へのクライアント端末102がアクセスするためのものである。
本実施例では、アクセストークンはJWTを想定しており、クライアントIDやクライアント端末102のデバイスシリアルといった情報、トークンの有効期限などの情報が含まれる。
S403において、データ送信モジュール302はS402のレスポンスとして受信したアクセストークンA1を利用して、データ収集サーバ113のトークン取得モジュール321にトークン発行要求を送信する。
S404において、トークン取得モジュール321は受信したトークン発行要求に含まれるアクセストークンA1の検証を行う。トークン取得モジュール321は第1の認証認可モジュール311が発行したJWTを検証するための公開鍵を保持しており、JWTを検証することでクライアントの認可を行う。JWTの検証では、トークン取得モジュール321はJWTの署名が正しいかを公開鍵を用いて検証し、さらにJWTの有効期間中かどうかを検証する。またアクセストークンA1を検証した結果、クライアント情報を取得することが可能であり、アクセス元のクライアント端末102をデバイスシリアルで識別できる。なお、トークン取得モジュール321は第1の認証認可モジュール311にトークンの検証を依頼し、検証結果とクライアント情報を取得するといった別の実施形でも良い。リクエストを受けたトークン取得モジュール321はS405、S406において受信したリクエストに対する処理を行う。
S405において、トークン取得モジュール321は第2の認証認可サーバ122の第2の認証認可モジュール341にトークン発行要求を送信する。トークン発行要求は表DのクライアントIDとシークレットとともに送信する。トークン発行要求を受信した第2の認証認可モジュール341は、表Cで管理するクライアントIDとシークレットと、トークン発行要求に含まれるクライアントIDとシークレットとが一致する場合には、アクセストークンBを発行してレスポンスする。アクセストークンBは、第2の認証認可サーバ122にアクセスするためのものである。
S406において、アクセストークンBを取得したトークン取得モジュール321は、第2の認証認可モジュール341に対して、IDトークン発行要求を送信する。IDトークン発行要求では、トークン取得モジュール321はアクセストークンBとS404の検証結果から取得したクライアント端末102のクライアントIDを送信する。第2の認証認可モジュール341は、受信したクライアントID用のIDトークンを発行する。
IDトークンとは、クライアント端末102を確かに認証したことを証明するトークンである。本実施例では、クライアント端末102の認証は、S404においてトークン取得モジュール321がアクセストークンA1を検証することで確認している。第2の認証認可モジュール341はトークン取得モジュール321に対してクライアントIDとシークレットを提供する形で信頼関係を結んでおり、トークン取得モジュール321がクライアント端末102を認証した結果を信頼する。第2の認証認可モジュール341はその信頼をもとにIDトークンを発行している形となる。また、IDトークンはJWT形式を想定しており、第2の認証認可モジュール341は署名を検証することでIDトークンを検証可能である。
S407において、IDトークンを受信したクライアント端末102のデータ送信モジュール302は、第2の認証認可サーバ122の第2の認証認可モジュール341にトークン発行要求を行う。この要求にはS404で取得したIDトークンを含める。要求を受けた第2の認証認可モジュール341はIDトークンの検証を行い、アクセストークンCを発行しレスポンスする。アクセストークンCは、ストリーム受信サーバ123へアクセスするためのものである。
S408において、アクセストークンCを受信したクライアント端末102のデータ送信モジュール302は、ストリーム受信サーバ123のストリーム受信モジュール351にデータ送信を行う。本データ送信ではアクセストークンCと、アクセストークンA1を送信する。データ送信要求を受信したストリーム受信モジュール351はアクセストークンCを検証して問題が無ければ、アクセストークンA1とデータのペアを保持する。
以上により、クライアント端末102はストリーム受信サーバ123へのデータ送信を完了する。
図4で示したS408にて説明を行ったデータ送信処理について、図5のフローチャートを用いて詳細に説明を行う。
図5はコレクションフィルタ601に従ってストリーム受信モジュール351にイベントデータを送信するデータ送信モジュール302の処理のフローチャートである。
コレクションフィルタ601は図6に示すようなデータである。図6(A)は通常モード時のコレクションフィルタ、図6(B)はセーフモード時のコレクションフィルタの例である。コレクションフィルタ601には、イベントが発生したエンティティ602と発生したイベント名603に対してストリーム受信モジュール351へ送信する送信タイミング604、コレクションフィルタモード605が記載されている。コレクションフィルタモード605には通常モードかセーフモードであるかが記載される。
また図6(B)にようにコレクションフィルタモード605がセーフモードの場合には、さらに閾値606が記載される。
図6(A)の例では、HDDのセンサーエラーが発生した際には10分おきにイベントデータを送信するというフィルタ設定であり、コレクションフィルタモード605はノーマルモードであることを示す。
図6(B)の例では、HDDのセンサーエラーのコレクションフィルタモード605をセーフモードにしており、60分おきにチェックをし、イベントデータの件数が閾値の5を超えていない場合にイベントデータ送信するというフィルタ設定であることを示す。
図5のフローチャートは、データ送信モジュール302がコレクションフィルタ601の記述に従って、イベントデータを送信するタイミングで実行される。実行時には引数として実行するコレクションフィルタ601のエンティティ602とイベント名603とコレクションフィルタモード605が渡される。
S501において、データ送信モジュール302は引数で渡されたエンティティ、イベント名、コレクションフィルタモードを取得する。
S502において、データ送信モジュール302はデータ保持モジュール304で保持されているイベントデータ701から、S501で取得したエンティティとイベント名と一致するイベントデータ一覧を取得する。イベントデータ701は図7(A)に示すようなデータであり、クライアント端末102内でのイベントを一意に識別するイベントID702、クライアント端末102を一意に識別するデバイスシリアル703が記載されている。さらにイベントデータ701には、イベントが発生したエンティティ704、発生したイベント名705と発生日時706が記載されている。S502では、S501で取得したエンティティとイベント名と一致するエンティティ704、イベント名705のイベントデータ一覧を、送信対象のデータとして取得する。
S503において、データ送信モジュール302はS501で取得したコレクションフィルタモード605の値がセーフモードかどうかをチェックする。セーフモードであった場合にはS506に進み、異なる場合にはS504に進む。
S504において、データ送信モジュール302はS502で取得したイベントデータ一覧をストリーム受信モジュール351にアクセストークンCと、アクセストークンA1とともに送信する。
S505において、データ送信モジュール302はS504で送信したイベントデータ一覧をデータ保持モジュール304から削除する。
S506において、データ送信モジュール302はS502で取得したイベントデータ一覧の件数がコレクションフィルタ601の閾値606で示される所定値を超えて発生しているかをチェックする。ここでの所定値は、ストリーム受信モジュール351が単位時間あたりに受信可能なデータ量に基づき定められる。所定値を超えている場合にはS509に進み、所定値以下である場合にはS507に進む。なお、イベントデータの数ではなく、イベントデータのサイズを、S506での判断に用いるデータ量として扱っても良い。
S507において、データ送信モジュール302は閾値を超えていないためクライアント端末102は安定したと判定する。そして、データ送信モジュール302は、セーフモードのコレクションフィルタから、クライアント端末102の外部メモリ211に退避していた通常モードのコレクションフィルタに変更する。
S508において、データ送信モジュール302はセーフモードのコレクションフィルタから通常モードのコレクションフィルタに変更したことを通知するためのセーフコレクションフィルタ設定解除イベントを新規に作成する。そして、データ送信モジュール302は、セーフコレクションフィルタ設定解除イベントを、アクセストークンCおよびアクセストークンA1とともにストリーム受信モジュール351に送信する。
本実施例ではコレクションフィルタ設定解除イベントは、図7(B)のようにセーフモード707の値に「release」と記載された項目を付与したものとする。
なお、本実施例では、S507にようにクライアント端末が通常のコレクションフィルタに変更する方法を説明した。しかしながら、単位時間当たりのイベント発生数が閾値以下になったことをクライアント端末がストリーム受信サーバ123に対して通知し、データ収集サーバ113がクライアント端末に対して通常のコレクションフィルタへ変更するように要求してもよい。
S509において、データ送信モジュール302は閾値を超えているためクライアント端末102は安定していないと判定し、S502で取得したイベントデータ一覧は送信せずに削除する。ここでは、クライアント端末における記憶容量には限りがあるため、送信しないイベントデータは削除されるものとしているが、送信しないイベントデータは必ずしも削除されなくても良い。なお、データ送信モジュール302は、イベントデータ一覧のデータ全てを送信せずに削除するのではなく、一部のデータを送信せずに削除して残りのデータをストリーム受信モジュール351に送信しても良い。ただし、その場合は、ストリーム受信モジュール351に送信されるイベントのデータ数は閾値以下となるように、一部のデータを削除するものとする。それにより、ストリーム受信モジュールの負荷を下げるという効果を得られる。
以上、説明した図5のフローチャートによって、コレクションフィルタがセーフモードに設定されている際には、イベントデータが閾値を超えている場合にはイベントデータを送信しないことで、ストリーム受信モジュールの負荷を下げることができる。またイベントデータが閾値を超えなかった場合には通常モードのコレクションフィルタに戻すことにより、クライアント端末102が安定した際にデータの送付を自動で再開することができる。
図4、図5で示した処理が完了した際にストリーム受信サーバ123が保持するデータの一例を表Eで示す。ストリーム受信サーバ123においてデータを一意に識別するID、データを受信した受信日時、受信したアクセストークン、デバイスシリアル、エンティティ、イベント名、セーフモードの解除イベントかどうかの情報が1レコードとして管理される。ストリームデータ保持テーブルでは、受信日時順にソートされてデータが保存されている。
Figure 2020145647
以降図8、図9を用いてデータ収集サーバ113のストリーム処理モジュール322での処理についての説明を行う。
図8と図9はそれぞれデータ収集サーバ113のストリーム処理モジュール322が提供する処理の一連の流れを示したシーケンスとフローチャートである。本処理の詳細な説明は図9のフローチャートを用いて説明し、その他のモジュールとの連携部分についてはシーケンスを用いて説明する。本処理についてはデータ収集サーバ113によって定期的に実行される処理である。
S901(S801)において、ストリーム処理モジュール322は、第2の認証認可モジュール341にトークン発行要求を送信する。本処理はS405と同様の処理である。第2の認証認可モジュール341は、トークン発行要求を受信して、ストリーム受信サーバ123、メッセージサーバ124にアクセスするために必要なアクセストークンBを発行しストリーム処理モジュール322にレスポンスする。
S902(S802)において、ストリーム処理モジュール322はストリーム受信サーバ123のストリーム受信モジュール351にレコード取得をアクセストークンBとともに要求する。レコード取得要求を受信したストリーム受信モジュール351は、アクセストークンBを検証し、問題がなければ表Eのストリームデータ保持テーブルで管理されるレコードから受信日の古いレコードから順にストリーム処理モジュール322にレスポンスする。受信したレコードを移行イベントレコードと称す。
S903において、ストリーム処理モジュール322はS902で受信したイベントレコードからアクセストークンA1を取得する。S904において、ストリーム処理モジュール322はS903で取得したアクセストークンA1の検証を行う。検証ではアクセストークンA1の署名、有効期間のチェックを行う。S905において、ストリーム処理モジュール322はS904の検証で問題がなければS906に進む。問題がある場合には処理を終了する。
S906において、ストリーム処理モジュール322はS902で取得したイベントレコードのデバイスシリアルを取得する。S907において、ストリーム処理モジュール322はS902で取得したイベントレコードのエンティティを取得する。S908において、ストリーム処理モジュール322はS902で取得したイベントレコードのイベント名を取得する。
S909において、ストリーム処理モジュール322は、S906乃至S908で取得したデバイスシリアル、エンティティ、イベント名と一致するデータがセーフモード設定イベントテーブルに登録されているかどうかをチェックする。セーフモード設定イベントテーブルは、データ収集サーバ113に格納されている。もし登録されている場合にはS917に進み、登録されていない場合にはS910に進む。
セーフモード設定イベントテーブルとはクライアント端末102でセーフモードのコレクションフィルタの設定依頼を出しているかどうかを管理しているテーブルであり、その一例を表Fで示す。
Figure 2020145647
S910において、ストリーム処理モジュール322はS902で取得したイベントデータから受信日時を取得する。
S911において、ストリーム処理モジュール322は、特定のクライアント端末102で同じイベントが大量に発生していないかの流量チェックを行う。流量チェックの一例として、図9(B)のフローチャートを用いて説明する。
S931において、ストリーム処理モジュール322は、S906乃至S908およびS910で取得したデバイスシリアル、エンティティ、イベント名、受信日時を1つのレコードとしてイベント履歴テーブルに追加する。
イベント履歴テーブルとは、過去に処理したイベントの履歴を管理するテーブルであり、その1例を表Gで示す。このイベント履歴テーブルのレコードは受信日時から1時間経過したものは定期的に削除される。
Figure 2020145647
S932において、ストリーム処理モジュール322はS906乃至S908で取得したデバイスシリアル、エンティティ、イベント名と一致するイベント履歴一覧を表Gのイベント履歴テーブルから取得する。
S933において、ストリーム処理モジュール322はS932で取得したイベント履歴一覧で単位時間あたりに発生しているイベント数が閾値を超えているかをチェックする。例えば1分間に同じイベントが100を超えて発生しているなどをチェックする。ここでの閾値は、ストリーム受信モジュール351が単位時間あたりに受信可能なデータ量に基づき定められる。もし閾値を超えている場合にはS934で閾値を超えているという戻り値を返す、超えていない場合にはS935で閾値を超えていないという戻り値を返す。
図9(A)の説明に戻る。S912において、ストリーム処理モジュール322はS911の結果として閾値を超えていると判断された場合にはS914に進み、異なる場合はS913に進む。
S913において、ストリーム処理モジュール322は特定のクライアント端末102で同じイベントが大量に発生していないと判定し、データ利用サーバ114に対して通常のイベント通知処理を行う。
具体的にはS803においてストリーム処理モジュール322はメッセージサーバ124に対して発生したイベントとアクセストークンBを送信する。S804において、メッセージサーバ124のメッセージモジュール361はS806で受信したアクセストークンを検証し、問題がなければイベントを送信管理モジュール362の設定に従ってメッセージキューサーバ125に送信して処理を終了する。
送信管理モジュール362が保持する送信管理データの一例を表Hに示す。
Figure 2020145647
送信管理データはメッセージの格納先を一意に識別するトピックID、そのメッセージの通知先となるクライアントIDとを関連付けて1レコードとして保存される。
またメッセージモジュール361が保存するデータの一例を表Iに示す。
Figure 2020145647
メッセージモジュール361は受信したイベントのメッセージを該当するトピックIDと関連付けて1つのレコードとしてメッセージテーブルに保存される。
図8および図9の説明に戻る。S914(S805)において、ストリーム処理モジュール322は、特定のクライアント端末102で同じイベントが大量に発生していると判定する。そして、ストリーム処理モジュール322は、クライアント端末102に対してセーフモードのコレクションフィルタにするようコレクションフィルタ送信モジュール323に要求する。
S806において、コレクションフィルタ送信モジュール323はクライアント端末102のコレクションフィルタ受信モジュール305に対してセーフモードのコレクションフィルタを送信する。セーフモードのコレクションフィルタは図6(B)のようなコレクションフィルタ601である。コレクションフィルタ送信モジュール323は、S802で取得したエンティティ、イベント名に対してコレクションフィルタモード605をセーフモード、送信タイミング604、閾値606に値を設定したものを送付する。
なお、本実施例では、上述したようにコレクションフィルタ送信モジュール323がコレクションフィルタをコレクションフィルタ受信モジュール305に送信する記載にしている。他の実施の形態としては、コレクションフィルタ送信モジュール323は、クライアント端末の状態情報を管理する不図示の状態管理サーバに対してコレクションフィルタを設定するように指示しておく。そして、クライアント端末と状態管理サーバで管理するクライアント端末の状態情報とを同期することで、予め設定されたコレクションフィルタがコレクションフィルタ受信モジュール305に対して送信される。これにより、コレクションフィルタの設定変更をクライアント端末に適用させることができる。例えば、Amazon Web Service(以降、AWSと称する)が提供するサービスであるAWS IoTにはDevice Shadowというサービスを利用することで、この処理を実現してもよい。
本実施の形態では送信タイミング604は60min、閾値を5という固定の値を設定することで説明を行うが、エンティティ、イベント名に応じて値を変更してもよい。
S807において、コレクションフィルタ受信モジュール305はS806で受信したセーフモードのコレクションフィルタ601をデータ送信モジュール302に設定する。その際に以前使用していたコレクションフィルタは外部メモリ211に退避しておき、クライアント端末102の挙動が安定した際には再度使用できるようにしておく。
S915において、ストリーム処理モジュール322は特定のクライアント端末102で同じイベントが大量に発生していることをデータ利用サーバ114に対して伝えるためにセーフモードのコレクションフィルタイベント送信処理を行う。本処理を行うことで、例えば、データ利用サーバ114がクライアント端末に対して提供しているUI画面に対象のデバイスが異常状態である旨を表示することができる。
具体的にはS808において、ストリーム処理モジュール322は、セーフモードのコレクションフィルタに設定したというセーフコレクションフィルタ設定イベントをメッセージサーバ124のメッセージモジュール361に送信する。これは、特定のクライアント端末102で同じイベントが大量に発生していることをデータ利用サーバ114に対して伝えるためである。セーフコレクションフィルタ設定イベントの一例で、通常のイベントのメッセージ「sensorError」の場合、セーフコレクションフィルタ設定イベントは「SAFEMODE_sensorError」というメッセージにする。これにより、ストリーム処理モジュール322は、HDDのsensorErrorイベントがセーフモードになったことを通知することができる。
S809において、メッセージサーバ124のメッセージモジュール361はS811で受信したイベントを送信管理モジュール362の設定に従ってメッセージキューサーバ125に送信する。
S916において、ストリーム処理モジュール322はS802で取得したイベントレコードからデバイスシリアル、エンティティ、イベント名を表Fのセーフモード設定イベントテーブルのレコードとして登録して処理を終了する。
S917は、S909でデータがセーフモード設定ベントテーブルに登録されている場合に行われる処理である。S917において、ストリーム処理モジュール322はS902で取得したイベントレコードのセーフモードの値を取得する。
S918において、ストリーム処理モジュール322はS917で取得したセーフモード値が「解除」であるかをチェックする。もし解除である場合にはS919に進み、解除でない場合には処理を終了する。
S919において、ストリーム処理モジュール322は、セーフモードを解除したことをデータ利用サーバ114に対して伝えるためにセーフモードのコレクションフィルタの設定を解除したというセーフコレクションフィルタ解除設定イベント送信処理を行う。
具体的にはS810において、ストリーム処理モジュール322はセーフコレクションフィルタ解除設定イベントをメッセージサーバ124のメッセージモジュール361に送信する。
セーフコレクションフィルタ解除設定イベントの一例で、通常のイベントのメッセージ「sensorError」の場合、セーフコレクションフィルタ設定イベントは「BASICMODE_sensorError」というメッセージにする。これにより、HDDのsensorErrorイベントが通常モードになったことを通知できる。
S811において、メッセージサーバ124のメッセージモジュール361はS810で受信したイベントを送信管理モジュール362の設定に従ってメッセージキューサーバ125に送信する。
S920において、ストリーム処理モジュール322はS909で取得したセーフモード設定イベントレコードを削除して処理を終了する。
以上説明した図8のシーケンス、図9のフローチャートにより、クライアント端末102からの想定外の大量データが送付されてきた場合にはクライアント端末102に対してセーフモードのコレクションフィルタを設定させる。クライアント端末102は、コレクションフィルタが設定されたことにより、受信サービスシステムに送信するデータの量を削減する。またクライアント端末102のデータ送付が閾値以下になったことを示すコレクションフィルタ設定解除イベントを受信サービスが受信した際には、セーフモードが解除されたことをサブスクライバであるデータ利用サーバ114に通知する。
このことにより、一部のクライアント端末から過剰なデータが送付されてきた場合であっても、データ収集サーバ113の機能を停止させずに継続してサービスを提供し続けることができる。つまり、データ収集サーバ113における他のクライアント端末のデータの処理が遅延することを回避できる。またサブスクライバに対しても現在どのような状況であるのかを通知することで、その状態をユーザに通知するなどを行うことができる。
(実施例2)
実施例1で説明した第1の実施の形態により、セーフモードのコレクションフィルタ601を設定されたクライアント端末102は、コレクションフィルタの設定によってイベントデータの送信頻度が閾値以下になるまで送信しないようにできる。
しかし、クライアント端末102の故障の状態によってはセーフモードのコレクションフィルタを受け付けないことも考えられる。本実施例で説明する第2の実施の形態は上記のような状態を考慮したものである。
図10は第2の実施の形態におけるデータ収集サーバ113のストリーム処理モジュール322での処理のフローチャートである。
S901乃至S917、S919とS920の処理は図9で説明したものと同じである。
S1001において、ストリーム処理モジュール322はS917で取得したセーフモード値が「解除」であるかをチェックする。もし解除である場合にはS919に進み、解除でない場合にはS1002に進む。
S1002において、ストリーム処理モジュール322はS914で依頼したセーフモードコレクションフィルタ設定要求処理から一定時間経過しているかを確認する。一定期間経過している場合にはS1003に進み、経過していない場合には処理を終了する。一定期間は本実施の形態では「10分」という固定の値とする。
S1003において、ストリーム処理モジュール322はS906で取得したデバイスシリアルのクライアント端末102の認証情報を削除するように第1の認証認可サーバ112の第1のクライアント管理モジュール312に対して依頼をする。
以上、本実施例で説明した第2の実施の形態により、セーフモードコレクションフィルタ設定要求を出したクライアント端末102から一定の期間がたってもデータ送信頻度が下がらない場合には、そのクライアント端末の認証情報が削除されるようにした。そうすることでクライアント端末102がS402にてアクセストークンの取得を行おうとした際に認証できなり、データ収集サーバ113へのアクセスする処理まで到達できなくなる。すなわち、クライアント端末102は受信サービスに対してデータを送信できなくなるため、データ収集サーバ113の負荷を下げることができる。
(実施例3)
第1の実施の形態、第2の実施の形態はデータ収集サーバ113がシステムとして許容できるレベルのアクセスに対してはできるだけ受信しようとするものであった。
しかしながら、顧客のネットワークの負荷を考慮した場合、故障だと思われるイベントデータの送信を検知した場合に実施例1,2のデータ送信数になるよりも少ない量でもデバイス側でセーフモードのコレクションフィルタを設定したいことも考えられる。
第3の実施の形態では上記のケースを考慮して、クライアント端末側でコレクションフィルタを切り替えることを考慮したものである。
図11は第3の実施の形態におけるコレクションフィルタ601に従ってストリーム受信モジュール351にイベントデータを送信するデータ送信モジュール302の処理のフローチャートである。
S501、S502、S504乃至S509の処理は図5で説明したものと同じである。
S1101において、データ送信モジュール302はS501で取得したコレクションフィルタモード605の値がセーフモードかどうかをチェックする。セーフモードであった場合にはS506に進み、異なる場合にはS1102に進む。
S1102において、データ送信モジュール302はS502で取得したイベントデータ一覧がセーフモードに移行する閾値を超えているかをチェックする。セーフモードに移行する閾値は本実施の形態では固定で10000とするが、イベントデータ毎に閾値を設けるなどをしてもよい。もし、閾値を超えている場合にはS1103に進み、超えていない場合にはS504に進む。
S1103において、データ送信モジュール302はセーフモードに移行するためセーフモードコレクションフィルタに設定する。本実施の形態に置いてこのセーフモードコレクションフィルタと通常のコレクションフィルタは事前にクライアント端末102に保持されているものとする。
S1104において、データ送信モジュール302は通常モードのコレクションフィルタからセーフモードのコレクションフィルタに変更したことを通知するためのセーフコレクションフィルタ設定イベントを新規に作成する。データ送信モジュール302は、作成したセーフコレクションフィルタ設定イベントを、アクセストークンCおよびアクセストークンA1とともにストリーム受信モジュール351に送信する。
本実施例ではコレクションフィルタ設定イベントは、図7(B)のセーフモード707の値に「set」と記載された項目を付与したものとする。
またコレクションフィルタ設定イベントを受信したストリームデータ保持テーブルのセーフモードの値には「設定」が入るものとする。
以上説明した図11のフローチャートによりクライアント端末102側での異常を検知した際に自動でセーフモードのコレクションフィルタに変更し、変更したことをデータ収集サーバ113に通知することができる。
図12は第3の実施の形態におけるデータ収集サーバ113のストリーム処理モジュール322での処理のフローチャートである。
S901乃至S908、S910乃至S917、S919とS920の処理は図9で説明したものと同じである。またS1001乃至S1003の処理は図10で説明したものと同じである。
S1001において、ストリーム処理モジュール322は、S906乃至S908で取得したデバイスシリアル、エンティティ、イベント名と一致するデータがセーフモード設定イベントテーブルに登録されているかどうかをチェックする。セーフモード設定イベントテーブルは、データ収集サーバ113に格納されている。もし登録されている場合にはS917に進み、登録されていない場合にはS1202に進む。
S1002において、ストリーム処理モジュール322はS902で取得したイベントレコードのセーフモードの値を取得する。
S1003において、ストリーム処理モジュール322はS1002で取得したセーフモード値が「設定」であるかをチェックする。
「設定」である場合にはS915に進み、異なる場合にはS910に進む。
以上説明した図12のフローチャートにより、データ収集サーバ113はクライアント端末側でセーフモードのコレクションフィルタに設定したという通知を受信した際に、それをデータ利用サーバ114に通知することができる。
以上、説明した第3の実施の形態によりクライアント端末102側で故障と判断した場合にセーフモードのコレクションフィルタを適用することによってイベントの送信数を抑えることができる。これにより顧客環境でのネットワーク負荷を考慮したデータコレクションによる送信機能を提供することができる。またセーフモードに移行したことをデータ収集サーバ113へ通知することで、データ利用サーバ114へもセーフモードのコレクションフィルタに移行したことを通知することができる。
(他の実施例)
本発明は、上述した実施形態を適宜組み合わせることにより構成された装置あるいはシステムやその方法も含まれるものとする。
ここで、本発明は、上述した実施形態の機能を実現する1つ以上のソフトウェア(プログラム)を実行する主体となる装置あるいはシステムである。また、その装置あるいはシステムで実行される上述した実施形態を実現するための方法も本発明の1つである。また、そのプログラムは、ネットワークまたは各種記憶媒体を介してシステムあるいは装置に供給され、そのシステムあるいは装置の1つ以上のコンピューター(CPUやMPU等)によりそのプログラムが読み出され、実行される。つまり、本発明の1つとして、さらにそのプログラム自体、あるいは当該プログラムを格納したコンピューターにより読み取り可能な各種記憶媒体も含むものとする。また、上述した実施形態の機能を実現する回路(例えば、ASIC)によっても、本発明は実現可能である。
102 クライアント端末
113 データ収集サーバ
114 データ利用サーバ
123 ストリーム受信サーバ
124 メッセージサーバ
125 メッセージキューサーバ

Claims (12)

  1. 複数のクライアント端末と、前記複数のクライアント端末からデータを受信する受信サービスシステムと、を含むシステムであって、
    前記受信サービスシステムは、
    前記複数のクライアント端末からデータを受信する受信手段と、
    前記複数のクライアント端末のうちの所定のクライアント端末から単位時間あたりに所定値を超えるデータ量が送信された場合に、第1の送信ルールを前記所定のクライアント端末に対して送信する第1の送信手段と、を有し、
    前記複数のクライアント端末のそれぞれは、
    前記受信手段に対して、前記クライアント端末で発生したイベントに関するデータを送信する第2の送信手段と、
    前記第1の送信手段が送信した前記第1の送信ルールを保持する保持手段と、を有し、
    前記第2の送信手段は、前記保持される前記第1の送信ルールに従い、単位時間あたりに送信するデータ量が所定値以下となるように、前記クライアント端末で発生したイベントに関するデータのうち少なくとも一部のデータを前記受信手段に対して送信しないことを特徴とするシステム。
  2. 前記第2の送信手段は、前記保持される前記第1の送信ルールに従い、前記クライアント端末で発生したイベントに関するデータのいずれも前記受信手段に対して送信しないことを特徴とする請求項1に記載のシステム。
  3. 前記複数のクライアント端末のそれぞれは、
    前記クライアント端末で発生したイベントに関するデータの量が、前記受信手段が単位時間あたりに受信可能なデータ量を示す所定値を超えるか否かを判定する判定手段と、
    前記クライアント端末で発生したイベントに関するデータの量が前記所定値以下であると判定された場合、前記受信サービスシステムに対して第1の通知を行う第1の通知手段と、を更に有し、
    前記第1の送信手段は、前記第1の通知を受信した場合に、前記第1の送信ルールとは別の第2の送信ルールを前記所定のクライアント端末に対して送信し、
    前記保持手段は、前記第1の送信手段が送信した前記第2の送信ルールを保持し、
    前記第2の送信手段は、前記保持手段で保持される前記第1の送信ルールが前記第2の送信ルールに変更された場合に、前記第2の送信ルールに従い、前記クライアント端末で発生したイベントに関するデータのいずれも前記受信手段に対して送信することを特徴とする請求項1または2に記載のシステム。
  4. 前記システムには、前記受信サービスシステムから受け取ったクライアント端末のデータを処理するリソースサービスシステムが更に含まれ、
    前記受信サービスシステムは、
    前記第1の送信手段が第1の送信ルールを前記所定のクライアント端末に対して送信した場合に、前記第1の送信手段が第1の送信ルールを前記所定のクライアント端末に対して送信したことを示す第1のイベントを、前記リソースサービスシステムに対して通知する第2の通知手段を更に有することを特徴とする請求項1乃至3のいずれか1項に記載のシステム。
  5. 前記第2の送信手段は、前記保持手段で保持される前記第1の送信ルールが前記第2の送信ルールに変更された場合に、前記保持手段で保持される前記第1の送信ルールが前記第2の送信ルールに変更されたことを示す第2のイベントを前記受信手段に対して送信し、
    前記第2の通知手段は、前記受信手段が前記第2のイベントを受信した場合、前記リソースサービスシステムに対して前記第2のイベントを通知することを特徴とする請求項4に記載のシステム。
  6. 前記システムには、クライアント端末の認証情報を管理する認証管理サーバが更に含まれ、
    前記受信サービスシステムは、
    前記第1の送信手段が第1の送信ルールを前記所定のクライアント端末に対して送信してから一定時間が経過した場合であって、かつ、前記受信手段が前記所定のクライアント端末から受信したデータに前記第1の送信ルールを示す情報が含まれない際には、前記所定のクライアント端末の認証情報を削除するよう前記認証管理サーバに対して要求する要求手段を更に有することを特徴とする請求項1乃至5のいずれか1項に記載のシステム。
  7. 前記システムには、前記複数のクライアント端末それぞれの状態情報を管理する状態管理サーバが更に含まれ、
    前記第1の送信手段は、所定のクライアント端末から単位時間あたりに所定値を超えるデータ量が送信された場合に、前記状態管理サーバで管理される前記所定のクライアント端末の状態情報を変更することで、前記第1の送信ルールを前記所定のクライアント端末に対して送信することを特徴とする請求項1乃至6のいずれか1項に記載のシステム。
  8. クライアント端末からデータを受信する受信サービスシステムと通信可能なクライアント端末であって、
    前記クライアント端末で発生したイベントに関するデータを前記受信サービスシステムに送信する送信手段と、を有し、
    前記送信手段は、前記クライアント端末で発生したイベントに関するデータの量が、前記受信サービスシステムが単位時間あたりに受信可能なデータ量を示す所定値を超える場合、単位時間あたりに送信するデータ量が前記所定値以下となるように、前記データの少なくとも一部を前記受信サービスシステムに対して送信しないことを特徴とするクライアント端末。
  9. 前記クライアント端末で発生したイベントに関するデータの量が、前記受信サービスシステムが単位時間あたりに受信可能なデータ量を示す所定値を超えるか否かを判定する判定手段と、
    イベントデータを前記受信サービスシステムに送信する際に用いる送信ルールを保持する保持手段と、
    前記クライアント端末で発生したイベントに関するデータの量が、前記受信サービスシステムが単位時間あたりに受信可能なデータ量を示す所定値を超える場合、前記保持手段で保持される送信ルールを変更する変更手段と、を更に有し、
    前記送信手段は、前記変更された送信ルールに従い、前記データのいずれも前記受信サービスシステムに対して送信しないことを特徴とする請求項8に記載のクライアント端末。
  10. 複数のクライアント端末と、前記複数のクライアント端末からデータを受信する受信サービスシステムと、を含むシステムの制御方法であって、
    前記受信サービスシステムが、前記複数のクライアント端末からデータを受信する第1の受信工程と、
    前記受信サービスシステムが、前記複数のクライアント端末のうちの所定のクライアント端末から単位時間あたりに所定値を超えるデータ量が送信された場合に、第1の送信ルールを前記所定のクライアント端末に対して送信する第1の送信工程と、を有し、
    前記複数のクライアント端末のそれぞれが、前記受信サービスシステムに対して、前記クライアント端末で発生したイベントに関するデータを送信する第2の送信工程と、
    前記複数のクライアント端末のそれぞれが、前記第1の送信工程で送信された前記第1の送信ルールを保持する保持工程と、を有し、
    前記第2の送信工程では、前記保持される前記第1の送信ルールに従い、単位時間あたりに送信するデータ量が所定値以下となるように、前記クライアント端末で発生したイベントに関するデータのうち少なくとも一部のデータを前記受信サービスシステムに対して送信しないことを特徴とする制御方法。
  11. クライアント端末からデータを受信する受信サービスシステムと通信可能なクライアント端末の制御方法であって、
    前記クライアント端末で発生したイベントに関するデータを前記受信サービスシステムに送信する送信工程と、を有し、
    前記送信工程では、前記クライアント端末で発生したイベントに関するデータの量が、前記受信サービスシステムが単位時間あたりに受信可能なデータ量を示す所定値を超える場合、単位時間あたりに送信するデータ量が前記所定値以下となるように、前記データの少なくとも一部を前記受信サービスシステムに対して送信しないことを特徴とする制御方法。
  12. 請求項8または9に記載の手段としてコンピューターを機能させるためのプログラム。
JP2019042587A 2019-03-08 2019-03-08 システム、クライアント端末、制御方法、および、プログラム Pending JP2020145647A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019042587A JP2020145647A (ja) 2019-03-08 2019-03-08 システム、クライアント端末、制御方法、および、プログラム
US16/810,732 US11570126B2 (en) 2019-03-08 2020-03-05 System, client terminal, control method, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019042587A JP2020145647A (ja) 2019-03-08 2019-03-08 システム、クライアント端末、制御方法、および、プログラム

Publications (1)

Publication Number Publication Date
JP2020145647A true JP2020145647A (ja) 2020-09-10

Family

ID=72335885

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019042587A Pending JP2020145647A (ja) 2019-03-08 2019-03-08 システム、クライアント端末、制御方法、および、プログラム

Country Status (2)

Country Link
US (1) US11570126B2 (ja)
JP (1) JP2020145647A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022118578A1 (ja) * 2020-12-03 2022-06-09 株式会社デンソー 情報送信方法及び通信装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020144763A (ja) * 2019-03-08 2020-09-10 キヤノン株式会社 システム、および制御方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7956735B2 (en) * 2006-05-15 2011-06-07 Cernium Corporation Automated, remotely-verified alarm system with intrusion and video surveillance and digital video recording
JP4839152B2 (ja) * 2006-08-04 2011-12-21 株式会社日立製作所 センサネットワークシステム及びセンサネットワークのデータ処理方法
WO2012073316A1 (ja) * 2010-11-29 2012-06-07 富士通株式会社 通信装置および方法
EP3141079B1 (en) * 2014-05-07 2018-11-28 Sikorsky Aircraft Corporation Wireless sensor system with dynamic heartbeat message rate
WO2016017995A1 (en) * 2014-07-31 2016-02-04 Samsung Electronics Co., Ltd. System and method of controlling data transmission of external apparatus connected to gateway
JP6339951B2 (ja) * 2015-03-04 2018-06-06 株式会社日立製作所 データ収集システム、データ収集方法、サーバ及びゲートウェイ
US11107300B2 (en) * 2017-08-23 2021-08-31 Panasonic Intellectual Property Corporation Of America Driving management system, vehicle, and information processing method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022118578A1 (ja) * 2020-12-03 2022-06-09 株式会社デンソー 情報送信方法及び通信装置

Also Published As

Publication number Publication date
US20200287848A1 (en) 2020-09-10
US11570126B2 (en) 2023-01-31

Similar Documents

Publication Publication Date Title
US20200067903A1 (en) Integration of Publish-Subscribe Messaging with Authentication Tokens
US10122707B2 (en) User impersonation/delegation in a token-based authentication system
JP5429912B2 (ja) 認証システム、認証サーバ、サービス提供サーバ、認証方法、及びプログラム
US8321662B2 (en) Certificate renewal using secure handshake
JP7277168B2 (ja) リソースサービスシステム、及び、制御方法
CN108958669B (zh) 信息处理系统、控制方法及存储介质
US11277404B2 (en) System and data processing method
US11025425B2 (en) User security token invalidation
US11444954B2 (en) Authentication/authorization server, client, service providing system, access management method, and medium
US10554831B2 (en) Remote maintenance system for image processing apparatus, capable of reducing user's time and effort, communication establishment method, and storage medium
CN112866385B (zh) 接口调用方法、装置、电子设备和存储介质
JP2013140480A (ja) サーバシステム、サービス提供サーバおよび制御方法
WO2014152076A1 (en) Retry and snapshot enabled cross-platform synchronized communication queue
JP2020145647A (ja) システム、クライアント端末、制御方法、および、プログラム
JP2009245268A (ja) 業務管理システム
JP2019530058A (ja) メッセージングシステム内のメッセージチャネルのアクセス制御
CN116991948A (zh) 区块数据同步系统和方法、电子设备和存储介质
JP2020144763A (ja) システム、および制御方法
JPWO2013042412A1 (ja) 通信システム、通信方法、及びプログラム
JP5522735B2 (ja) セッション管理装置、セッション管理システム、セッション管理方法、及びプログラム
JP2019134333A (ja) 情報処理システム、クライアント装置、認証認可サーバー、制御方法とそのプログラム
US11647020B2 (en) Satellite service for machine authentication in hybrid environments
CN115983850A (zh) 基于区块链的设备控制方法和相关设备
CN114764507A (zh) 资源访问的实现方法、装置、电子设备及存储介质
Smith et al. Joint policy management and auditing in virtual organizations