特許第5798075号(P5798075)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ KDDI株式会社の特許一覧

特許5798075メッセージングサーバを用いた状態通知方法及びシステム
<>
  • 特許5798075-メッセージングサーバを用いた状態通知方法及びシステム 図000002
  • 特許5798075-メッセージングサーバを用いた状態通知方法及びシステム 図000003
  • 特許5798075-メッセージングサーバを用いた状態通知方法及びシステム 図000004
  • 特許5798075-メッセージングサーバを用いた状態通知方法及びシステム 図000005
  • 特許5798075-メッセージングサーバを用いた状態通知方法及びシステム 図000006
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5798075
(24)【登録日】2015年8月28日
(45)【発行日】2015年10月21日
(54)【発明の名称】メッセージングサーバを用いた状態通知方法及びシステム
(51)【国際特許分類】
   G06F 13/00 20060101AFI20151001BHJP
【FI】
   G06F13/00 353B
【請求項の数】4
【全頁数】11
(21)【出願番号】特願2012-70860(P2012-70860)
(22)【出願日】2012年3月27日
(65)【公開番号】特開2013-205874(P2013-205874A)
(43)【公開日】2013年10月7日
【審査請求日】2014年7月25日
(73)【特許権者】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】100135068
【弁理士】
【氏名又は名称】早原 茂樹
(72)【発明者】
【氏名】宮本 崇弘
【審査官】 田上 隆一
(56)【参考文献】
【文献】 特開2006−243985(JP,A)
【文献】 特開2005−209059(JP,A)
【文献】 特開2010−114881(JP,A)
【文献】 特開2001−216105(JP,A)
【文献】 竹房 あつ子,NSI相互運用試験のためのGridARSによるネットワーク資源管理,電子情報通信学会技術研究報告,日本,社団法人電子情報通信学会,2012年 3月 1日,Vol.111 No.468,p.255〜260
(58)【調査した分野】(Int.Cl.,DB名)
G06F 13/00
(57)【特許請求の範囲】
【請求項1】
ジョブ処理を要求するクライアントと、ポーリング方式で状態を通知するNSI(Network Service Interface)対応のジョブ処理サーバとを有するシステムにおける状態通知方法であって、
前記システムは、メッセージを中継して転送するメッセージングサーバを更に有し、
前記クライアントが、クライアント名@ドメイン名から構成されたクライアントアカウントを、前記メッセージングサーバへ登録する第1のステップと、
前記クライアントが、前記クライアントアカウントを含むジョブ要求メッセージを、前記ジョブ処理サーバへ送信する第2のステップと、
前記ジョブ処理サーバが、前記ジョブ要求メッセージに対応するジョブを生成し、該ジョブに対応する、対象設備識別子@ドメイン名から構成されたジョブアカウントを、前記メッセージングサーバへ登録する第3のステップと、
前記ジョブ処理サーバが、前記メッセージングサーバへ、前記ジョブアカウントのコンタクトリストに前記クライアントアカウントを登録する第4のステップと、
前記ジョブ処理サーバが、前記ジョブアカウントに対する状態通知メッセージを、前記メッセージングサーバへ送信する第5のステップと、
前記メッセージングサーバが、前記状態通知メッセージを、前記クライアントアカウントへ転送する第6のステップと
を有することを特徴とする状態通知方法。
【請求項2】
前記メッセージングサーバは、XMPP(eXtensible Messaging and Presence Protocol)に対応したインスタントメッセージングサーバであ
ことを特徴とする請求項1に記載の状態通知方法。
【請求項3】
ジョブ処理を要求するクライアントと、ポーリング方式で状態を通知するNSI対応のジョブ処理サーバとを有する状態通知システムであって、
メッセージを中継して転送するメッセージングサーバを更に有し、
前記クライアントは、
クライアント名@ドメイン名から構成されたクライアントアカウントを、前記メッセージングサーバへ登録するクライアントアカウント登録手段と、
前記クライアントアカウントを含むジョブ要求メッセージを、前記ジョブ処理サーバへ送信するジョブ要求手段とを有し、
前記ジョブ処理サーバは、
前記ジョブ要求メッセージに対応するジョブを生成するジョブ生成手段と、
前記ジョブに対応する、対象設備識別子@ドメイン名から構成されたジョブアカウントを、前記メッセージングサーバへ登録するジョブアカウント登録手段と、
前記メッセージングサーバへ、前記ジョブアカウントのコンタクトリストに前記クライアントアカウントを設定するクライアントアカウント設定手段と、
前記ジョブアカウントに対する状態通知メッセージを、前記メッセージングサーバへ送信する状態通知送信手段とを有し、
前記メッセージングサーバが、前記状態通知メッセージを、前記クライアントアカウントへ転送する
ことを特徴とする状態通知システム。
【請求項4】
前記メッセージングサーバは、XMPPに対応したインスタントメッセージングサーバであ
ことを特徴とする請求項に記載の状態通知システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、クライアントが、サーバにおける処理状態を確認する技術に関する。
【背景技術】
【0002】
従来、クライアントがサーバにおける処理状態を確認するために、「ポーリング(polling)」技術がある。この技術によれば、クライアントが、ポーリング(問合せ)メッセージをサーバへ定期的に送信し、これに対し、サーバが、現時点の処理状態を含む応答メッセージをクライアントへ返信する。
【0003】
このようなポーリング技術を大規模に用いた用途として、資源管理システムがある。近年、地理的に分散した計算資源を、高速なネットワーク資源で相互に結ぶことによって、大規模高性能計算システムを構築することが可能となってきた。これを実現するためには、通信における遅延・帯域の不安定、及び/又は、計算機における過負荷等を引き起こさないように、必要なネットワーク資源及び/又は計算資源(及びストレージ資源)を予め確保しておかなければならない。資源管理システムによれば、これら資源を、エンドツーエンドのサービスレベルの通信品質に応じて、予約管理することができる。
【0004】
図1は、対象設備システムに資源管理サーバを備えたシステム構成図である。
【0005】
図1によれば、資源管理サーバとしてのジョブ処理サーバ1が、ネットワーク資源及び計算資源からなる対象設備システム3を管理している。ジョブ処理サーバ1は、ユーザによって操作されるクライアント2からの要求に応じて、対象設備システム3における資源の確保/開放/変更等の管理をする。
【0006】
クライアント2は、所望の資源が所望の状態(例えば予約状態、利用可能状態又は利用終了状態)になったことを確認するために、ジョブ処理サーバ1へ定期的にポーリング(問合せ)メッセージを送信する。ジョブ処理サーバ1は、そのポーリングメッセージに対して、当該資源における現時点の状態を含む状態通知メッセージを、クライアント2へ応答する。これによって、クライアント2は、要求した資源の状態が、どのような状態であるかを知ることができる。
【0007】
このような技術によれば、多数のクライアント2が定期的にポーリングするために、ジョブ処理サーバ1に処理負荷が集中すると共に、やりとりされるポーリングメッセージの数も多くなる。また、ジョブ確保の緊急度に応じて、クライアント2が、ジョブ処理サーバ1に対する問合せメッセージを送信する時間間隔(周期)も短くなり(送信頻度が増加し)、結果的にポーリングメッセージの数も膨大となってしまう。
【0008】
これに対し、対象設備としてのネットワーク機器の状態を監視するために、メッセージングサーバを用いてクライアント−サーバ間のメッセージングを簡素化する技術がある(例えば特許文献1参照)。この技術によれば、状態通知メッセージを送信するネットワーク機器が、通知先となるクライアント(EMS(Element Management System)/NMS(Network Management System))を予め登録しており、そのクライアントへ向けてメッセージを送信する。
【0009】
また、状態を更新するサーバが、プレゼンスサーバに対して、情報公開者(publisher)として登録する技術もある(例えば特許文献2参照)。この技術によれば、状態通知メッセージを受信するクライアントが、プレゼンスサーバに対して、その情報公開者が更新した情報を取得するように購読者(subscriber)として登録する。これによって、情報公開者としてのサーバから送信された状態通知メッセージは、プレゼンスサーバを介して、購読者としてのクライアントへ迅速に転送される。
【先行技術文献】
【特許文献】
【0010】
【特許文献1】特表2007−520786号公報
【特許文献2】特表2006−512640号公報
【発明の概要】
【発明が解決しようとする課題】
【0011】
しかしながら、特許文献1に記載された技術によれば、状態を更新する対象設備(ネットワーク機器)は、状態通知メッセージを送信すべきクライアント(EMS/NMS)を予め登録しておく必要がある。そのために、不特定多数のクライアントが、サーバに処理を要求する場合、対象設備が事前にクライアントを把握しておくことはできない。
【0012】
また、特許文献2に記載された技術によれば、購読者(subscriber)となるクライアントが、情報公開者(publisher)となるサーバを事前に知っておく必要がある。しかしながら、ジョブ処理のように、特定のクライアントのみに通知したい場合、subscriber毎にpublisherを新設しなくてはならない。そのため、クライアントが事前にサーバのpublisherを把握しておくことはできない。
【0013】
そこで、本発明は、ポーリング技術を用いることなく、クライアントがジョブ要求メッセージをジョブ処理サーバへ送信するだけで、そのジョブにおける状態が更新された際に、クライアントが状態通知メッセージを迅速に受信することができる状態通知方法及びシステムを提供することを目的とする。
【課題を解決するための手段】
【0014】
本発明によれば、ジョブ処理を要求するクライアントと、ポーリング方式で状態を通知するNSI(Network Service Interface)対応のジョブ処理サーバとを有するシステムにおける状態通知方法であって、
システムは、メッセージを中継して転送するメッセージングサーバを更に有し、
クライアントが、クライアント名@ドメイン名から構成されたクライアントアカウントを、メッセージングサーバへ登録する第1のステップと、
クライアントが、クライアントアカウントを含むジョブ要求メッセージを、ジョブ処理サーバへ送信する第2のステップと、
ジョブ処理サーバが、ジョブ要求メッセージに対応するジョブを生成し、該ジョブに対応する、対象設備識別子@ドメイン名から構成されたジョブアカウントを、メッセージングサーバへ登録する第3のステップと、
ジョブ処理サーバが、メッセージングサーバへ、ジョブアカウントのコンタクトリストにクライアントアカウントを登録する第4のステップと、
ジョブ処理サーバが、ジョブアカウントに対する状態通知メッセージを、メッセージングサーバへ送信する第5のステップと、
メッセージングサーバが、状態通知メッセージを、クライアントアカウントへ転送する第6のステップと
を有することを特徴とする。
【0016】
本発明の状態通知方法における他の実施形態によれば、
メッセージングサーバは、XMPP(eXtensible Messaging and Presence Protocol)に対応したインスタントメッセージングサーバであることも好ましい。
【0017】
本発明によれば、ジョブ処理を要求するクライアントと、ポーリング方式で状態を通知するNSI対応のジョブ処理サーバとを有する状態通知システムであって、
メッセージを中継して転送するメッセージングサーバを更に有し、
クライアントは、
クライアント名@ドメイン名から構成されたクライアントアカウントを、メッセージングサーバへ登録するクライアントアカウント登録手段と、
クライアントアカウントを含むジョブ要求メッセージを、ジョブ処理サーバへ送信するジョブ要求手段とを有し、
ジョブ処理サーバは、
ジョブ要求メッセージに対応するジョブを生成するジョブ生成手段と、
ジョブに対応する、対象設備識別子@ドメイン名から構成されたジョブアカウントを、メッセージングサーバへ登録するジョブアカウント登録手段と、
メッセージングサーバへ、ジョブアカウントのコンタクトリストにクライアントアカウントを設定するクライアントアカウント設定手段と、
ジョブアカウントに対する状態通知メッセージを、メッセージングサーバへ送信する状態通知送信手段とを有し、
メッセージングサーバが、状態通知メッセージを、クライアントアカウントへ転送する
ことを特徴とする。
【0019】
本発明の状態通知システムにおける他の実施形態によれば、
メッセージングサーバは、XMPPに対応したインスタントメッセージングサーバであることも好ましい。
【発明の効果】
【0020】
本発明の状態通知方法及びシステムによれば、ポーリング技術を用いることなく、クライアントがジョブ要求メッセージをジョブ処理サーバへ送信するだけで、そのジョブにおける状態が更新された際に、クライアントが状態通知メッセージを迅速に受信することができる、また、クライアントは、状態を更新する対象設備システムにおける特定の識別情報を知ること無く、メッセージングサーバから状態通知メッセージを受信することができる。
【図面の簡単な説明】
【0021】
図1】従来技術におけるシステム構成図である。
図2】本発明におけるシステム構成図である。
図3】本発明におけるシーケンス図である。
図4図3のシーケンスに伴うメッセージ内容を表す説明図である。
図5】本発明におけるクライアント及びジョブ処理サーバの機能構成図である。
【発明を実施するための形態】
【0022】
以下では、本発明の実施の形態について、図面を用いて詳細に説明する。
【0023】
図2は、本発明におけるシステム構成図である。
【0024】
図2によれば、図1と比較して、メッセージングサーバ4を更に有する。「メッセージングサーバ」とは、例えばSkype(登録商標)やWindows Messenger(登録商標)に代表されるIM(インスタント・メッセージング)サーバである。特に、メッセージングサーバは、相手側クライアントが接続しているか否かの状態(ステータス)を、自側クライアントへ通知することもできる。
【0025】
メッセージングサーバのプロトコルとして、RFC3920及びRFC3921で規格化されたXMLベースのXMPP(eXtensible Messaging and Presence Protocol)がある。これは、メールサーバと同様に、username@domainの形式のアカウントを利用する。
【0026】
図2によれば、対象設備システムにおける資源管理の状態変化を検出した資源管理サーバ(ジョブ処理サーバ)1は、メッセージングサーバ4へ、状態通知メッセージを送信する。メッセージングサーバ4は、受信した状態通知メッセージを、登録したクライアント2へ転送する。即ち、本発明によれば、ジョブ処理サーバ1における状態通知メッセージは、ポーリング方式ではなく、メッセージング方式によって、クライアント2へ通知される。
【0027】
図3は、本発明におけるシーケンス図である。
図4は、図3のシーケンスに伴うメッセージ内容を表す説明図である。
【0028】
(S1)クライアント2は、クライアントアカウントを、メッセージングサーバ4へ登録する。例えば、XMPPサーバがejabberdの場合、以下のようなコマンドで登録することができる。
$ ejabberdctl register juliet example.com password
"ejabberdctl"は、XMPPを実装したソフトウェアであるejabberdのコマンドの1つである。"ejabberdctl register"は、「アカウントの登録」を意味するコマンドであり、アカウント"juliet"及びドメイン"examle.com"の登録が要求されている。これによって、メッセージングサーバ4は、juliet@examle.comのアカウントを登録する。
【0029】
(S2)次に、クライアント2は、クライアントアカウントを含むジョブ要求メッセージを、ジョブ処理サーバ1へ送信する。「ジョブ要求メッセージ」は、要求するジョブの内容情報に加えて、当該クライアント2のアカウントjuliet@examle.comも含む。
【0030】
ここで、ジョブ処理サーバ1がネットワーク資源管理サーバである場合、ジョブ要求メッセージは、例えばOpen Grid Forumによって規定されているNSI(Network
Service Interface)に基づく。NSIによれば、クライアントのアカウントを、"RequesterNSA"と称する名前で設定することができる。この場合、ジョブ要求メッセージは、NSIのreserve(予約)メッセージであってもよい。ネットワーク資源管理サーバに対するreserveメッセージには、確保すべきネットワークパスの端点や帯域、予約時間を指定すると共に、クライアントのアカウントを含む。
【0031】
(S3)ジョブ処理サーバ1は、受信したジョブ要求メッセージに対応するジョブを生成し、そのジョブに対応するジョブアカウントを作成する。そして、ジョブ処理サーバ1は、そのジョブアカウントを、メッセージングサーバ4へ登録する。
【0032】
ネットワーク資源管理サーバとしてのジョブ処理サーバ1が、例えばreserveメッセージを受信した場合、それに対応するジョブを生成する。ここで、対象設備システムにおけるネットワークパスには、ユニークな"connection ID"が割り当てられている。そこで、ネットワーク資源管理サーバ1は、管理対象となるネットワークパスの"connection ID"と、その対象設備システムのドメイン"example.com"とを組み合わせて、例えばXMPPのアカウントとして、"connectionID@domain"を生成する。
【0033】
次に、ジョブ処理サーバ1は、生成したアカウントをメッセージングサーバ4へ登録する。例えば、XMPPサーバがejabberdの場合、以下のようなコマンドで登録することができる。
$ ejabberdctl register connectionID domain password
【0034】
(S4)次に、ジョブ処理サーバ1は、メッセージングサーバ4へ、ジョブアカウントのコンタクトリストにクライアントアカウントを設定する。ジョブアカウントのコンタクトリストとは、メッセージの通知先の一覧を意味する。XMPPの場合、以下のようなメッセージのシーケンスが実行される。NRMはジョブ処理サーバ1を表し、MSSはメッセージングサーバ4を表す。
【0035】
最初に、ジョブ処理サーバ1が、メッセージングサーバ4へ、jabberのクライアントとしての登録開始メッセージを送信し、ログインする。
次に、メッセージングサーバ4が、ジョブ処理サーバ1へ、対応可能な認証方式を返信する。
これに対し、ジョブ処理サーバ1は、メッセージングサーバ4へ、"PLAIN"を選択して、その旨を送信する。
これに対し、メッセージングサーバ4は、ジョブ処理サーバ1へ、成功(対応可能)応答を返信する。
次に、ジョブ処理サーバ1は、プレゼンスコマンド"presence"を用いて、ジョブアカウント"connectID@examle.com"のコンタクトリストに、クライアントアカウント"juliet@example.com"を設定する。ここでは、タイプ"subscribe"とすることによって、ジョブアカウント"connectID@examle.com"からのメッセージを、クライアントアカウント"juliet@example.com"が購読することを意味する。
これに対し、メッセージングサーバ4は、ジョブ処理サーバ1へ、クライアントアカウント"juliet@example.com"が登録された旨の応答メッセージを返信する。
これによって、メッセージングサーバ4は、ジョブアカウントからのメッセージを、登録されたクライアントアカウントへ転送するように機能する。
【0036】
(S5)そして、ジョブ処理サーバ1は、ジョブ処理を実行する。その後、ジョブにおける状態た変化した際に、ジョブ処理サーバ1は、ジョブにおける状態通知メッセージを、メッセージングサーバ4へ送信する。コマンド"presence"によって、送信元アカウントはジョブアカウント"connectID@examle.com"であり、状態は"Status"で表される。
【0037】
(S6)これに対し、メッセージングサーバ4が、ジョブ処理サーバ1から状態通知メッセージを受信した際に、その送信元アカウント(ジョブアカウント)を認識する。そして、その送信元アカウントからのメッセージを購読すべきリストに登録されたアカウント(クライアントアカウント)を検索する。そして、メッセージングサーバ4は、その状態通知メッセージを、クライアントアカウントに対応するクライアント2へ転送する。
【0038】
これによって、クライアント2は、ジョブアカウントに対応する状態を知ることができる。また、ジョブ処理サーバ1のジョブの状態が変化した場合、ジョブ処理サーバ1が、そのジョブアカウントから状態通知メッセージを送信するだけで、メッセージングサーバ4からその状態を知りたいクライアントへ転送される。
【0039】
図5は、本発明におけるクライアント及びジョブ処理サーバの機能構成図である。
【0040】
図5によれば、クライアント2は、アプリケーション処理部20と、クライアントアカウント登録部21と、ジョブ要求部22と、状態通知受信部23とを有する。
【0041】
クライアントアカウント登録部21は、クライアントアカウントを、メッセージングサーバ4へ登録する(図3及び図4のS1参照)。メッセージングサーバ4が、XMPPに対応している場合、クライアントアカウントは、クライアント名@ドメイン名から構成される。
【0042】
ジョブ要求部22は、アプリケーション処理部20からの指示に応じて、クライアントアカウントを含むジョブ要求メッセージを、ジョブ処理サーバ1へ送信する(図3及び図4のS2参照)。ジョブ処理サーバ1がネットワーク資源管理サーバである場合、ジョブ要求メッセージは、NSIの予約(Reserve)要求メッセージであってもよい。
【0043】
状態通知受信部23は、メッセージングサーバ4から状態通知メッセージを受信し、その内容をアプリケーション処理部20へ出力する(図3及び図4のS6参照)。
【0044】
ジョブ処理サーバ1は、ジョブ処理部10と、ジョブ生成部11と、ジョブアカウント登録部12と、クライアントアカウント設定部13と、状態通知送信部14とを有する。
【0045】
ジョブ生成部11は、クライアント2から受信したジョブ要求メッセージに対応するジョブ処理部10を生成する(図3及び図4のS3参照)。
【0046】
ジョブアカウント登録部12は、ジョブに対応するジョブアカウントを、メッセージングサーバ4へ登録する(図3及び図4のS3参照)。メッセージングサーバ4が、XMPPに対応している場合、ジョブアカウントは、ネットワーク資源のコネクションIDを用いて、対象設備識別子@ドメイン名から構成される。
【0047】
クライアントアカウント設定部13は、メッセージングサーバ4へ、ジョブアカウントのコンタクトリストにクライアントアカウントを設定する(図3及び図4のS4参照)。
【0048】
状態通知送信部14は、ジョブ処理部10における状態が更新された際に、当該ジョブに対する状態通知メッセージを、メッセージングサーバ4へ送信する(図3及び図4のS5参照)。
【0049】
以上、詳細に説明したように、本発明の状態通知方法及びシステムによれば、ポーリング技術を用いることなく、クライアントがジョブ要求メッセージをジョブ処理サーバへ送信するだけで、そのジョブにおける状態が更新された際に、クライアントが状態通知メッセージを迅速に受信することができる、また、クライアントは、状態を更新する対象設備システムにおける特定の識別情報を知ること無く、メッセージングサーバから状態通知メッセージを受信することができる。
【0050】
前述した本発明の種々の実施形態について、本発明の技術思想及び見地の範囲の種々の変更、修正及び省略は、当業者によれば容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。
【符号の説明】
【0051】
1 ジョブ処理サーバ、資源管理サーバ
10 ジョブ処理部
11 ジョブ生成部
12 ジョブアカウント登録部
13 クライアントアカウント設定部
14 状態通知送信部
2 クライアント
20 アプリケーション処理部
21 クライアントアカウント登録部
22 ジョブ要求部
23 状態通知受信部
3 対象設備システム
4 メッセージングサーバ
図1
図2
図3
図4
図5