(57)【要約】【課題】サーバの処理負荷の増加および記憶容量の増加、ならびに通信品質の低下を抑制し、サーバがサービス毎にクライアントに応じて適切にサービスを提供する技術を提供する。【解決手段】本開示の一態様は、ＴＣＰ／ＩＰの通信プロトコルを使用する通信システムに適用され、クライアントの購読要求に応じてクライアントにサービスを提供するサーバであって、テーブル記憶部とサービス決定部とを備えている。テーブル記憶部には、サービス毎に、サービスを受ける優先度がクライアントに対応して設定された優先度テーブルが記憶されている。Ｓ４００〜Ｓ４１０においてサービス決定部は、クライアントからサービスの購読を要求されると、優先度テーブルに基づいて、クライアントからのサービスの購読要求を許可するか否かを決定する。【選択図】図７
2019009559.tif 000002
【特許請求の範囲】
【請求項１】
ＴＣＰ／ＩＰの通信プロトコルを使用する通信システム（１０）に適用され、クライアント（４０〜４４、５０〜５４）の購読要求に応じてクライアントにサービスを提供するサーバ（２０）であって、
前記サービス毎に、前記サービスを受ける優先度が前記クライアントに対応して設定された優先度テーブル（３２）を記憶しているように構成されたテーブル記憶部（３０）と、
前記クライアントから前記サービスの購読を要求されると、前記テーブル記憶部が記憶している前記優先度テーブルに基づいて、前記クライアントからの前記サービスの購読要求を許可するか否かを決定するように構成されたサービス決定部（２６、Ｓ４００〜Ｓ４１０）と、
を備えるサーバ。
【請求項２】
請求項１に記載のサーバであって、
前記優先度テーブルには、前記サービス毎に、前記サービスを提供されるＩＰアドレスとポート番号と、前記ＩＰアドレスと前記ポート番号とに対応した前記優先度とが記憶されており、
前記サービス決定部（Ｓ４０４〜Ｓ４１０）は、前記サービスの購読を要求する前記クライアントから送信される前記ＩＰアドレスと前記ポート番号とから前記優先度テーブルに記憶されている前記優先度を参照し、参照した前記優先度に基づいて、前記クライアントからの前記サービスの購読要求を許可するか否かを決定するように構成されている、
サーバ。
【請求項３】
請求項１または２に記載のサーバであって、
前記優先度テーブルには、前記サービスの特性に基づいて前記クライアントに対応して優先度が設定されている、
サーバ。
【請求項４】
請求項１から３のいずれか一項に記載のサーバであって、
前記優先度テーブルには、前記サービス毎に前記サービスが提供される前記クライアントの上限数が設定されており、
前記サービス決定部（Ｓ４０２〜Ｓ４０６）は、前記クライアントが購読を要求している前記サービスについて、前記サービスが提供されている前記クライアントの数が前記上限数に達している場合、前記サービスが提供されている複数の前記クライアントのうち、前記サービスの購読を要求している前記クライアントよりも前記優先度が低く前記優先度が最低の前記クライアントのいずれかへの前記サービスの提供を停止し、前記サービスの購読を要求している前記クライアントの購読要求を許可するように構成されている、
サーバ。
【請求項５】
請求項４に記載のサーバであって、
前記サービス決定部（Ｓ４０６）は、前記サービスの購読を要求している前記クライアントよりも前記優先度が低く前記優先度が最低の前記クライアントが複数存在する場合、前記サービスの購読を要求した順序に基づいて前記サービスの提供を停止する前記クライアントを決定するように構成されている、
サーバ。
【請求項６】
請求項４または５に記載のサーバであって、
前記上限数は、前記通信システムの通信帯域の限界に基づいて設定されている、
サーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ＴＣＰ／ＩＰの通信プロトコルを使用する通信システムにおいて、クライアントの購読要求に応じてサーバがクライアントにサービスを提供する技術に関する。
【背景技術】
【０００２】
ＴＣＰ／ＩＰの通信プロトコルを使用する通信システムにおいて、クライアントの購読要求に応じてサーバがクライアントにサービスを提供するサービス指向通信の技術が知られている。サーバが同時にサービスを提供できるクライアントの数は無制限ではなく、上限数が設定されている。
【０００３】
ここで、サービスの購読を要求する順番が早かったクライアントからサーバがサービスの購読要求を許可する場合、同時にサービスの提供を受けているクライアントの数が上限数に達すると、既にサービスを受けているクライアントよりもサービスを受ける重要度が高いクライアントが新たにサービスの購読を要求しても拒否される。
【０００４】
サーバが同時にサービスを提供するクライアントの上限数を増加すれば、サーバがクライアントの購読要求を拒否することを抑制できる。しかし、サーバが同時にサービスを提供するクライアントの数が増加すると、サーバの処理負荷およびサービスの提供処理のためにサーバが必要とする記憶容量が増加する。
【０００５】
さらに、サーバが同時にサービスを提供するクライアントの数が増加し、通信帯域の限界を超えるデータ量を通信しようとすると、通信データの抜け、通信の遅延等、通信品質の低下を招くことがある。
【０００６】
そこで、特許文献１に記載されている技術では、クライアントのＩＰアドレスに対応して、クライアント毎にサーバに接続してサーバに処理を要求する優先度が設定されている。
【０００７】
これにより、特許文献１に記載されている技術では、同時にサーバに接続してサーバに処理を要求しているクライアントの数が上限数に達していても、今回接続を要求するクライアントよりも優先度の低いクライアントがサーバに接続されていると、サーバは、優先度の低いクライアントとの接続を遮断し、優先度の高いクライアントの接続を許可する。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００３−０１６０３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
複数のサービスのうちクライアントから要求されたサービスをサーバがクライアントに提供する通信システムにおいては、あるサービスについて他のクライアントよりも優先的にサービスを購読したいクライアントであっても、他のサービスについては他のクライアントよりも優先的にサービスを購読する必要がない場合もある。
【００１０】
このような通信システムに特許文献１に記載の技術を適用すると、サーバが提供するサービスの種類に関わらず、全てのサービスについてクライアン毎に同じ優先度が設定される。
【００１１】
その結果、他のクライアントよりも高い優先度が設定されるクライアントにとって、他のクライアントよりも優先的に提供される必要のないサービスが、他のクライアントよりも優先的に提供されることがある。一方、他のクライアントよりも低い優先度が設定されるクライアントにとって、他のクライアントよりも優先的に提供されたいサービスが、他のクライアントに優先的に提供されることがある。
【００１２】
したがって、サーバがサービス毎にクライアントに応じて適切にサービスを提供できないという課題がある。
本開示は、サーバの処理負荷の増加および記憶容量の増加、ならびに通信品質の低下を抑制し、サーバがサービス毎にクライアントに応じて適切にサービスを提供する技術を提供する。
【課題を解決するための手段】
【００１３】
本開示の一態様は、ＴＣＰ／ＩＰの通信プロトコルを使用する通信システム（１０）に適用され、クライアント（４０〜４４、５０〜５４）の購読要求に応じてクライアントにサービスを提供するサーバ（２０）であって、テーブル記憶部（３０）とサービス決定部（２６、Ｓ４００〜Ｓ４1０）とを備えている。
【００１４】
テーブル記憶部には、サービス毎に、サービスを受ける優先度がクライアントに対応して設定された優先度テーブルを記憶している。
決定部は、クライアントからサービスの購読を要求されると、前記テーブル記憶部が記憶している優先度テーブルに基づいて、クライアントからのサービスの購読要求を許可するか否かを決定する。
【００１５】
この構成によれば、あるサービスについては他のクライアントよりも優先的にサービスを購読したいクライアントに高い優先度を設定し、他のサービスついては他のクライアントよりも優先的にサービスを購読する必要がないクライアントに低い優先度を設定できる。
【００１６】
したがって、サーバが同時にサービスを提供するクライアントの上限数を増加することなく、サーバの処理負荷の増加および記憶容量の増加、ならびに通信品質の低下を抑制し、サービス毎にクライアントに応じて設定された優先度に基づいて、サーバは、サービス毎に優先度に応じてクライアントに適切にサービスを提供できる。
【００１７】
尚、この欄および特許請求の範囲に記載した括弧内の符号は、一つの態様として後述する実施形態に記載の具体的手段との対応関係を示すものであって、本開示の技術的範囲を限定するものではない。
【図面の簡単な説明】
【００１８】
【図１】本実施形態によるサーバを適用した通信システムを示すブロック図。
【図２】サーバの構成を示すブロック図。
【図３】優先度に応じたサービス処理を示すシーケンス図。
【図４】優先度に応じたサービス処理を示す他のシーケンス図。
【図５】ＩＰアドレスとクライアントとの対応を示すブロック。
【図６】サービス毎のクライアントと優先度との対応を示す優先度テーブル。
【図７】サーバがサービスの購読要求を許可するサービス処理を示すフローチャート。
【図８】サーバがサービスの提供を停止するサービス処理を示すフローチャート。
【図９】クライアントがサービスを購読するサービス処理を示すフローチャート。
【発明を実施するための形態】
【００１９】
以下、本開示の実施形態を図に基づいて説明する。
［１．構成］
図１に示す通信システム１０は、サーバＥＣＵ２０とクライアントＥＣＵ４０〜４４と外部電子装置５０〜５４とを備えている。ＥＣＵは、Electronic Control Unitの略である。サーバＥＣＵ２０とクライアントＥＣＵ４０〜４４とは車両２に搭載されており、互いに常時接続している。外部電子装置５０〜５４は、車両２の内部または外部に設置されており、必要に応じてサーバＥＣＵ２０と接続する。
【００２０】
サーバＥＣＵ２０とクライアントＥＣＵ４０〜４４と外部電子装置５０〜５４とは、イーサネット上で、ＴＣＰ／ＩＰの通信プロトコルによりサービス指向通信を実行する。イーサネットは登録商標である。
【００２１】
図１では、３個のクライアントＥＣＵ４０〜４４と３個の外部電子装置５０〜５４とを図示しているが、クライアントＥＣＵと外部電子装置の数は、それぞれ１個、２個または４個以上であってもよい。以下、クライアントＥＣＵ４０〜４４と外部電子装置５０〜５４とのいずれかを表す場合、単にクライアントと言うこともある。
【００２２】
クライアントＥＣＵ４０〜４４は、例えば、パワートレインＥＣＵ、ボディＥＣＵ、ＡＤＡＳ−ＥＣＵである。ＡＤＡＳは、Advanced Driver Assistance Systemの略である。パワートレインＥＣＵは、インジェクタ、モータ等の車両の駆動源を制御する。ボディＥＣＵは、車両のディスプレイの表示、ドアの施錠等を制御する。ＡＤＡＳ−ＥＣＵは、車両２の走行を支援する装置である。
【００２３】
外部電子装置５０〜５４は、例えば、遠隔診断通信サーバ、ＯＴＡサーバ、データ収集サーバ、スマートフォンなどである。ＯＴＡはOver The Airの略である。
遠隔診断通信サーバは、例えば、パワートレインＥＣＵが車両の駆動源を制御する制御パラメータ等をサーバＥＣＵ２０から取得し、車両の走行状態を遠隔で診断する。ＯＴＡサーバは、例えば、車載ＥＣＵに搭載されたソフトウェアの更新等を実行する。データ収集サーバは、例えば、車速等の車両の走行データをサーバＥＣＵ２０から取得する。スマートフォンは、車両２に持ち込まれ、例えば車両２のオーディオ装置を制御する。
【００２４】
サーバＥＣＵ２０とクライアントＥＣＵ４０〜４４と外部電子装置５０〜５４とは、ＣＰＵと、ＲＡＭ、ＲＯＭ、フラッシュメモリ等の半導体メモリとを備えるマイクロコンピュータを搭載している。サーバＥＣＵ２０とクライアントＥＣＵ４０〜４４と外部電子装置５０〜５４とは、一つのマイクロコンピュータを搭載してもよいし、複数のマイクロコンピュータを搭載してもよい。
【００２５】
サーバＥＣＵ２０とクライアントＥＣＵ４０〜４４と外部電子装置５０〜５４との各機能は、ＣＰＵがＲＯＭまたはフラッシュメモリ等の非遷移的実体的記録媒体に記憶されているプログラムを実行することにより実現される。このプログラムが実行されることにより、プログラムに対応する方法が実行される。
【００２６】
図２に示すように、サーバＥＣＵ２０は、イーサネットスイッチ２２と、トランスポート／ネットワーク制御部２４と、サービス／セッション制御部２６と、テーブル記憶部３０とを備えている。
【００２７】
サーバＥＣＵ２０は、クライアントＥＣＵ４０〜４４と外部電子装置５０〜５４とから受信するサービスの購読要求を、サービス毎にクライアントＥＣＵ４０〜４４と外部電子装置５０〜５４とのそれぞれに応じて設定されたサービスを受ける優先度に基づいて管理する。
【００２８】
イーサネットスイッチ２２は、サーバＥＣＵ２０とクライアントＥＣＵ４０〜４４と外部電子装置５０〜５４とのいずれかの送信元から送信されるイーサネットフレームに設定された宛先のＭＡＣアドレスに対応する装置に、イーサネットフレームを送信する。
【００２９】
トランスポート／ネットワーク制御部２４は、クライアントＥＣＵ４０〜４４と外部電子装置５０〜５４とのうち、サービス／セッション制御部２６がサービスの購読要求を許可したクライアントとの通信の確立と遮断とを制御する。
【００３０】
サービス／セッション制御部２６は、クライアントがサービスの購読を要求するときにクライアントから送信されるＩＰアドレスとポート番号とサービスの種類とに基づいて、提供するサービスの種類、ならびにサービスを提供するクライアントとクライアントのアプリケーションとを特定する。
【００３１】
サービス／セッション制御部２６は、後述する優先度テーブル３２と、サービスの提供状態と、サービスの購読を要求しているクライアントの優先度とに基づいて、サービスの購読を要求しているクライアントにサービスの購読要求を許可するか否かを決定する。そして、サービス／セッション制御部２６は、サービスの購読要求を許可したクライアントにサービスの提供を開始するためのセッションを確立し、サービスの提供を停止するときにセッションを終了する。
【００３２】
テーブル記憶部３０は、ＲＯＭまたはフラッシュメモリ等の不揮発性の記憶装置である。テーブル記憶部３０には、サービス毎に、クライアントに対応して設定されたサービスを受ける優先度と、サービスの提供を受けることができるクライアントの上限数とを記憶している。
【００３３】
サービス毎に設定されたクライアントに対応した優先度は、サービスの種類が示すサービスの特性に基づいて、購読するサービスに基づいて処理をするクライアントの重要度に応じて設定されている。
【００３４】
例えば、サーバＥＣＵ２０が車速を提供するサービスについては、車速をディスプレイに表示するボディＥＣＵ、ならびに車速に基づいて車両の走行を制御するＡＤＡＳ−ＥＣＵの優先度を、他のクライアントよりも高く設定されている。
【００３５】
サービス毎の上限数は、通信システム１０の通信帯域の限界に基づいて通信帯域の限界を超えないように設定されている。
［２．処理］
サーバＥＣＵ２０がクライアントＥＣＵ４０〜４４と外部電子装置５０〜５４とにサービスを提供するサービス処理の概要について、図３、図４に基づいて説明する。図３、図４では、説明を簡単にするために、サーバＥＣＵ２０にクライアントＥＣＵ４０、４２だけがサービスの購読を要求する場合を示している。図３、図４では、上から順番にサービス処理を説明する。
【００３６】
図３において、サーバＥＣＵ２０がサービスＡを提供できるクライアントの上限数は１であり、図４において、サーバＥＣＵ２０がサービスＢを提供できるクライアントの上限数は１であるとして説明する。また、図３のサービスＡについて、クライアントＥＣＵ４０の優先度はクライアントＥＣＵ４２よりも高く、図４のサービスＢについて、クライアントＥＣＵ４０の優先度はクライアントＥＣＵ４２よりも低いとする。
【００３７】
図３において通信システム１０が起動すると、サーバＥＣＵ２０は、サーバＥＣＵ２０に接続しているクライアントＥＣＵ４０、４２にサービスの提供を開始することと、提供するサービスの種類とを通知する。サービスの種類とは、例えば車速の提供、車両に搭載されたオーディオ装置を制御するなどのエンターテインメント制御である。
【００３８】
クライアントＥＣＵ４２は、サーバＥＣＵ２０が提供する複数のサービスのうち、購読したいサービスＡの購読をサーバＥＣＵ２０に要求する。
サーバＥＣＵ２０は、サービスＡを提供中のクライアントは存在しないので、クライアントＥＣＵ４２にサービスＡの購読要求を許可する。そして、サーバＥＣＵ２０は、クライアントＥＣＵ４２にサービスＡの提供を開始する。
【００３９】
サーバＥＣＵ２０がクライアントＥＣＵ４２にサービスＡの提供中に、クライアントＥＣＵ４０からサービスＡの購読を要求されると、サーバＥＣＵ２０がサービスＡを提供しているクライアントの数が上限数に達しているので、サーバＥＣＵ２０は、サービスＡについてクライアントＥＣＵ４０の優先度とクライアントＥＣＵ４２の優先度とを比較する。
【００４０】
クライアントＥＣＵ４０の優先度はクライアントＥＣＵ４２の優先度よりも高いので、サーバＥＣＵ２０は、サービスＡの提供を停止することをクライアントＥＣＵ４２に通知する。そして、サーバＥＣＵ２０は、サービスＡの購読要求をクライアントＥＣＵ４０に許可し、クライアントＥＣＵ４０にサービスＡの提供を開始する。
【００４１】
次に、図４において、サーバＥＣＵ２０がクライアントＥＣＵ４２にサービスＢの提供中に、クライアントＥＣＵ４０からサービスＢの購読を要求されると、サーバＥＣＵ２０がサービスＢを提供しているクライアントの数が上限数に達しているので、サーバＥＣＵ２０は、サービスＢについてクライアントＥＣＵ４０の優先度とクライアントＥＣＵ４２の優先度とを比較する。
【００４２】
クライアントＥＣＵ４０の優先度はクライアントＥＣＵ４２よりも低いので、サーバＥＣＵ２０は、サービスＢの購読要求を拒否することをクライアントＥＣＵ４０に通知する。そして、サーバＥＣＵ２０は、クライアントＥＣＵ４２に対するサービスＢの提供を継続する。
【００４３】
このように、同じクライアントであってもサービスによって異なる優先度が設定されているので、同じクライアントであってもサービスによってサービスの購読を許可されたり拒否されたりする。
【００４４】
次に、優先度テーブルの具体的な記憶内容に基づいて、サーバＥＣＵ２０のサービス処理を説明する。
図５に示すように、サーバＥＣＵ２０に、外部電子装置５０と、クライアントＥＣＵ４０〜４４としてパワートレインＥＣＵ４０とボディＥＣＵ４２とＡＤＡＳ−ＥＣＵ４４とが接続している構成を例にして説明する。パワートレインＥＣＵ４０、ボディＥＣＵ４２、ＡＤＡＳ−ＥＣＵ４４、外部電子装置５０のそれぞれのＩＰアドレスは、１０．１．１．１、１０．１．１．２、１０．１．１．３、１０．１．２．１である。
【００４５】
そして、図６に示すように、優先度テーブル３２には、サーバＥＣＵ２０がサービスを提供する種類毎に、サーバＥＣＵ２０がセッションを確立してサービスを提供できるセッション上限数と、サーバＥＣＵ２０がセッションを確立してサービスを提供する提供先のＩＰアドレスとポート番号と、各セッションの優先度とが設定されている。
【００４６】
サービス毎にサーバＥＣＵ２０がサービスを提供しているクライアントの数は、例えば、サーバＥＣＵ２０がサービス毎にセッション数としてカウントしている。
図６では、車速提供の提供先のポート番号を１０、エンターテインメント制御の提供先のポート番号を２０として、サービス毎にＩＰアドレスに関わらずサービスの提供先が同じポート番号に設定されている。これに対し、サービス毎にＩＰアドレスに対応して異なるポート番号が設定されてもよい。
【００４７】
サーバＥＣＵ２０が同時に車速提供のサービスを提供できる上限数は２であり、サーバＥＣＵ２０が同時にエンターテインメント制御のサービスを提供できる上限数は１である。そして、クライアントがサーバＥＣＵ２０からサービスの提供を受ける優先度の最高は５であり、最低は０である。
【００４８】
ＩＰアドレスにおけるその他は、例えば車速提供では、１０．１．１．２、１０．１．１．３以外の他の１０．１．１．１、１０．１．２．１を表している。
車速提供のサービスについて、ＩＰアドレスの１０．１．１．２が示すボディＥＣＵ４２とＩＰアドレスの１０．１．１．３が示すＡＤＡＳ−ＥＣＵ４４との優先度は５であり、その他のクライアントの優先度は０である。エンターテインメント制御のサービスについて、ＩＰアドレスの１０．１．２．１が示す外部電子装置５０の優先度は５であり、ＩＰアドレスの１０．１．１．２が示すボディＥＣＵ４２の優先度は４であり、その他のクライアントの優先度は０である。
【００４９】
車速提供は、車速センサが検出する車速をサーバＥＣＵ２０がクライアントに提供するサービスである。ボディＥＣＵ４２は、サーバＥＣＵ２０から提供される車速をディスプレイ等に表示する。ＡＤＡＳ−ＥＣＵ４４は、サーバＥＣＵ２０から提供される車速を、車両の走行を支援するときのパラメータの一つとして使用する。
【００５０】
エンターテインメント制御は、例えば車両のオーディオ装置で流す音楽の選択、音量の調節を外部電子装置５０としてスマートフォン等のクライアントが制御するサービスである。
【００５１】
このように、サーバＥＣＵ２０がサービスを提供するクライアントを特定するＩＰアドレスと、提供されるサービスを処理するクライアントのアプリケーションを特定するポート番号とに応じて、サーバＥＣＵ２０からサービスを受ける優先度が設定されている。
【００５２】
したがって、同じボディＥＣＵ４２であっても、車速提供とエンターテインメント制御とで、サービスを受ける優先度が異なっている。
［２−１．サーバＥＣＵ２０の処理］
図７のフローチャートに基づいて、サーバＥＣＵ２０が実行するサービス処理について説明する。図７のフローチャートは、サーバＥＣＵ２０がクライアントからサービスの購読を要求されると、サーバＥＣＵ２０が実行するサービス処理である。前述したように、クライアントは、サーバＥＣＵ２０にサービスの購読を要求するとき、サービスを提供されるＩＰアドレスとポート番号とサービスの種類とをサーバＥＣＵ２０に送信する。
【００５３】
例えば、図５、６においてボディＥＣＵ４２が車速提供のサービスの購読を要求する場合、ボディＥＣＵ４２は、サービスの種類として車速提供と、サービスを提供されるＩＰアドレスとしてボディＥＣＵの１０．１．１．２と、サービスを提供されるポート番号として１０とを、サーバＥＣＵ２０に送信する。
【００５４】
Ｓ４００においてサーバＥＣＵ２０は、クライアントからサービスの購読を要求されるときにクライアントから受信するサービスの種類により、提供するサービスの種類を特定する。そして、クライアントから受信するＩＰアドレスによりサービスを提供するクライアントを特定し、クライアントから受信するポート番号によりサービスを提供するクライアントのポート番号を特定する。
【００５５】
Ｓ４０２においてサーバＥＣＵ２０は、現在、該当するサービスを提供しているクライアントの数が上限数に達しているか否かを判定する。
Ｓ４０２の判定がＮｏである、つまり該当するサービスを提供しているクライアントの数が上限数に達していない場合、サーバＥＣＵ２０は処理をＳ４１０に移行する。
【００５６】
Ｓ４０２の判定がＹｅｓである、つまり該当するサービスを提供しているクライアントの数が上限数に達している場合、Ｓ４０４においてサーバＥＣＵ２０は、優先度テーブル３２を参照し、今回サービスの購読を要求しているクライアントよりも優先度の低いクライアントがサービスを受けているか否かを判定する。
【００５７】
Ｓ４０４の判定がＹｅｓである、つまり今回サービスの購読を要求しているクライアントよりも優先度の低いクライアントがサービスを受けている場合、Ｓ４０６においてサーバＥＣＵ２０は、サービスを受けているクライアントのうち優先度が最低のクライアントに対するサービスの提供を停止し、処理をＳ４１０に移行する。
【００５８】
尚、サービスを受けているクライアントのうち、サービスの購読を要求しているクライアントよりも優先度が低く優先度が最低のクライアントが複数存在する場合、サーバＥＣＵ２０は、該当するクライアントがサービスの購読を要求した順序または該当するクライアントがサービスを提供された回数に基づいて、サービスの提供を停止するクライアントを決定する。
【００５９】
例えば、サーバＥＣＵ２０は、最初にサービスの購読を要求したクライアントに対するサービスの提供を停止するか、あるいはサービスを提供された回数が最少のクライアントに対するサービスの提供を停止する。
【００６０】
Ｓ４０４の判定がＮｏである、つまり今回サービスの購読を要求しているクライアントよりも優先度の低いクライアントが存在しない場合、Ｓ４０８においてサーバＥＣＵ２０は、今回サービスの購読を要求しているクライアントに購読要求を拒否することを通知する。
【００６１】
これにより、今回サービスの購読を要求しているクライアントとサーバＥＣＵ２０との間で、サーバＥＣＵ２０が要求されたサービスを提供するためのセッションは確立されない。
【００６２】
Ｓ４１０においてサーバＥＣＵ２０は、サービスの購読を要求しているクライアントとのセッションを確立してサービスの提供を開始する。Ｓ４１２においてサーバＥＣＵ２０は、該当するサービスを提供しているクライアントの数を表すセッション数を＋１する。
【００６３】
［２−２．サーバＥＣＵ２０の処理］
図８のフローチャートは、サーバＥＣＵ２０がクライアントからサービスの購読停止を要求されると、サーバＥＣＵ２０が実行するサービス処理である。
【００６４】
Ｓ４２０においてサーバＥＣＵ２０は、クライアントからサービスの購読停止を要求されるときにクライアントから受信するサービスの種類により、クラインアントから購読停止を要求されているサービスの種類を特定する。そして、クライアントから受信するＩＰアドレスにより購読停止を要求しているクライアントを特定し、クライアントから受信するポート番号により購読停止を要求しているクライアントのポート番号を特定する。
【００６５】
Ｓ４２２においてサーバＥＣＵ２０は、サービスの購読停止を要求しているクライアントにサービスを提供しているか否かを判定する。Ｓ４２２の判定がＮｏである、つまりサービスの購読停止を要求しているクライアンにサービスを提供していない場合とは、例えば以下の（１）、（２）の場合である。
【００６６】
（１）クライアント側の故障のために、クライアントが、サーバＥＣＵ２０がサービスを提供していないにも関わらずサービスの購読停止を要求している。
（２）サーバＥＣＵ２０が該当するクライアントにサービスの提供を停止して現在サービスを提供していないにも関わらず、通信遅延のためにサーバＥＣＵ２０がサービスの購読停止の要求を受信した。
【００６７】
Ｓ４２２の判定がＮｏであれば、サーバＥＣＵ２０は、今回の購読停止の要求を無視し、本処理を終了する。
Ｓ４２２の判定がＹｅｓである、つまりサービスの購読停止を要求しているクライアントにサービスを提供している場合、Ｓ４２４においてサーバＥＣＵ２０は、サービスの購読停止を要求しているクライアントへのサービスの提供を停止する。そして、Ｓ４２６においてサーバＥＣＵ２０は、該当するサービスを提供しているクライアントの数を表すセッション数を−１する。
【００６８】
［２−３．クライアントの処理］
図９のフローチャートは、クライアントがサーバＥＣＵ２０にサービスの購読を要求すると実行するサービス処理である。
【００６９】
Ｓ４３０においてクライアントは、サーバＥＣＵ２０からサービスの購読要求を許可することを受信したか否かを判定する。Ｓ４３０の判定がＮｏである、つまり、クライアントがサーバＥＣＵ２０からサービスの購読要求を許可されていない場合、クライアントは本処理を終了する。
【００７０】
Ｓ４３０の判定がＹｅｓである、つまり、サーバＥＣＵ２０からサービスの購読要求を許可されると、Ｓ４３２において、サービスの購読要求を許可されたクライアントは、サーバＥＣＵ２０との間でセッションを確立し、サーバＥＣＵ２０から送信されるサービスの受信を開始する。
【００７１】
Ｓ４３４においてクライアントは、必要なサービスの受信を終了したのでサービスの購読が不要になったか否かを判定する。Ｓ４３４の判定がＹｅｓである、つまりサービスの購読が不要になると、クライアントは処理をＳ４４０に移行する。
【００７２】
Ｓ４３４の判定がＮｏである、つまりサービスの購読がまだ必要でサービスの購読中の場合、Ｓ４３６においてクライアントは、例えばサーバＥＣＵ２０側の故障または通信障害によりサーバＥＣＵ２０からのサービスの受信が所定時間以上途絶えているか否かを判定する。Ｓ４３６の判定がＹｅｓである、つまりサーバＥＣＵ２０からのサービスの受信が所定時間以上途絶えている場合、クライアントは処理をＳ４４２に移行する。
【００７３】
Ｓ４３６の判定がＮｏである、つまりサーバＥＣＵ２０からのサービスの受信が所定時間以上途絶えていない場合、Ｓ４３８においてクライアントは、サービスの購読中であるにも関わらず、サーバＥＣＵ２０からセッションの終了を通知されたか否かを判定する。サービスの購読中であるにも関わらず、サーバＥＣＵ２０からセッションの終了を通知されるのは、例えば、サーバＥＣＵ２０側の故障でサービスを提供できないためである。
【００７４】
Ｓ４３８の判定がＹｅｓである、つまりサーバＥＣＵ２０からセッションの終了を通知された場合、クライアントは処理をＳ４４２に移行する。
サービスの購読が不要になると、Ｓ４４０においてクライアントは、サービスの購読停止をサーバＥＣＵ２０に要求する。Ｓ４４２においてクライアントは、該当するサービスを購読するセッションを終了する。
【００７５】
［３．効果］
以上説明した上記実施形態では、以下の効果を得ることができる。
（１）あるサービスについては他のクライアントよりも優先的にサービスを購読したいクライアントに高い優先度を設定し、他のサービスついては他のクライアントよりも優先的にサービスを購読する必要がないクライアントに低い優先度を設定できる。
【００７６】
したがって、サーバＥＣＵ２０が同時にサービスを提供するクライアントの上限数を増加することなく、サーバＥＣＵ２０の処理負荷の増加および記憶容量の増加、ならびに通信品質の低下を抑制し、サービス毎にクライアントに応じて設定された優先度に基づいて、サーバＥＣＵ２０は、サービス毎に優先度に応じてクライアントに適切にサービスを提供できる。
【００７７】
（２）サービス毎にサーバＥＣＵ２０がサービスを提供できるクライアントの上限数が、通信システム１０の通信帯域の限界に基づいて通信帯域の限界を超えないように設定されている。これにより、各サービスについてサービスを受けているクライアントの数が上限数に達しても、通信データ量は通信帯域の限界を超えない。したがって、通信データの抜け、通信の遅延等の通信品質の低下を抑制できる。
【００７８】
（３）サービスの特性に応じてクライアント毎に優先度が設定されているので、サービスを購読して処理する重要度が高いクライアントに、サーバＥＣＵ２０はサービスを優先して提供できる。例えば、上記実施形態のように車載の通信システム１０において、サーバＥＣＵ２０は、車両の走行を制御するために必要な車速を、車両の走行を制御するＡＤＡＳ−ＥＣＵ４４に優先して提供をすることができる。
【００７９】
以上説明した上記実施形態において、サーバＥＣＵ２０がサーバに対応し、クライアントＥＣＵ４０〜４４と外部電子装置５０〜５４とがクライアントに対応し、サービス／セッション制御部２６がサービス決定部に対応する。
【００８０】
また、Ｓ４００〜Ｓ４１０がサービス決定部の処理に対応する。
［４．他の実施形態］
（１）上記実施形態では、車載の通信システム１０のサーバＥＣＵ２０について説明した。これ以外にも、サービス毎にサービスを受ける優先度をクライアント毎に設定されるのであれば、車載に限らずどのような通信システムのサーバが、優先度に応じてクライアントからのサービスの購読要求を許可するか否かを決定してもよい。
【００８１】
（２）サービス毎に設定されるクライアントの優先度を、クライアントがサービスの購読を要求する頻度に応じて可変に設定してもよい。例えば、所定期間にクライアントがサービスの購読を要求する回数が第１の所定回数以上になると、クライアントの優先度を１ランク上昇させてもよい。これに対し、所定期間にクライアントがサービスの購読を要求する回数が第１の所定回数よりも少ない第２の所定回数未満になるとクライアントの優先度を１ランク低下させてもよい。
【００８２】
（３）上記実施形態における一つの構成要素が有する複数の機能を複数の構成要素によって実現したり、一つの構成要素が有する一つの機能を複数の構成要素によって実現したりしてもよい。また、複数の構成要素が有する複数の機能を一つの構成要素によって実現したり、複数の構成要素によって実現される一つの機能を一つの構成要素によって実現したりしてもよい。また、上記実施形態の構成の一部を省略してもよい。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加又は置換してもよい。尚、特許請求の範囲に記載した文言のみによって特定される技術思想に含まれるあらゆる態様が本発明の実施形態である。
【００８３】
（４）上述したサーバＥＣＵ２０の他、当該サーバＥＣＵ２０を構成要素とする通信システム１０、当該サーバＥＣＵ２０としてコンピュータを機能させるためのサービス処理プログラム、このサービス処理プログラムを記録した記録媒体、サービス処理方法など、種々の形態で本発明を実現することもできる。
【符号の説明】
【００８４】
１０：通信システム、２０：サーバ、３０：テーブル記憶部、３２：優先度テーブル、４０〜４４：クライアントＥＣＵ（クライアント）、５０〜５４：外部電子装置（クライアント）
【図１】
2019009559.tif 000003
【図２】
2019009559.tif 000004
【図３】
2019009559.tif 000005
【図４】
2019009559.tif 000006
【図５】
2019009559.tif 000007
【図６】
2019009559.tif 000008
【図７】
2019009559.tif 000009
【図８】
2019009559.tif 000010
【図９】
2019009559.tif 000011