JP4667859B2 - エージェントの、メッセージ処理装置、メッセージ処理方法、及びメッセージ処理プログラム - Google Patents

エージェントの、メッセージ処理装置、メッセージ処理方法、及びメッセージ処理プログラム Download PDF

Info

Publication number
JP4667859B2
JP4667859B2 JP2004380864A JP2004380864A JP4667859B2 JP 4667859 B2 JP4667859 B2 JP 4667859B2 JP 2004380864 A JP2004380864 A JP 2004380864A JP 2004380864 A JP2004380864 A JP 2004380864A JP 4667859 B2 JP4667859 B2 JP 4667859B2
Authority
JP
Japan
Prior art keywords
agent
message
priority
processing
memory
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.)
Expired - Fee Related
Application number
JP2004380864A
Other languages
English (en)
Other versions
JP2006185363A (ja
Inventor
学 山本
光生 小柳
敬明 小林
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2004380864A priority Critical patent/JP4667859B2/ja
Priority to CN200510124281A priority patent/CN100581155C/zh
Priority to US11/319,893 priority patent/US7421703B2/en
Publication of JP2006185363A publication Critical patent/JP2006185363A/ja
Priority to US12/143,976 priority patent/US7865903B2/en
Application granted granted Critical
Publication of JP4667859B2 publication Critical patent/JP4667859B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/50Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
    • H04M3/51Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
    • H04M3/523Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing with call distribution or queueing
    • H04M3/5232Call distribution algorithms
    • H04M3/5235Dependent on call type or called number [DNIS]

Landscapes

  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Description

本発明は、大量エージェントのメッセージを処理する、メッセージ処理装置、メッセージ処理方法、及びメッセージ処理プログラムに関する。
近年、大量エージェントの処理を、短時間で行うシステムが必要になってきた。例えば、ユーザごとに用意されたエージェントに、各ユーザの嗜好に合わせた情報を鉄道の駅等で提供するシステムが挙げられる。このサービスは、予め登録されたユーザが駅の自動改札機を通過した際に、その駅周辺の情報を、ユーザの嗜好に合わせて検索し、ユーザの携帯端末等に送信するものである。このサービスでは、鉄道路線の全駅において、自動改札機を通過するユーザが対象となり得、同時刻に自動改札を通過するユーザ数の増加に伴って、短時間に大量のエージェントのメッセージを処理することが必要になる。
特許文献1によると、大量のエージェントのメッセージを効率的に処理するため、優先度の高いメッセージを持つエージェントを他のエージェントに優先して処理するようにしている。また、顧客ごとに用意されるエージェントにも、顧客に合わせた優先度により差を設け処理するようにしている。そして、データベースで管理されているエージェントでは、データベースへのアクセス負荷を軽減させるために、エージェントをシステムメモリ上にキャッシュし、メッセージ・キューに格納されているメッセージを、エージェント毎に全て処理し終わってから、またはメッセージの連続処理数の上限を越えたら、次のエージェントの処理に移ることにより、データベースへのアクセスを最小にしようとするものである。即ち、キャッシュ・メモリ上にあるエージェントを優先的に、エージェントおよびメッセージの優先度に合わせて、かつ、1つのエージェントのメッセージを連続処理することにより、データベースへのアクセス回数の削減を図り、メッセージの処理を促進しようとするものである。
特開2004−192047号公報
しかしながら、上記特許文献1の技術は、優先度の高いメッセージを持つエージェントを優先して処理するが、そのメッセージの処理は、データベースへのアクセス回数を削減するため、1つのエージェントで優先度の高いメッセージの処理だけでなく併せて優先度の低いメッセージも連続して処理するため、優先度の低いメッセージを処理した後でなければ、次のエージェントの優先度の高いメッセージの処理が行われない。もし、優先度の高いメッセージと低いメッセージを混合して持つエージェントが大量にある場合、各エージェントの優先度の高いメッセージと優先度の低いメッセージのそれぞれが処理されるため、より後に処理されるエージェントの優先度の高いメッセージの処理は、優先度の低いメッセージの処理が間に入るために、大幅に遅れることになる。
例えば、駅周辺情報配信サービスにおいては、遅延の問題が指摘される。駅周辺情報配信サービスとは、自動改札機に定期券を入れた際に、利用者が予め登録していた情報カテゴリに合致するような駅周辺の広告や交通情報を、エージェントから利用者の携帯電話等に送信するサービスである。これらのサービスを行う場合、駅からまだそれほど移動していない時間内に広告情報や交通情報が届かなければならない、情報の内容が各利用者の嗜好情報などに応じたものにしなければならない、などの時間と場所、嗜好情報の制約があり、これらを満たした上で、多くの利用者にサービスを提供しなければならない。これらの処理を行うエージェントは利用者毎に存在し、情報配信だけでなく、利用者に配信すべき新しい広告情報の登録処理も行う。また、広告登録時に利用者毎のサブスクライブ情報でフィルタする必要があるが、自動改札機通過時毎にデータベースの検索処理をして、利用者ごとにカスタマイズするような負荷のかかる処理は避ける必要がある。そのため、利用者ごとに配信対象となる広告情報等を持つようにしている。そして、このサービスでは、利用者が自動改札機を通過したときの情報配信処理については高速性が要求されるが、各利用者に対する広告情報の登録処理のようなものについては、それほど高速性は要求されない。
また、ユーザの携帯電話に内臓のGPS等でユーザの位置情報を得て、ユーザの要求に応じて、その携帯電話に、ユーザの時間、場所、嗜好に併せたピンポイントでの情報配信サービスなどでも、同様の遅延の問題が生じる可能性がある。すなわち、混雑するショッピングモールや観光地では、お店の広告情報の登録・配信処理のほか、ユーザからの要求によりレストランやカフェの空席情報の登録・配信処理も考えられる。この場合、ユーザへの配信処理にはユーザが情報を要求した場所からそれほど移動しない時間内に処理が必要で高速性が要求される。一方、登録処理においては、レストランやカフェの空席情報では比較的高速性が要求されるが、来月から開催されるセールの広告情報の登録処理などでは、高速性は要求されない。
しかし、上記特許文献1の技術を適用した場合、広範な利用者のカテゴリに合致するような広告情報が登録された時に、大きな遅延が生じる。以下、駅周辺情報配信サービスを中心に説明するが、これは一例であり、本発明の適用の範囲を駅周辺情報配信サービスに限定するものではない。
すなわち、駅周辺情報配信サービスにおいて、エージェントは、利用者が自動改札機を通過した際の情報配信処理のあとに、続けて広告登録処理を行ことになり、鉄道路線の全駅で複数の自動改札機が稼動していることを考えれば、多数の利用者が、ほぼ同時に自動改札を通過することが考えられ、より後に処理される利用者のエージェントからの情報配信は、他の利用者のエージェントの広告登録処理により、著しく遅れる場合がある。
この駅周辺情報配信サービスで、夕方のラッシュ時間帯を狙って広告を配信するということを考えて、以下の具体的場合を想定して簡単な計算をしてみる。
・路線すべての自動改札数を平均1駅10改札機で50駅として500とし、このサービスの利用者は全利用者の10%とする
・エージェントのキャッシュ・サイズを全エージェント数の50%とする。
・繁忙期で全自動改札機がフル稼働しているとする。
・利用者が自動改札機に入ると1秒で通過し、すぐに次の利用者が入り始めるとする。
・全駅の半数の25駅でそれぞれ1件の広告登録が行われ、全体で半数の利用者が登録された広告の配信対象となったとする。
・システムがフル稼働した時の、同時に複数のエージェントが並行して処理されている状況での、エージェントの処理時間は、エージェントがキャッシュ上にある場合で、自動改札通過にかかるエージェントのCPU時間を18ms、エージェントがキャッシュにない場合で、自動改札通過にかかるエージェントのCPU時間を21ms、エージェントがキャッシュにある場合で、広告情報登録にかかるエージェントのCPU時間を20msとする。
・エージェントの処理パターンは下記の4パターンになる。
A) キャッシュにあるエージェントで、広告登録処理の対象となるエージェント
B) キャッシュにあるエージェントで、広告登録処理の対称でないエージェント
C) キャッシュにないエージェントで、広告登録処理の対象となるエージェント
D) キャッシュにないエージェントで、広告登録処理の対称でないエージェント
キャッシュ・サイズが50%、広告登録処理の対象となるエージェントは全エージェントの半数なので、1秒間に処理されるエージェント数(毎秒500人が全自動改札を通過し、そのうちの10%が会員なので、50エージェント)のうち、それぞれのパターンのエージェント数は12.5である。ここで、自動改札通過処理を広告登録処理よりも優先して行いたいので、自動改札通過を示すメッセージの優先度を広告登録依頼を示すメッセージよりも高いものに設定する。エージェント・スケジューラは、キャッシュにあるエージェントを選択し、その自動改札通過処理を実行し、引き続き、そのエージェントの広告登録処理を実行する。キャッシュに自動改札通過を示すメッセージを待つエージェントがなくなったら、キャッシュにないエージェントをキャッシュに読み込み、自動改札通過処理を実行し、引き続き、そのエージェントの広告登録処理を実行する。
すべてのキャッシュにあるエージェントの処理が完了するのに要する時間は、
12.5×18ms+12.5×(18ms+20ms)=700ms
キャッシュにないエージェントの処理がすべて完了するまでに要する時間は、
12.5×21ms+12.5×(21ms+20ms)=775ms
である。この合計は1475msであり、1秒を475ms超える。1秒を超えると、次の利用者が自動改札に入るため、新たな自動改札通過を示すメッセージが次々とシステムに到着する。すると、エージェント・スケジューラは、またキャッシュ内にあるエージェントの処理を行う。前の1秒の間で処理されなかったエージェント(これらはキャッシュにないエージェント)の処理は後回しにされる。自動改札機には次々と利用者が通過していくため、処理されずに残されるエージェントが累積していく。これは、何人かの利用者へ広告が届かないということを意味する。以上のように、様々な優先度のメッセージが混在する状況で、即応性の高い処理を適切な時間内に処理することはできない。
そこで本発明は、上記の課題を解決することのできる大量エージェントのメッセージを処理する、メッセージ処理装置、メッセージ処理方法、及びメッセージ処理プログラムを提供することを目的とする。
上記課題を解決するために、本発明においては、 メモリと、エージェントに挿入されるメッセージにより前記エージェントの優先度を決定し、前記エージェントが前記メモリ上にあるか否か、およびメッセージの有無により、前記エージェントの状態を管理する手段と、前記優先度が最高優先度であるエージェントを検出したことを条件として、前記エージェントが前記メモリ上にあればスレッドを割り当て、前記エージェントが前記メモリ上になければ前記エージェントを前記メモリ上に呼び出してスレッドを割り当てる手段と、スレッドが割り当てられた前記エージェントに関して、所定の基準までメッセージの処理を繰り返すメッセージ処理手段とを備える装置を提供する。優先度の高いメッセージを持つエージェントにスレッドが割り当てられ、エージェントがメッセージを所定基準まで処理することで、データベース(ディスク)へのアクセス回数を抑えつつ優先度の高いメッセージの処理が進む。
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションもまた、発明となりうる。
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、駅周辺情報配信サービスに本発明を適用した場合の例を示している。構成10はサービス提供の概略を示す。ネットワーク11は、インターネットや電話回線その他を含む通信網である。本発明に従うメッセージ処理システム12、ユーザ広告情報データベース13、駅の自動改札機14、情報受信端末15および情報登録端末16はネットワーク11を介して相互にデータおよび各種情報を送受信する。メッセージ処理システム12は、利用者が駅の自動改札14を通過したことを契機に、または、その他のことを契機に、ユーザ広告情報データベース13から各ユーザに最適化された広告情報を検出し、配信情報として該当する情報受信端末15に配信する。また、情報登録端末16は、交通情報や広告情報等の駅周辺情報を登録するためのものであり、この駅周辺情報は、メッセージ処理システム12がユーザごとに選択・編集してユーザ広告情報データベース13に登録する。
ユーザは予め自分の嗜好や特に興味のある事柄につきキーワードを登録しておく。キーワードとしては、「PCおよび周辺機器」、「家具」、「花」、「洋服」、「アクセサリ」等が例として挙げられる。そして、鉄道路線沿いの駅周辺の店は、広告情報を登録する。この広告情報は、ユーザ毎のキーワードにより取捨選択され、ユーザ広告情報データベース13にユーザ毎に登録される。登録の際には、広告情報は、ユーザ毎に必要なカスタマイズもされる。キーワードに「洋服」を登録したユーザが電車を降りて駅の自動改札機14を通過すると、メッセージ処理システムにその情報が送られる。ユーザの識別は、駅自動改札を通過する際に、IDを付与した定期券等を認識することで可能である。メッセージ処理システム12では、イベント情報を元に、ユーザが降車した駅に洋服に関する広告情報があれば、メッセージを該当するユーザのエージェントのキューに挿入する。このメッセージをエージェントが処理すると、ユーザは情報受信端末15でこの情報を受信する。情報受信端末15は携帯電話、PDAやノート・パソコンを含むが、情報を受信する機能があれば、これらに限られない。
また、広告主等が、情報登録端末16から広告情報を入力すると、メッセージ処理システム12にその情報が送られる。メッセージ処理システム12では、イベント情報を元に、ユーザのエージェント・キューに挿入する。例えば、広告情報がアクセサリに関するものであれば、キーワードに「アクセサリ」を登録しているユーザ広告情報登録データベース13のユーザ・レコードが広告情報の登録対象となる。このメッセージの処理は、各ユーザ毎にカスタマイズされたアクセサリの広告情報を登録することになる。また、ユーザ広告情報登録データベース13には、広告情報の他に交通情報なども登録する。
図2は、メッセージ処理システムのハード構成20の概要である。中央演算処理装置であるCPU201は各種OSの制御下で様々なプログラムを実行する。CPU201はバス202を介して、メモリ203、ディスク204、ディスプレイ・アダプタ205、ユーザ・インタフェース206およびネットワーク・インタフェース207と相互接続される。ユーザ・インタフェース206を通して、キーボード208およびマウス209に接続され、ディスプレイ・アダプタ205を通してディスプレイ装置208に接続され、ネットワーク・インタフェース207を通してネットワークに接続される。メモリ203は、主メモリやキャッシュ・メモリを含み、キャッシュ・メモリはエージェントやメッセージをキャッシュするのにも使用される。ハード・ディスク204は、エージェント・データベースやサブスクライブ・テーブルの登録に使用される。これは、コンピュータ・システムおよびバス配置の一実施形態の例にすぎず、本発明の特徴は、さまざまなシステム構成で、同一の構成要素を複数有する形態で、また、ネットワーク上に分散された形態で使用することができる。
図3はエージェント処理システム300を模式的に示したものである。301はクライアント、302はメッセージ・ブローカ、303はメッセージ・リゾルバ、304はメッセージング機構、305サブスクライブ・テーブル、306はキャッシュ・メモリ、307はエージェントのデータベースである。メッセージ・ブローカ302は、クライアントからの各種情報のやり取りに関する通信を担い、イベント情報をメッセージ・リゾルバ303が受け取る。そして、メッセージ・リゾルバ303は、イベント情報に対応するエージェント情報をサブスクライブ・テーブル305から検出し、メッセージング機構304は、そのエージェント情報にしたがって対応するメッセージをメッセージ・キューに挿入する。また、エージェント処理システムは、エージェントをキャッシュ・メモリ306に読み込み、また、キャッシュ・メモリ306からエージェントを破棄し、またエージェントにスレッドを割り当てる。
図4はメッセージ処理装置の機能を模式的に示したものである。スレッド割り当て手段401は、エージェントの管理手段402に従い、スレッド404を割り当てていく。メッセージ処理手段403は、所定基準に達するまで、エージェントのメッセージを処理する。スレッド割り当て手段401は、キャッシュ・メモリ306にあるエージェントにスレッドを割り当てるほか、データベース307からエージェントをキャッシュ・メモリに呼び出し、スレッドを割り当てることもある。エージェントの管理手段402は、エージェントの有するメッセージの優先度や、エージェントがキャッシュ・メモリ上にあるか否かにより、スレッド割り当てのスケジューリングを行う。スケジューリングの機構については図5から12で詳述する。
図5はエージェントの状態を示す変数値を例示する。これらの変数値は後述する図6のエージェントを管理するための機構で使用する。エージェントの状態を示す変数には、RUNNING、IN_FILLED、IN_EMPTY、OUT_FILLED、OUT_EMPTYおよびMAX_PRI_FILLEDが存在する。RUNNINGは、エージェントにスレッドが割り当てられていることを示し、IN_FILLEDは
エージェントがキャッシュ・メモリにあり、メッセージ・キューにメッセージがあることを示し、IN_EMPTYは
エージェントがキャッシュ・メモリにあり、メッセージ・キューが空であることを示し、
OUT_FILLEDはエージェントはキャッシュ・メモリになく、メッセージ・キューにメッセージがあることを示し、OUT_EMPTYは
エージェントがキャッシュ・メモリになく、メッセージ・キューが空であることを示し、MAX_PRI_FILLED
最高優先度のメッセージを持つことを示す。
図6はエージェントのもつメッセージの優先度による状態を管理するための機構を示す。優先度は0から3が存在し、さらに3より上の最高優先度MAX_PRI_FILLEDが存在する場合を例にあげる。優先度が0から3には、RUNNING、IN_FILLED、IN_EMPTY、OUT_FILLED、OUT_EMPTYが存在するが、MAX_PRI_FILLEDには、メモリ上へのIN/OUTの区別はない。これは、優先度が最高であるメッセージを持つ場合、メモリ上の有無に係わらず、状態をMAX_PRI_FILLEDに設定し、処理を優先するためである。
図7は、図6の制御ブロック(ControlBlock)のデータ構造を示している。テーブル701は、エージェント・キー(AgentKey)と制御ブロックとの1:1の対応関係を示している。エージェント・キーは、エージェントを識別するものであり、各配信先(ユーザ)に対して1:1に対応している。図7のテーブル701では、各エージェント・キーを人名(マイク(Mike)、トム(Tom)、エリック(Eric))により表している。制御ブロック702は、MessageQueue queue、ControlBlock prev、ControlBlock next、byte stateおよびString typeを含む。MessageQueue queueはそれが対応付けられているメッセージ・キューについてのデータを示す。ControlBlock prevは、それが連結される前側の制御ブロックについてのデータを示す。ControlBlock nextは、それが連結される後ろ側の制御ブロックについてのデータを示す。byte stateは、それが今ある状態(IN_FILLEDやIN_EMPTY等)を示す。String typeは、ストリング・タイプのデータを示す。
図8はエージェントの状態遷移を示したものである。エージェントの状態遷移の更新は、この図に基づいて行われる。この状態遷移では、IN_FILLED、IN_EMPTY、OUT_FILLED、OUT_EMPTYの状態から、エージェントが最高優先度のメッセージを受け取ると、MAX_PRI_FILLEDに遷移し、スレッドが空き次第、このエージェントにスレッドを優先的に割り当て、RUNNING状態に移行する。
図9は、メッセージ挿入によるエージェントの状態の更新フローを示す。ステップ901でメッセージを受け取ると、ステップ902で受け取ったメッセージがエージェントのもつメッセージの中で最も高い優先度か否か判断する。受け取ったメッセージが最も高いメッセージではないと判断した場合は更新処理を抜ける。受け取ったメッセージが現在持つメッセージの中で最も高いメッセージであると判断した場合はステップ903に進む。ステップ903ではメッセージの優先度が最高であるか否か判断する。優先度が最高である場合はステップ904で、エージェントの状態を優先度が最高であるMAX_PRI_FILLEDに更新して、制御ブロックの連結処理の更新も行い、処理を抜ける。優先度が最高でない場合、ステップ905で受け取ったメッセージの優先度を決める。この時併せて制御ブロックの連結処理の更新も行う。次にステップ906で、エージェントがメッセージを持っていたか否か、即ち、図8のOUT_ FILLEDまたはIN_ FILLEDのどちらかであるか否かを判断する。エージェントがメッセージを持っていた場合は、エージェントの状態をOUT_FILLEDまたはIN_FILLEDでかつエージェントの優先度に応じた状態に更新し、制御ブロックの連結処理の更新も行い、処理を抜ける。一方、エージェントがメッセージを持っていなかった場合、ステップ907で図8のReceived Messageに従い、エージェントの状態をOUT_ FILLEDまたはIN_ FILLEDでかつエージェントの優先度に応じた状態に更新して、制御ブロックの連結処理の更新も行い、処理を抜ける。
図10は、エージェントのスレッド割り当てのフローを示す。ステップ1001でMAX_PRI_FILLEDのメッセージを持つエージェントはあるか判断する。ないと判断された場合は、ステップ1002でIN_FILLEDのメッセージはあるか判断する。ないと判断された場合は、ステップ1003でOUT_FILLEDのメッセージがあるか判断する。メッセージがないと判断された場合は開始に戻る。ステップ1001、1002および1003は、最も優先するメッセージの処理はMAX_PRI_FILLEDであるが、次に優先して処理するのは、キャッシュ・メモリ上にエージェントがあるメッセージである。すなわち、IN_FILLEDを優先する。これは、優先度の高いメッセージを処理することに加え、キャッシュ・メモリへのエージェントの呼び出し回数を低く抑えて、データベースへのアクセスを少なくするためである。また、エージェントのキャッシュ・メモリ上にあるか否かの状態が同一である場合は、より優先度の高いメッセージをもつエージェントに優先的にスレッドを割り当てるようにしてもよい。ステップ1001、1002および1003で、エージェントがある(Yes)と判断された場合は、ステップ1004でスレッドに空きがあるか否か判断する。スレッドに空きがある場合は、ステップ1005でエージェントにスレッドを割り当てる。なお、エージェントがキャッシュ・メモリ上に無い場合は、キャッシュ・メモリに呼び出し、スレッドを割り当てる。スレッドに空きが無い場合は、開始に戻る。スレッドに空きが無い場合は、空くまでまってエージェントにスレッドを割り当てるようにしても良い。
図11は、メッセージの処理のフローを示す。この処理は図10のスレッドを割り当てるステップ1005の後に行われる。ステップ1101でエージェントがメッセージを処理する。メッセージの処理は、優先度の高いメッセージから行われる。ステップ1102でエージェントに未処理のメッセージが残っているか判断する。メッセージが残っていないと判断した場合、ステップ1103で図8の状態遷移に従いIN_EMPTYまたはOUT_EMPTYに更新する。その後ステップ1106でスレッドを開放する。ステップ1102で、メッセージが残っていると判断した場合は、次に、ステップ1104で、所定の基準に達するまでメッセージを処理したか否か判断する。所定の基準とは、例えば、そのエージェントが持つすべての最高優先度のメッセージの処理が完了したことであったり、1つのエージェントにつき処理されるメッセージの連続処理数であったり、または、優先度2以上は全て処理するといった基準である。この処理基準は、メッセージ・キューに残る未処理のメッセージ数や、通勤時間帯に入っている等の状況により、動的に変更しても良い。ステップ1104でメッセージが所定の基準までメッセージを処理していないと判断した場合は、メセージの処理を繰り返すためにステップ1101に戻る。一方、メッセージを所定の基準に達するまで処理したと判断した場合は、ステップ1105で残るメッセージの内最も高い優先度にエージェントを更新する。その後ステップ1106でスレッドを開放する。
図12は、図5のエージェントの優先度および状態を管理するための機構の変形例である。図5の優先度が0から3および最高優先度MAX_PRI_FILLEDに対し、図10では、さらに最低優先度MINが存在する場合を示している。この場合、エージェントのメッセージを連続して処理し、次の処理すべきメッセージが最低優先度MINの場合は、そのエージェントのメッセージの処理は行わずに、エージェントの優先度をMINに設定して、他のエージェントの処理を行うようにする。図11のステップ1105に、所定の基準として、優先度がMINより上のメッセージを処理するということを設定すればよい。これにより、より優先度の高いメッセージを持つエージェントの処理が進むことになる。なお、最低優先度MINは、他の優先度0〜3と同様にIN_FILLED、IN_EMPTY、OUT_FILLED、OUT_EMPTYの状態が存在する。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
メッセージ処理システムの概略図を示す。 メッセージ処理システムのハードウェア構成の一例を示す。 メッセージ処理システムの概要図の一例を示す。 メッセージ処理システムの機能構成の一例を示す。 エージェントの状態を示す変数値の一例を示す。 エージェントの優先度および状態を管理するための機構の一例を示す。 制御ブロック(ControlBlock)のデータ構造の一例を示す。 エージェントの状態遷移の一例を示す。 メッセージ挿入によるエージェントの状態の更新フローの一例を示す。 エージェントのスレッド割り当てのフローの一例を示す動作フローである。 メッセージの処理のフローの一例を示す。 エージェントの優先度および状態を管理するための機構の変形例の一例を示す。

Claims (4)

  1. メモリと、
    エージェントに挿入されるメッセージにより前記エージェントの優先度を決定し、エージェントの状態を、スレッドが割り当てられている状態、処理するメッセージを持たないエージェントが前記メモリ上にある状態、処理するメッセージを有するエージェントが前記メモリ上にある状態、処理するメッセージを有するエージェントが前記メモリ上にない状態、処理するメッセージを持たないエージェントが前記メモリ上にない状態、および、最高優先度のメッセージを有するエージェントの状態として、管理する手段であって、
    前記管理する手段は、さらに、
    エージェントが受け取ったメッセージの優先度が最高であるときに当該エージェントの状態を、前記最高優先度のメッセージを有するエージェントの状態に更新する手段をさらに有する装置であって、
    前記装置はさらに、
    前記優先度が最高優先度であるエージェントを検出したことを条件として、
    前記優先度が最高優先度であるエージェントが前記メモリ上にあればスレッドを割り当て、前記優先度が最高優先度であるエージェントが前記メモリ上になければ前記優先度が最高優先度であるエージェントを前記メモリ上に呼び出してスレッドを割り当て、
    前記優先度が最高優先度であるエージェントを検出しないことを条件として、
    前記メモリ上に無いエージェントに優先して、前記メモリ上にあるエージェントにスレッドを割り当てる手段と、
    スレッドが割り当てられた前記エージェントに関して、エージェントごとに定められた所定の基準までメッセージの処理を繰り返すメッセージ処理手段と、
    処理中のメッセージの処理を所定の基準まで繰り返し、前記エージェントの状態を管理する手段が、さらに、所定の基準まで前記メッセージを処理し終えたあと、残ったメッセージの中で最も優先度が高いメッセージにより前記エージェントの優先度を決定する手段と
    を有する装置。
  2. 前記所定の基準が、状況に応じて動的に変更される、請求項1に記載のエージェントのメッセージを処理する装置。
  3. 前記所定の基準が、1つのエージェントにつき所定のメッセージ数を処理し終えたことである、請求項1に記載の装置。
  4. 前記所定の基準が、前記優先度が最低優先度以外の全てのメッセージを処理し終えたことである、請求項1に記載の装置。
JP2004380864A 2004-12-28 2004-12-28 エージェントの、メッセージ処理装置、メッセージ処理方法、及びメッセージ処理プログラム Expired - Fee Related JP4667859B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2004380864A JP4667859B2 (ja) 2004-12-28 2004-12-28 エージェントの、メッセージ処理装置、メッセージ処理方法、及びメッセージ処理プログラム
CN200510124281A CN100581155C (zh) 2004-12-28 2005-11-29 处理代理的消息的装置和方法
US11/319,893 US7421703B2 (en) 2004-12-28 2005-12-28 Processing messages of agents
US12/143,976 US7865903B2 (en) 2004-12-28 2008-06-23 Processing messages of agents

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004380864A JP4667859B2 (ja) 2004-12-28 2004-12-28 エージェントの、メッセージ処理装置、メッセージ処理方法、及びメッセージ処理プログラム

Publications (2)

Publication Number Publication Date
JP2006185363A JP2006185363A (ja) 2006-07-13
JP4667859B2 true JP4667859B2 (ja) 2011-04-13

Family

ID=36611526

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004380864A Expired - Fee Related JP4667859B2 (ja) 2004-12-28 2004-12-28 エージェントの、メッセージ処理装置、メッセージ処理方法、及びメッセージ処理プログラム

Country Status (3)

Country Link
US (2) US7421703B2 (ja)
JP (1) JP4667859B2 (ja)
CN (1) CN100581155C (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2824469A1 (en) * 2011-02-14 2012-08-23 Telefonaktiebolaget L M Ericsson (Publ) Message delivery management
US9843550B2 (en) * 2015-11-29 2017-12-12 International Business Machines Corporation Processing messages in a data messaging system using constructed resource models

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6490611B1 (en) * 1999-01-28 2002-12-03 Mitsubishi Electric Research Laboratories, Inc. User level scheduling of inter-communicating real-time tasks
US7356820B2 (en) * 2001-07-02 2008-04-08 International Business Machines Corporation Method of launching low-priority tasks
JP3864251B2 (ja) 2002-12-06 2006-12-27 インターナショナル・ビジネス・マシーンズ・コーポレーション メッセージ処理装置、メッセージ処理方法、及びメッセージ処理プログラム
US7509650B2 (en) * 2004-05-20 2009-03-24 International Business Machines Corporation Enhance browsing of messages in a message queue

Also Published As

Publication number Publication date
CN1798131A (zh) 2006-07-05
CN100581155C (zh) 2010-01-13
US20080263567A1 (en) 2008-10-23
US7421703B2 (en) 2008-09-02
US7865903B2 (en) 2011-01-04
JP2006185363A (ja) 2006-07-13
US20060140388A1 (en) 2006-06-29

Similar Documents

Publication Publication Date Title
CN108989588B (zh) 呼叫分配方法、呼叫中心、电子设备和存储介质
US7610343B2 (en) Presence data management method
JP6306187B2 (ja) 動的電話番号割り当て
CN1227942C (zh) 带宽预留系统的服务级别和公正原则
US10268469B2 (en) Systems and methods for controlling application updates across a wireless interface
CN107679718B (zh) 名单分配方法、设备以及计算机可读存储介质
CN110417676B (zh) 一种调度方法、装置和调度网络
CN111131639A (zh) 一种客服坐席分配方法、装置、服务器及存储介质
US20050055694A1 (en) Dynamic load balancing resource allocation
GB2437606A (en) Queuing system, method and computer program product for managing the provision of services over a communications network
CN111221638B (zh) 并发任务的调度处理方法、装置、设备和介质
JPH10312344A (ja) 通信ネットワークにおいて広告の配信をスケジューリングし制御するシステム
WO2009018727A1 (fr) Procédé, dispositif et système de gestion d'instructions de mise en opération de service
CN110740218B (zh) 呼叫请求的处理方法、处理装置、电子设备和介质
US20110039582A1 (en) Fleet management system and method
JP3487425B2 (ja) 輻輳制御方法及び方式
US10891649B1 (en) Automatic virtual phone number pool management
US8612526B2 (en) System and method for prioritizing message transcriptions
CN114257550A (zh) 接口访问流量的自动控制方法、装置、存储介质及服务器
JP4667859B2 (ja) エージェントの、メッセージ処理装置、メッセージ処理方法、及びメッセージ処理プログラム
CN113368494A (zh) 云设备分配方法、装置、电子设备及存储介质
JP2002163542A (ja) 情報提供システム、サーバコンピュータ、及び記録媒体
CN112153226A (zh) 客服虚拟化统一接入系统、方法、装置及电子设备
KR100706896B1 (ko) 맞춤형 컨텐츠 정보 제공 시스템 및 방법
JP2002078021A (ja) 情報配信システム及び情報配信方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071112

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20080130

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20080225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080304

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080409

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080507

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080805

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20080910

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20080926

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101209

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110112

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140121

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees