JP2004072265A - Function distribution system, function distribution method, and computer program - Google Patents

Function distribution system, function distribution method, and computer program Download PDF

Info

Publication number
JP2004072265A
JP2004072265A JP2002226442A JP2002226442A JP2004072265A JP 2004072265 A JP2004072265 A JP 2004072265A JP 2002226442 A JP2002226442 A JP 2002226442A JP 2002226442 A JP2002226442 A JP 2002226442A JP 2004072265 A JP2004072265 A JP 2004072265A
Authority
JP
Japan
Prior art keywords
function
mobile terminal
agent
platform
partial
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
JP2002226442A
Other languages
Japanese (ja)
Inventor
Hajime Hattori
服部 元
Satoshi Nishiyama
西山 智
Toshihiro Ono
小野 智弘
Hironori Horiuchi
堀内 浩規
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.)
KDDI Corp
Original Assignee
KDDI 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 KDDI Corp filed Critical KDDI Corp
Priority to JP2002226442A priority Critical patent/JP2004072265A/en
Publication of JP2004072265A publication Critical patent/JP2004072265A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a function distribution system capable of distributingly arranging one function (e.g. an AP function) on a mobile terminal side and a center side with an excellent efficiency. <P>SOLUTION: An agent platform AP is characterized in including: a plurality of center side partial platforms 2 being divisions of the AP function used in combination with mobile terminal side partial platforms 7 having the divided AP function; and configuration agents 12 for selecting an optimum partial platform 2 to be combined with the partial platform 7 of the mobile terminal side among a plurality of the center side partial platforms 2 on the basis of a load condition of the center side partial platforms 2 and a condition of an area wherein the mobile terminal exists. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、機能分散システムおよび負荷分散方法、並びにその機能分散システムをコンピュータを利用して実現するためのコンピュータプログラムに関する。
【0002】
【従来の技術】
FIPA(Foundation for Intelligent Physical Agents)において、エージェント通信に関する標準化が行われており、自律行動型プログラムの一種であるエージェントのソフトウェア実行環境としてエージェントプラットホーム(AP)のリファレンスモデルが定義されている。APは、ACC(Agent Communication Channel)とAMS(Agent Management System)とDF(Directory Facilitator)から構成される。ACCは、AP内のエージェント間、あるいはAP内とAP外のエージェント間、のメッセージ交換を行うメッセージルータである。全てのメッセージはACCを経由して転送される。AMSは、AP内のエージェントの状態を管理する。例えばAP内に存在しているエージェントのエージェント識別子などの検索が可能である。DFは、エージェントが提供するサービスの検索を可能とするディレクトリサーバである。
【0003】
また、従来の負荷分散方式として、例えば特開2001−92766号公報に記載されるものが知られている。この公報に記載の方式は、クライアントと複数のサーバからなるクライアントサーバシステムにおいて、各サーバの負荷状態に応じてサーバの負荷分散を行う。また、特開2002−99211号公報には、地理的な階層構成により登録局を形成し、地域性に基づいて負荷分散する公開鍵証明書発行要求処理システムが記載されている。
【0004】
【発明が解決しようとする課題】
ところで、近年、上記エージェントを携帯電話機等の移動端末に具備してエージェント通信を行うことが検討されている。移動端末上のエージェントが通信を行うためには、上記APを移動端末内に構築する必要がある。しかしながら、移動端末ではAP機能の全てを実現することは処理能力不足等の理由から難しく、移動端末とセンタ側装置にAP機能を効率よく分散配置したいという要望がある。また、AP機能を移動端末側とセンタ側に分散配置する場合、センタ側に配置された一つの部分プラットフォームに対して移動端末からアクセスが集中する虞があり、この負荷分散を行うことが重要な課題となる。上記部分プラットフォームとは、エージェントプラットホームの機能の一部のことをいう。
【0005】
しかし、上述した従来の負荷分散方式では、例えば各サーバの負荷状態に応じてサーバの負荷分散を行う方式では、遠い地域のサーバにアクセスする場合もあり、地域分散方式と比較して全体として通信量が多くなる。また、地域性に基づいて負荷分散する方式では、地域間で負荷の偏りが生じる虞がある。
【0006】
本発明は、このような事情を考慮してなされたもので、その目的は、一つの機能(例えばAP機能)を移動端末側とセンタ側に効率よく分散配置することができる機能分散システムを提供することにある。
【0007】
また、本発明は、適切な負荷分散を行うことができる機能分散システムおよび負荷分散方法を提供することも目的とする。
【0008】
また、本発明は、その機能分散システムをコンピュータを利用して実現するためのコンピュータプログラムを提供することも目的とする。
【0009】
【課題を解決するための手段】
上記の課題を解決するために、請求項1に記載の機能分散システムは、特定機能を分散して配置する機能分散システムであって、前記特定機能を分割して備える移動端末の該機能と組み合わせて使用される前記特定機能の分割部分を備える複数のセンタ側装置と、前記センタ側装置の負荷条件と前記移動端末が存在する地域条件に基づいて、前記複数のセンタ側装置の機能の中から、前記移動端末の機能と組み合わせるのに最適なものを選択する負荷分散制御手段と、を備えたことを特徴としている。
【0010】
請求項2に記載の機能分散システムにおいては、前記負荷分散制御手段は、前記移動端末の機能と接続履歴がある前記センタ側装置の機能を選択することを特徴とする。
【0011】
請求項3に記載の機能分散システムにおいては、前記負荷分散制御手段は、前記移動端末の機能と直前に接続していた前記センタ側装置の機能を選択することを特徴とする。
【0012】
請求項4に記載の機能分散システムにおいては、前記特定機能は、エージェントプラットホームであることを特徴とする。
【0013】
上記の課題を解決するために、請求項5に記載の負荷分散方法は、特定機能を分割して備える移動端末の該機能と組み合わせて使用される前記特定機能の分割部分を備える複数のセンタ側装置を、具備する機能分散システムにおける負荷分散方法であって、前記センタ側装置の負荷条件と前記移動端末が存在する地域条件に基づいて、前記複数のセンタ側装置の機能の中から、前記移動端末の機能と組み合わせるのに最適なものを選択することを特徴としている。
【0014】
上記の課題を解決するために、請求項6に記載のコンピュータプログラムは、特定機能を分割して備える移動端末の該機能と組み合わせて使用される前記特定機能の分割部分を備える複数のセンタ側装置を、具備する機能分散システムにおける負荷分散処理を行うためのコンピュータプログラムであって、前記センタ側装置の負荷条件と前記移動端末が存在する地域条件に基づいて、前記複数のセンタ側装置の機能の中から、前記移動端末の機能と組み合わせるのに最適なものを選択する処理をコンピュータに実行させることを特徴としている。
これにより、前述の機能分散システムがコンピュータを利用して実現できるようになる。
【0015】
【発明の実施の形態】
以下、図面を参照し、本発明の一実施形態について説明する。
図1は、本発明の一実施形態による機能分散システムの構成を示すブロック図である。この図1において本実施形態の機能分散システムは、エージェントプラットホーム(AP)1を構成している。
【0016】
エージェントプラットフォーム1は、複数のセンタ側の部分プラットフォーム2と、複数の移動端末側の部分プラットフォーム7と、複数の構成エージェント(Agent)12と、エージェント管理用データベース13とから構成される。構成エージェント12は、センタ側の部分プラットフォーム2に具備されている。
【0017】
本実施形態のエージェントプラットフォーム1においては、移動端末側とセンタ側にエージェントプラットフォーム機能を分散して配置している。センタ側の部分プラットフォーム2は、機能分割されたエージェントコミュニケーションチャンネル(ACC)3とディレクトリファシリテータ(DF)4とエージェントマネージメントシステム(AMS)5を有する。移動端末側の部分プラットフォーム7は、機能分割されたACC8とAMS9とDF10とを有する。
【0018】
移動端末側の部分プラットフォーム7は、いずれかのセンタ側の部分プラットフォーム2と連携して動作することによって、一つのエージェントプラットフォーム機能を実現する。センタ側の部分プラットフォーム2は、複数の部分プラットフォーム7と連携して動作することができる。
センタ側の部分プラットフォーム2は、各地区(東京、名古屋、大阪等)に対応して設けられている。
【0019】
また、一般エージェント6,11が、センタ側の部分プラットフォーム2または移動端末側の部分プラットフォーム7に具備されている。一般エージェント6,11は、部分プラットフォーム2あるいは部分プラットフォーム7上で実行可能な自律行動型プログラムである。部分プラットフォーム2内に存在する一般エージェント6は、部分プラットフォーム2内に存在する他のエージェントやソフトウェア等と協調して動作することによりサービスを提供する。同様に部分プラットフォーム7内に存在する一般エージェント11は、部分プラットフォーム7内に存在する他のエージェントやソフトウェア等と協調して動作することによりサービスを提供する。また、一般エージェント6と11は、お互いに協調して動作することも可能である。
【0020】
なお、上記ACC3,DF4,AMS5,ACC8,AMS9,及びDF10は、各々エージェント(自律行動型プログラム)の一つである。
【0021】
エージェント情報管理用データベース13は、エージェントプラットフォーム1内のエージェントの状態や、エージェントが提供するサービスを一元的に管理するための情報を記憶している。
【0022】
エージェントプラットフォーム1は、非同期に自律的に通信を行うエージェント3〜6、8〜11及び12に対して、通信相手のエージェント識別子を指定することによって、メッセージ通信を可能とするための通信基盤である。また、エージェントプラットフォーム1に含まれるエージェント3〜6、8〜11及び12と、外部のエージェントプラットフォーム14に含まれるエージェントとの間のメッセージ通信機能も有する。
【0023】
エージェントプラットフォーム1において、移動端末側とセンタ側の通信は、携帯電話網等の無線通信網を介して行われる。外部エージェントプラットフォーム14は、エージェントプラットフォーム1とインターネット等を介して通信する。エージェントプラットフォーム1と外部エージェントプラットフォーム14は、予め定められたエージェント通信言語(例えばFIPA ACL)により通信を行う。なお、エージェントプラットフォーム1の移動端末側とセンタ側の通信は、無線通信網に限定されず、固定電話網等の有線通信網やインターネット等を介して行うことも可能である。例えば移動端末としてPDA(Personal Digital Assistants:個人用情報機器)を利用する場合、携帯電話機と接続して無線電話回線によりセンタ側装置と接続してもよく、あるいは固定電話用の有線電話回線によりセンタ側装置と接続してもよく、あるいはLAN等を介してインターネットに接続し、センタ側装置と接続するようにしてもよい。
【0024】
部分プラットフォーム2は、該機能を実現するためプログラムをセンタ側装置内のCPUで実行することにより実現される。部分プラットフォーム7は、該機能を実現するためプログラムを移動端末内のCPUで実行することにより実現される。
【0025】
センタ側の部分プラットフォーム2は、エージェントプラットフォーム1において、一つ、あるいは負荷分散のために複数存在している。部分プラットフォーム2内では、その基本機能として、ACC3,DF4,AMS5,一般エージェント6および構成エージェント12が実行され、エージェントプラットフォーム1内のメッセージの交換、エージェント状態の管理やサービスの管理を提供する。
【0026】
部分プラットフォーム2において、ACC3はメッセージルータであり、センタ側の部分プラットフォーム2及び移動端末側の部分プラットフォーム7の全ての組み合わせ、および部分プラットフォーム2,7と外部エージェントプラットフォーム14との間で、各プラットフォーム内に存在するエージェント間のメッセージ交換機能を提供する。ACC3は、自分の部分プラットフォーム2内のエージェントや他の部分プラットフォーム2,7内のACC3,ACC8あるいは外部エージェントプラットフォーム14からメッセージの送信要求を受け付け、エージェント管理用データベース13を参照し、送信先が自分の部分プラットフォーム2内のエージェントであった場合はそのエージェントに直接メッセージを転送する。一方、送信先が自分の部分プラットフォーム2内のエージェントでなかった場合には、適切なACC3,ACC8あるいは外部エージェントプラットフォーム14にメッセージを転送する。なお、適切な送信相手がいない場合は、エラーを送信要求元に通知する。
【0027】
DF4は、エージェントプラットフォーム1内に存在するエージェントあるいは外部エージェントプラットフォーム14に対して、サービスの登録(サービス名称と提供するエージェントの識別子、詳細条件等)、削除(サービス名称と提供するエージェントの識別子)、変更(サービス名称と提供するエージェントの識別子、条件の変更内容)および条件検索(サービス名あるいは付加的な条件を検索条件とし、検索結果としてサービスを提供するエージェントの識別子が返される)などのインタフェースを提供する。
【0028】
AMS5は、部分プラットフォーム2内に存在するエージェントまたは移動端末側の部分プラットフォーム7に対して、エージェントの状態の登録(エージェントの識別子、状態等)、削除(エージェントの識別子)、変更(エージェントの識別子、状態等)、およびエージェント自身の起動、転入および転出に関するインタフェースを提供する。
【0029】
構成エージェント12(負荷分散制御手段)は、部分プラットフォーム2内に存在するエージェントであり、エージェントプラットフォーム1内に少なくとも1つが具備される。構成エージェント12は、移動端末側の部分プラットフォーム7からの問い合わせに対して、現在の各部分プラットフォーム2に関する負荷状態と、該部分プラットフォーム7に関する情報(地域性や、過去のセンタ側へのアクセスの負荷)を考慮して、該部分プラットフォーム7と今回組み合わせるのに適切な部分プラットフォーム2を選択して通知する。
【0030】
部分プラットフォーム7は、携帯電話機、あるいはPDA(Personal DigitalAssistants:個人用情報機器)等の移動端末毎に存在している。このため、部分プラットフォーム7は一般的に非常に多数存在する。部分プラットフォーム7は移動端末側の操作により、起動および停止が可能である。起動時には予め定められたデフォルトの部分プラットフォーム2に接続する。そして、予め定められた構成エージェント12に問い合わせして、今回組となる部分プラットフォーム2の通知を受け、以降、該部分プラットフォーム2を経由して通信や管理を実施する。
【0031】
部分プラットフォーム7において、ACC8はメッセージルータであり、自分の部分プラットフォーム7内のエージェント間、あるいは自分の部分プラットフォーム7内のエージェントとエージェントプラットフォーム1内に存在する他のエージェントや外部エージェントプラットフォーム14に存在するエージェントとの間で、メッセージを交換する機能を提供する。ACC8は、自分の部分プラットフォーム7内のエージェントやACC3からメッセージの送信要求を受け付け、AMS9を参照し、送信先が自分の部分プラットフォーム7内のエージェントであった場合はそのエージェントに直接メッセージを転送する。一方、送信先が自分の部分プラットフォーム7内のエージェントでなかった場合には、予め選択してあるACC3にメッセージを転送する。なお、適切な送信相手がいない場合は、エラーを送信要求元に通知する。
また、ACC8は、上記構成エージェント12へ、今回組となる部分プラットフォーム2を問い合わせる。
【0032】
AMS9は、部分プラットフォーム7内に存在するエージェントに対して、エージェントの状態の登録(エージェントの識別子、状態等)、削除(エージェントの識別子)、変更(エージェントの識別子、状態等)、およびエージェント自身の起動、転入および転出に関するインタフェースを提供する。また、部分プラットフォーム7の所有者が所有しているエージェント(これは部分プラットフォーム7内にあるとは限らない)に関しての、削除、変更、転入および転出の機能を上記インタフェースと同一インタフェースを介して提供する。これら要求された操作に伴う状態変更は、常に予め選択してあるAMS5に通知し、該AMS5によってエージェント情報管理用データベース13に格納されて保管される。
【0033】
DF10は、部分プラットフォーム7内に存在するエージェントに対して、サービスの登録(サービス名称と提供するエージェントの識別子、詳細条件等)、削除(サービス名称と提供するエージェントの識別子)、変更(サービス名称と提供するエージェントの識別子、条件の変更内容)および条件検索(サービス名あるいは付加的な条件を検索条件とし、検索結果としてサービスを提供するエージェントの識別子が返される)などのインタフェースを提供する。実際には、過去の検索内容だけはキャッシュメモリに記憶されており、そのキャッシュメモリに検索内容が存在している場合は、検索結果をキャッシュメモリから取り出して返送する。一方、キャッシュメモリに検索内容が存在していない場合は、予め定められたDF4に処理を依頼し、その結果を依頼元に返送する。
【0034】
次に、図2〜図4を参照して、上記図1のエージェントプラットフォーム1において、センタ側の負荷分散を行う動作を説明する。図2は、移動端末が起動時に行う処理の流れを示すフローチャートである。図2及び図3は、構成エージェント12が行う負荷分散処理の流れを示す第1及び第2のフローチャートである。
【0035】
初めに、図2を参照して移動端末側の処理を説明する。
図2において、移動端末の起動時に、部分プラットフォーム7は初期化処理を行う(ステップS101)。この初期化処理において、通信に係る内部の設定ファイルから、デフォルトのACC3(センタ側)とAMS5(センタ側)とDF4(センタ側)と構成エージェント12の各識別子I_3d,I_5d,I_4d,I_cを取得する。
【0036】
次いで、デフォルトのACC3(I_3d)経由で、構成エージェント12(I_c)に対して、今回の組となるセンタ側の部分プラットフォーム2のACC3、AMS5、DF4を問い合せる。そして、この問い合せの結果として、構成エージェント12(I_c)から、以降の接続先となるACC3とAMS5とDF4の各識別子I_3a,I_5a,I_4aを取得する(ステップS102)。次いで、これらACC3(I_3a)とAMS5(I_5a)とDF4(I_4a)を新たな接続先として設定変更し、起動時の処理が完了する。
【0037】
以降、部分プラットフォーム7は、以下に示す通常の処理を実行する。
部分プラットフォーム7は、自部分プラットフォーム内のACC8及びACC3(I_3a)経由で全てのメッセージ通信を行う。また、自部分プラットフォーム内の一般エージェント11からのサービス検索及び登録及び削除及び更新などの要求は、自部分プラットフォーム内のDF10に対して行われ、さらにDF10がキャッシュメモリの記憶内容に基づいて処理できない操作は、DF10がDF4(I_4a)に対して操作要求を行う。また、自部分プラットフォーム内の一般エージェント11からのエージェント検索及び登録及び削除及び更新などの要求は、自部分プラットフォーム内のAMS9に対して行われ、さらにAMS9は、AMS5(I_5a)に管理操作を依頼し、AMS5(I_5a)が管理情報をエージェント情報管理用データベース13に格納し保管する。
【0038】
次に、図3及び図4を参照して、構成エージェント12が行う負荷分散処理を説明する。
構成エージェント12(I_c)は、上記図2のステップS102の問い合せを移動端末側の部分プラットフォーム7から受けると、図3の処理を開始する。以下、構成エージェント12の識別子は省略する。また、センタ側の部分プラットフォーム2の割り当ては、ACC3,DF4,AMS5の別にそれぞれ可能であるが、説明の便宜上、同一部分プラットフォーム2内のACC3,DF4,AMS5を一括で割り当てるものとする。
【0039】
先ず、構成エージェント12は、問い合せ元の部分プラットフォーム7の識別子P_7jを取得する。この識別子P_7jは、移動端末側から受信した要求メッセージに含まれている送信元の識別子から取得する(ステップS201)。次いで、構成エージェント12は、該識別子P_7jに基づいてエージェント情報管理用データベース13を検索し、該部分プラットフォーム7(P_7j)に関する情報と現在の各部分プラットフォーム2に関する情報を取得する(ステップS202、S203)。
【0040】
部分プラットフォーム7(P_7j)に関する情報とは、移動端末の現在位置および過去の位置(地区)の履歴X_7j[now],X_7j[now−1],…,X_7j[now−n]、過去のセンタ側の部分プラットフォーム2の割り当て履歴、過去に移動端末から送信されたメッセージの送信数の履歴(通信頻度)等である。これらの情報は、例えばエージェントプラットフォーム1のセンタ側部分プラットフォーム2や携帯電話網によって収集され、エージェント情報管理用データベース13に蓄積されている。
【0041】
現在の各部分プラットフォーム2に関する情報とは、現在稼動している部分プラットフォーム2(P_2i)の一覧、この一覧内の各々についての稼動状況(単位時間あたりメッセージ処理数M_2i、現在接続中の部分プラットフォーム7の数N_2i)を取得する。これらの情報は、センタ側で随時収集され、エージェント情報管理用データベース13に蓄積されている。
【0042】
また、個々の部分プラットフォーム2(P_2i)毎に許可可能な最大負荷L_2iが予め定められている。また、全ての移動端末側の部分プラットフォーム7の単位時間あたりの平均メッセージ送信数mが、予め算出される。この平均メッセージ送信数mは、エージェント情報管理用データベース13に記録されている履歴等から計算できる。これら最大負荷L_2iおよび平均メッセージ送信数mはエージェント情報管理用データベース13に格納されており、構成エージェント12は、これらの情報も取得する。
【0043】
また、予め、全ての地区に対して、個々の部分プラットフォーム2(P_2i)が少なくとも1つ割り当てられている。この情報はエージェント情報管理用データベース13に格納されており、構成エージェント12は、該情報も取得する。
【0044】
次いで、構成エージェント12は、各部分プラットフォーム2(P_2i)における、予測負荷EL_2iを(1)式により計算する(ステップS204)。この(1)式では、部分プラットフォーム2(P_2i)の現在の負荷として、単位時間あたりメッセージ処理数M_2iを使用する。
EL_2i=t×M_2i+(1−t)×m×N_2i ・・・(1)
但し、tは比例係数である。
【0045】
次いで、構成エージェント12は、部分プラットフォーム7(P_7j)を接続した場合に、新たに加わる負荷EL_7jを(2)式により見積もる(ステップS205)。
EL_7j=max{ave(m_7j),m} ・・・(2)
但し、ave(m_7j)は部分プラットフォーム7(P_7j)の過去の通信メッセージ数の平均値、max{A,B}はAまたはBのいずれか大きい方の値である。
【0046】
次いで、構成エージェント12は、(3)式を満たす全ての部分プラットフォーム2(P_2i)からなる集合Sを求める(ステップS206〜S209)。
L_2i>EL_2i+EL_7j ・・・(3)
この集合Sには、部分プラットフォーム7(P_7j)を接続しても、負荷が最大負荷L_2iに達しない部分プラットフォーム2(P_2i)が全て含まれている。
【0047】
次いで、図4において、構成エージェント12は、部分プラットフォーム7(P_7j)に最適な地区X_7jを、当該移動端末の現在位置X_7j[now]および過去の位置の履歴X_7j[now−1],…,X_7j[now−n]から求める(ステップS207)。例えば、過去になるほど減少する重みをつけて、現在及び過去の位置の各々のスコアを算出し、トータルでもっともスコアの高い地区を選択する。
【0048】
次いで、構成エージェント12は、最適な地区X_7jに割り当てられている全ての部分プラットフォーム2(P_2i)からなる集合Tを求める(ステップS211〜S214)。
【0049】
次いで、構成エージェント12は、集合Sと集合Tの両方に含まれる部分プラットフォーム2(P_2i)が存在すれば、先ずその中から部分プラットフォーム7(P_7j)が直前に接続していたものがあるか否かを検査する(ステップS215)。この結果、直前に接続していたものがあれば、該部分プラットフォーム2(P_2i)を部分プラットフォーム7(P_7j)の今回の接続先として選択し、部分プラットフォーム7(P_7j)へ通知する(ステップS216)。
【0050】
一方、直前に接続していたものがなかった場合には、集合Sと集合Tの両方に含まれる部分プラットフォーム2(P_2i)の中に、過去に部分プラットフォーム7(P_7j)と接続した履歴がある部分プラットフォーム2(P_2i)があるか否かを検査する(ステップS217)。この結果、過去の接続履歴有りのものがあれば、該部分プラットフォーム2(P_2i)を選択して部分プラットフォーム7(P_7j)へ通知する(ステップS218)。この際、過去の接続履歴有りの部分プラットフォーム2(P_2i)が複数あった場合は、「L_2i−(EL_2i+EL_7j)」の値が最大であるものを選択する。
【0051】
さらに、集合Sと集合Tの両方に含まれる部分プラットフォーム2(P_2i)の中に、過去の接続履歴有りのものもなかった場合には、
「L_2i−(EL_2i+EL_7j)」の値が最大であるものを選択する(ステップS219、S220)。
【0052】
他方、集合Sと集合Tの両方に含まれる部分プラットフォーム2(P_2i)が存在しなければ、集合Sに含まれる部分プラットフォーム2(P_2i)のうち、「L_2i−(EL_2i+EL_7j)」の値が最大であるものを選択する(ステップS221、S222)。
【0053】
一方、集合Sに含まれる部分プラットフォーム2(P_2i)が存在しなければ、集合Tに含まれる部分プラットフォーム2(P_2i)の中から、以下の優先順位に従って選択する。先ず、部分プラットフォーム7(P_7j)が直前に接続していた部分プラットフォーム2(P_2i)を最優先に選択する。次に、過去の接続履歴有りの部分プラットフォーム2(P_2i)を選択する。過去に接続履歴のある部分プラットフォーム2(P_2i)も無ければ、「L_2i−(EL_2i)」の値が最大である部分プラットフォーム2(P_2i)を選択する(ステップS223)。
【0054】
上述したように本実施形態では、移動端末側の部分プラットフォーム7の接続先となるセンタ側の部分プラットフォーム2を選択する際に、センタ側の負荷条件(予測負荷と新たに加わる負荷の予測値)と移動端末が存在する地域条件に基づいて最適なものを選ぶ。この選択時には、地域条件を負荷条件よりも優先する。また、地域条件として、先ず直前に接続していたものを最優先し、次に過去に接続した履歴があるものを優先する。このように、接続履歴があるものを選択することによって、DF4やACC3等においてキャッシュメモリの記憶内容を有効に活用することが可能となる。特に、直前に接続していた部分プラットフォーム2は、キャッシュメモリに有効な情報が残っている可能性が高いので、部分プラットフォーム7の接続先として最も適切なものである。
一方、接続履歴のある部分プラットフォーム2がない場合には、負荷が軽いものを優先する。
【0055】
上述した実施形態によれば、センタ側部分プラットフォーム2の負荷条件と移動端末が存在する地域条件に基づいて、複数のセンタ側部分プラットフォーム2の中から、移動端末側部分プラットフォーム7と組み合わせるのに最適なものが選択されるので、エージェントプラットフォーム(AP)機能を移動端末側とセンタ側に効率よく分散配置することができる。また、移動端末についての地域条件を優先するので、移動端末側部分プラットフォーム7に対してより適したセンタ側部分プラットフォーム2を割り当てることができ、適切な負荷分散を行うことが可能となる。
【0056】
これにより、従来の負荷分散方式で問題となっていた、新規クライアントの大量アクセスによる負荷バランスの崩れや、地域的な偏りを解決し、エージェントプラットフォームにおいて多数のエージェントを管理し、大量のメッセージ交換を行うことが可能となる。
【0057】
なお、上述した実施形態では、説明の便宜上、部分プラットフォーム2単位で移動端末側の部分プラットフォーム7と組み合わせたが、センタ側のACC3,DF4,AMS5については、異なる部分プラットフォーム2内のものを組み合わせて利用することができる。
【0058】
なお、上述した実施形態においては、エージェントプラットフォームを移動端末側とセンタ側で分散配置するシステムに適用したが、エージェントプラットフォームに限らず、移動端末側とセンタ側で一つの機能を分散配置するシステムに同様に適用することができる。例えば、移動端末をクライアント端末として利用するクライアントサーバシステムにも適用可能である。
【0059】
また、図3及び図4に示す各ステップを実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより負荷分散処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【0060】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
【0061】
以上、本発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【0062】
【発明の効果】
以上説明したように、本発明によれば、センタ側装置の負荷条件(予測負荷と新たに加わる負荷の予測値)と移動端末が存在する地域条件に基づいて、複数のセンタ側装置の機能の中から、移動端末の機能と組み合わせるのに最適なものが選択されるので、一つの機能(例えばAP機能)を移動端末側とセンタ側に効率よく分散配置することができる。
【0063】
また、移動端末の機能と接続履歴があるセンタ側装置の機能を選択するようにすれば、過去の通信内容の記録(例えばキャッシュメモリの記憶内容)を有効に活用することができるので、移動端末の機能に対してより適したセンタ側装置の機能を割り当てることができ、適切な負荷分散が可能となる。
さらに、移動端末の機能と直前に接続していたセンタ側装置の機能を選択するようにすれば、過去の通信内容の記録が残っている可能性が高いので、より高い効果が得られる。
【図面の簡単な説明】
【図1】本発明の一実施形態による機能分散システムの構成を示すブロック図である。
【図2】移動端末側部分プラットフォーム7の起動時の処理の流れを示すフローチャートである。
【図3】構成エージェント12が行う負荷分散処理の流れを示す第1のフローチャートである。
【図4】構成エージェント12が行う負荷分散処理の流れを示す第2のフローチャートである。
【符号の説明】
1…エージェントプラットフォーム、2…センタ側の部分プラットフォーム、3,8…エージェントコミュニケーションチャンネル(ACC)、4,10…ディレクトリファシリテータ(DF)、5,9…エージェントマネージメントシステム(AMS)、6,11…一般エージェント、7…移動端末側の部分プラットフォーム、12…構成エージェント、13…エージェント管理用データベース、14…外部エージェントプラットフォーム
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a function distribution system and a load distribution method, and a computer program for implementing the function distribution system using a computer.
[0002]
[Prior art]
In FIPA (Foundation for Intelligent Physical Agents), agent communication is standardized, and a reference model of an agent platform (AP) is defined as a software execution environment of an agent which is a kind of an autonomous action type program. The AP is composed of an ACC (Agent Communication Channel), an AMS (Agent Management System), and a DF (Directory Facility). The ACC is a message router for exchanging messages between agents in the AP or between agents in the AP and agents outside the AP. All messages are transferred via ACC. AMS manages the state of the agent in the AP. For example, it is possible to search for an agent identifier of an agent existing in the AP. The DF is a directory server that enables searching for services provided by agents.
[0003]
As a conventional load distribution method, for example, a method described in JP-A-2001-92766 is known. According to the method described in this publication, in a client-server system including a client and a plurality of servers, load distribution of servers is performed according to the load state of each server. Further, Japanese Patent Application Laid-Open No. 2002-99211 describes a public key certificate issuance request processing system in which a registration authority is formed in a geographical hierarchical configuration and load is distributed based on locality.
[0004]
[Problems to be solved by the invention]
In recent years, it has been studied to provide the above-mentioned agent in a mobile terminal such as a mobile phone to perform agent communication. In order for the agent on the mobile terminal to communicate, the AP needs to be built in the mobile terminal. However, it is difficult for a mobile terminal to realize all of the AP functions because of a lack of processing capability and the like, and there is a demand for efficiently distributing the AP functions between the mobile terminal and the center-side device. Further, when the AP function is distributed and arranged on the mobile terminal side and the center side, there is a possibility that access from the mobile terminal to one partial platform disposed on the center side may be concentrated, and it is important to perform this load distribution. Will be an issue. The partial platform is a part of the function of the agent platform.
[0005]
However, in the above-described conventional load distribution method, for example, in a method in which server load distribution is performed in accordance with a load state of each server, a server in a distant area may be accessed. The amount increases. Further, in the method of distributing the load based on the regionality, there is a possibility that the load may be unevenly distributed among the regions.
[0006]
The present invention has been made in view of such circumstances, and an object of the present invention is to provide a function distribution system in which one function (for example, an AP function) can be efficiently distributed and arranged between a mobile terminal and a center. Is to do.
[0007]
Another object of the present invention is to provide a function distribution system and a load distribution method capable of performing appropriate load distribution.
[0008]
Another object of the present invention is to provide a computer program for realizing the function distribution system using a computer.
[0009]
[Means for Solving the Problems]
In order to solve the above-mentioned problem, the function distribution system according to claim 1 is a function distribution system in which a specific function is distributed and arranged, and is combined with the function of a mobile terminal provided with the specific function divided. A plurality of center-side devices provided with divided portions of the specific function used, based on a load condition of the center-side device and an area condition where the mobile terminal exists, from among the functions of the plurality of center-side devices. And load balancing control means for selecting an optimum one to be combined with the function of the mobile terminal.
[0010]
The function distribution system according to claim 2, wherein the load distribution control means selects a function of the mobile terminal and a function of the center apparatus having a connection history.
[0011]
In the function distribution system according to the third aspect, the load distribution control means selects a function of the mobile terminal and a function of the center-side device connected immediately before.
[0012]
In the function distribution system according to the fourth aspect, the specific function is an agent platform.
[0013]
In order to solve the above-mentioned problem, a load distribution method according to claim 5, wherein a plurality of centers having divided parts of the specific function used in combination with the function of a mobile terminal having the specific function divided A load distribution method in a function distribution system including a device, wherein the mobile device is configured to perform, based on a load condition of the center device and an area condition in which the mobile terminal exists, the mobile device from among the functions of the plurality of center devices. It is characterized by selecting the best one to combine with the function of the terminal.
[0014]
In order to solve the above-mentioned problem, a computer program according to claim 6, wherein a plurality of center-side devices including a divided part of the specific function used in combination with the function of a mobile terminal having the specific function divided Is a computer program for performing a load distribution process in a function distribution system comprising: a function of the plurality of center-side devices based on a load condition of the center-side device and a regional condition in which the mobile terminal exists. It is characterized by causing a computer to execute a process of selecting an optimum one to be combined with the function of the mobile terminal from among them.
As a result, the above-described function distribution system can be realized using a computer.
[0015]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
FIG. 1 is a block diagram showing a configuration of a function distribution system according to an embodiment of the present invention. In FIG. 1, the function distribution system according to the present embodiment forms an agent platform (AP) 1.
[0016]
The agent platform 1 includes a plurality of partial platforms 2 on the center side, a plurality of partial platforms 7 on the mobile terminal side, a plurality of constituent agents (Agents) 12, and an agent management database 13. The configuration agent 12 is provided on the partial platform 2 on the center side.
[0017]
In the agent platform 1 of the present embodiment, the agent platform functions are distributed and arranged on the mobile terminal side and the center side. The partial platform 2 on the center side has an agent communication channel (ACC) 3, a directory facilitator (DF) 4, and an agent management system (AMS) 5 whose functions are divided. The partial platform 7 on the mobile terminal side has an ACC 8, an AMS 9, and a DF 10 whose functions are divided.
[0018]
The mobile terminal side partial platform 7 realizes one agent platform function by operating in cooperation with any of the center side partial platforms 2. The partial platform 2 on the center side can operate in cooperation with a plurality of partial platforms 7.
The partial platform 2 on the center side is provided corresponding to each district (Tokyo, Nagoya, Osaka, etc.).
[0019]
The general agents 6 and 11 are provided in the partial platform 2 on the center side or the partial platform 7 on the mobile terminal side. The general agents 6 and 11 are autonomous action type programs that can be executed on the partial platform 2 or the partial platform 7. The general agent 6 existing in the partial platform 2 provides a service by operating in cooperation with other agents, software, and the like existing in the partial platform 2. Similarly, the general agent 11 existing in the partial platform 7 provides a service by operating in cooperation with other agents, software, and the like existing in the partial platform 7. Further, the general agents 6 and 11 can operate in cooperation with each other.
[0020]
The ACC3, DF4, AMS5, ACC8, AMS9, and DF10 are each one of agents (autonomous action type programs).
[0021]
The agent information management database 13 stores the state of the agent in the agent platform 1 and information for centrally managing services provided by the agent.
[0022]
The agent platform 1 is a communication base for enabling message communication by specifying an agent identifier of a communication partner with respect to the agents 3 to 6, 8 to 11 and 12 that perform autonomous communication asynchronously. . Further, it also has a message communication function between the agents 3 to 6, 8 to 11 and 12 included in the agent platform 1 and the agents included in the external agent platform 14.
[0023]
In the agent platform 1, communication between the mobile terminal and the center is performed via a wireless communication network such as a mobile phone network. The external agent platform 14 communicates with the agent platform 1 via the Internet or the like. The agent platform 1 and the external agent platform 14 perform communication in a predetermined agent communication language (for example, FIPA ACL). The communication between the mobile terminal side and the center side of the agent platform 1 is not limited to a wireless communication network, but can be performed via a wired communication network such as a fixed telephone network, the Internet, or the like. For example, when a PDA (Personal Digital Assistants: personal information equipment) is used as a mobile terminal, it may be connected to a mobile phone and connected to a center-side device via a wireless telephone line, or may be connected to a center via a fixed telephone wired telephone line. It may be connected to the center device, or may be connected to the Internet via a LAN or the like and connected to the center device.
[0024]
The partial platform 2 is realized by executing a program for realizing the function by a CPU in the center-side device. The partial platform 7 is realized by executing a program for realizing the function by a CPU in the mobile terminal.
[0025]
The partial platform 2 on the center side is one in the agent platform 1 or a plurality of the partial platforms 2 for load distribution. In the partial platform 2, ACC3, DF4, AMS5, a general agent 6, and a configuration agent 12 are executed as basic functions thereof, and provide exchange of messages in the agent platform 1, management of agent status, and management of services.
[0026]
In the partial platform 2, ACC 3 is a message router, and all combinations of the partial platform 2 on the center side and the partial platform 7 on the mobile terminal side, and between each of the partial platforms 2 and 7 and the external agent platform 14, in each platform Provides a message exchange function between agents that exist in The ACC 3 receives a message transmission request from the agent in its own partial platform 2 or the ACC 3, ACC 8 or the external agent platform 14 in the other partial platforms 2, 7, refers to the agent management database 13, and determines If the agent is within the partial platform 2, the message is transferred directly to that agent. On the other hand, if the transmission destination is not the agent in its own partial platform 2, the message is transferred to the appropriate ACC3, ACC8 or external agent platform 14. If there is no appropriate transmission destination, an error is notified to the transmission request source.
[0027]
The DF 4 registers a service (service name and providing agent identifier, detailed condition, etc.), deletes (service name and providing agent identifier) with respect to an agent existing in the agent platform 1 or the external agent platform 14. Interfaces such as change (service name and identifier of provided agent, change of condition) and condition search (service name or additional condition is used as search condition, and the identifier of agent providing service is returned as search result) provide.
[0028]
The AMS 5 registers an agent state (agent identifier, state, etc.), deletes (agent identifier), and changes (agent identifier, State, etc.), and the activation, entry and exit of the agent itself.
[0029]
The configuration agent 12 (load distribution control means) is an agent existing in the partial platform 2, and at least one is provided in the agent platform 1. The configuration agent 12 responds to an inquiry from the partial platform 7 on the mobile terminal side with the current load status of each partial platform 2 and information on the partial platform 7 (eg, regionality and load of past access to the center side). ) Is considered, the partial platform 2 suitable for the present combination with the partial platform 7 is selected and notified.
[0030]
The partial platform 7 exists for each mobile terminal such as a mobile phone or a PDA (Personal Digital Assistants). For this reason, there are generally a very large number of partial platforms 7. The partial platform 7 can be started and stopped by an operation on the mobile terminal side. At the time of start-up, it connects to a predetermined default partial platform 2. Then, it inquires of the predetermined configuration agent 12 to receive the notification of the partial platform 2 forming the current set, and thereafter performs communication and management via the partial platform 2.
[0031]
In the partial platform 7, the ACC 8 is a message router, which exists between agents in the partial platform 7, or between an agent in the partial platform 7 and another agent existing in the agent platform 1, or an external agent platform 14. Provides a function to exchange messages with agents. The ACC 8 receives a message transmission request from an agent in its own partial platform 7 or from the ACC 3, refers to the AMS 9, and transfers the message directly to the agent if the destination is an agent in its own partial platform 7. . On the other hand, when the transmission destination is not the agent in the own partial platform 7, the message is transferred to the ACC3 selected in advance. If there is no appropriate transmission destination, an error is notified to the transmission request source.
Further, the ACC 8 inquires of the configuration agent 12 about the partial platform 2 to be set this time.
[0032]
The AMS 9 registers, for the agent existing in the partial platform 7, the agent state (agent identifier, state, etc.), deletes (agent identifier), changes (agent identifier, state, etc.), and the agent itself. Provides an interface for launching, moving in and out. In addition, the functions of deletion, modification, transfer-in, and transfer-out of the agent owned by the owner of the partial platform 7 (which is not necessarily in the partial platform 7) are provided through the same interface as the above interface. I do. The status change accompanying the requested operation is always notified to the AMS 5 selected in advance, and the AMS 5 stores the status change in the agent information management database 13.
[0033]
The DF 10 registers, deletes (service name and providing agent identifier), changes (service name and providing agent identifier) a service for an agent existing in the partial platform 7, and registers the service (service name and providing agent identifier, detailed conditions, etc.). It provides interfaces such as an identifier of the agent to be provided and the content of change of the condition, and a condition search (the service name or an additional condition is used as a search condition, and the identifier of the agent that provides the service is returned as a search result). Actually, only the past search contents are stored in the cache memory. If the search contents exist in the cache memory, the search result is taken out from the cache memory and returned. On the other hand, if the search content does not exist in the cache memory, a request is made to a predetermined DF 4 for processing, and the result is returned to the request source.
[0034]
Next, with reference to FIGS. 2 to 4, the operation of distributing the load on the center side in the agent platform 1 of FIG. 1 will be described. FIG. 2 is a flowchart illustrating a flow of a process performed by the mobile terminal at startup. FIG. 2 and FIG. 3 are first and second flowcharts showing the flow of the load distribution processing performed by the configuration agent 12.
[0035]
First, processing on the mobile terminal side will be described with reference to FIG.
In FIG. 2, when the mobile terminal is activated, the partial platform 7 performs an initialization process (step S101). In the initialization processing, the default identifiers ACC3 (center side), AMS5 (center side), DF4 (center side), and the identifiers I_3d, I_5d, I_4d, and I_c of the configuration agent 12 are acquired from the internal setting file related to communication. I do.
[0036]
Then, via the default ACC3 (I_3d), the configuration agent 12 (I_c) is inquired of the ACC3, AMS5, and DF4 of the partial platform 2 on the center side, which is the current set. Then, as a result of this inquiry, the identifiers I_3a, I_5a, and I_4a of the ACC3, AMS5, and DF4 to be connected thereafter are acquired from the configuration agent 12 (I_c) (step S102). Next, these ACC3 (I_3a), AMS5 (I_5a), and DF4 (I_4a) are changed as new connection destinations, and the startup process is completed.
[0037]
Thereafter, the partial platform 7 executes the following normal processing.
The partial platform 7 performs all message communication via ACC8 and ACC3 (I_3a) in the partial platform. Also, requests for service search, registration, deletion, update, etc. from the general agent 11 in the local platform are made to the DF 10 in the local platform, and the DF 10 cannot be processed based on the contents stored in the cache memory. For the operation, the DF 10 issues an operation request to the DF 4 (I_4a). Also, requests such as agent search, registration, deletion, and update from the general agent 11 in the local platform are made to the AMS 9 in the local platform, and the AMS 9 requests the AMS 5 (I_5a) for a management operation. Then, the AMS 5 (I_5a) stores and stores the management information in the agent information management database 13.
[0038]
Next, the load distribution processing performed by the configuration agent 12 will be described with reference to FIGS.
The configuration agent 12 (I_c) starts the processing in FIG. 3 when receiving the inquiry in step S102 in FIG. 2 from the partial platform 7 on the mobile terminal side. Hereinafter, the identifier of the configuration agent 12 is omitted. The allocation of the partial platforms 2 on the center side can be performed separately for the ACC3, DF4, and AMS5. However, for convenience of explanation, it is assumed that the ACC3, DF4, and AMS5 in the same partial platform 2 are collectively allocated.
[0039]
First, the configuration agent 12 acquires the identifier P_7j of the partial platform 7 of the inquiry source. The identifier P_7j is obtained from the identifier of the transmission source included in the request message received from the mobile terminal (Step S201). Next, the configuration agent 12 searches the agent information management database 13 based on the identifier P_7j, and obtains information on the partial platform 7 (P_7j) and information on each current partial platform 2 (Steps S202 and S203). .
[0040]
The information on the partial platform 7 (P_7j) includes the history X_7j [now], X_7j [now-1],..., X_7j [now-n] of the current position and the past position (district) of the mobile terminal, and the past center side. Of the partial platform 2, and a history of the number of messages transmitted in the past from the mobile terminal (communication frequency). These pieces of information are collected by, for example, the center side platform 2 of the agent platform 1 or the mobile phone network, and stored in the agent information management database 13.
[0041]
The information on the current partial platforms 2 includes a list of the currently operating partial platforms 2 (P_2i), the operating status of each of the lists (the number of message processes per unit time M_2i, the currently connected partial platform 7). N_2i) is obtained. These pieces of information are collected at the center as needed, and are stored in the agent information management database 13.
[0042]
Also, the maximum allowable load L_2i is predetermined for each of the partial platforms 2 (P_2i). Further, the average number m of message transmissions per unit time of all the partial platforms 7 on the mobile terminal side is calculated in advance. The average number m of message transmissions can be calculated from the history or the like recorded in the agent information management database 13. The maximum load L_2i and the average number m of message transmissions are stored in the agent information management database 13, and the configuration agent 12 also acquires such information.
[0043]
Further, at least one individual partial platform 2 (P_2i) is allocated to all districts in advance. This information is stored in the agent information management database 13, and the configuration agent 12 also acquires the information.
[0044]
Next, the configuration agent 12 calculates the predicted load EL_2i in each of the partial platforms 2 (P_2i) by using the equation (1) (Step S204). In this equation (1), the number of message processes per unit time M_2i is used as the current load of the partial platform 2 (P_2i).
EL_2i = t × M_2i + (1-t) × m × N_2i (1)
Here, t is a proportional coefficient.
[0045]
Next, when the partial platform 7 (P_7j) is connected, the configuration agent 12 estimates a load EL_7j to be newly added by using the equation (2) (step S205).
EL — 7j = max {ave (m — 7j), m} (2)
Here, ave (m_7j) is the average value of the number of past communication messages of the partial platform 7 (P_7j), and max {A, B} is the larger value of A or B.
[0046]
Next, the configuration agent 12 obtains a set S including all the partial platforms 2 (P_2i) satisfying the expression (3) (Steps S206 to S209).
L_2i> EL_2i + EL_7j (3)
This set S includes all the partial platforms 2 (P_2i) whose loads do not reach the maximum load L_2i even when the partial platforms 7 (P_7j) are connected.
[0047]
Next, in FIG. 4, the configuration agent 12 determines the optimum area X_7j for the partial platform 7 (P_7j) as the current position X_7j [now] and the past position history X_7j [now-1],. It is obtained from [now-n] (step S207). For example, a score is calculated for each of the current position and the past position with a weight that decreases in the past, and the district with the highest total score is selected.
[0048]
Next, the configuration agent 12 obtains a set T including all the partial platforms 2 (P_2i) assigned to the optimal district X_7j (steps S211 to S214).
[0049]
Next, if there is a partial platform 2 (P_2i) included in both the set S and the set T, the configuration agent 12 first determines whether or not there is a partial platform 7 (P_7j) connected immediately before the partial platform 2 (P_2i). Is checked (step S215). As a result, if there is one connected immediately before, the partial platform 2 (P_2i) is selected as the current connection destination of the partial platform 7 (P_7j) and notified to the partial platform 7 (P_7j) (step S216). .
[0050]
On the other hand, if there is no connection immediately before, the partial platform 2 (P_2i) included in both the set S and the set T has a history of connection with the partial platform 7 (P_7j) in the past. It is checked whether there is a partial platform 2 (P_2i) (step S217). As a result, if there is one having a past connection history, the partial platform 2 (P_2i) is selected and notified to the partial platform 7 (P_7j) (step S218). At this time, when there are a plurality of partial platforms 2 (P_2i) having a past connection history, the one having the largest value of “L_2i− (EL_2i + EL_7j)” is selected.
[0051]
Further, when there is no partial platform 2 (P_2i) included in both the set S and the set T with a past connection history,
The one with the largest value of “L — 2i− (EL — 2i + EL — 7j)” is selected (steps S219 and S220).
[0052]
On the other hand, if the partial platform 2 (P_2i) included in both the set S and the set T does not exist, the value of “L_2i− (EL_2i + EL_7j)” is the largest among the partial platforms 2 (P_2i) included in the set S. One is selected (steps S221 and S222).
[0053]
On the other hand, if the partial platform 2 (P_2i) included in the set S does not exist, the partial platform 2 (P_2i) included in the set T is selected according to the following priority. First, the partial platform 2 (P_2i) to which the partial platform 7 (P_7j) is connected immediately before is selected with the highest priority. Next, a partial platform 2 (P_2i) having a past connection history is selected. If there is no partial platform 2 (P_2i) with a connection history in the past, the partial platform 2 (P_2i) having the largest value of “L_2i− (EL_2i)” is selected (step S223).
[0054]
As described above, in the present embodiment, when selecting the center-side partial platform 2 to which the mobile terminal-side partial platform 7 is connected, the center-side load condition (the predicted load and the predicted value of the newly added load) And the best one based on the local conditions where the mobile terminal exists. At the time of this selection, the local condition is prioritized over the load condition. As the regional condition, the one connected immediately before is given the highest priority, and the one having a history of connection in the past is given priority next. As described above, by selecting the one having the connection history, the storage contents of the cache memory can be effectively used in the DF4, the ACC3, and the like. In particular, the partial platform 2 that was connected immediately before is most likely to have valid information remaining in the cache memory, and is therefore most appropriate as the connection destination of the partial platform 7.
On the other hand, if there is no partial platform 2 having a connection history, the one with a light load is prioritized.
[0055]
According to the above-described embodiment, based on the load conditions of the center-side partial platform 2 and the local conditions where the mobile terminal exists, the plurality of center-side partial platforms 2 are optimally combined with the mobile terminal-side partial platform 7. Therefore, the agent platform (AP) function can be efficiently distributed and arranged on the mobile terminal side and the center side. In addition, since the local condition of the mobile terminal is prioritized, a more suitable center-side partial platform 2 can be allocated to the mobile terminal-side partial platform 7, and appropriate load distribution can be performed.
[0056]
As a result, the problem of load balancing due to the large number of new clients and the regional bias, which had been a problem with the conventional load balancing method, was resolved, and a large number of agents were managed on the agent platform to exchange a large amount of messages. It is possible to do.
[0057]
In the above-described embodiment, for convenience of description, the partial platform 2 is combined with the partial platform 7 on the mobile terminal side, but the ACC3, DF4, and AMS5 on the center side are combined with those in different partial platforms 2. Can be used.
[0058]
In the above-described embodiment, the agent platform is applied to the system in which the mobile terminal side and the center side are distributed. However, the present invention is not limited to the agent platform, and the system in which one function is distributed and arranged in the mobile terminal side and the center side. The same can be applied. For example, the present invention is also applicable to a client server system using a mobile terminal as a client terminal.
[0059]
In addition, a program for realizing the steps shown in FIGS. 3 and 4 is recorded on a computer-readable recording medium, and the program recorded on the recording medium is read by a computer system and executed, thereby distributing the load. Processing may be performed. Here, the “computer system” may include an OS and hardware such as peripheral devices.
The “computer system” also includes a homepage providing environment (or a display environment) if a WWW system is used.
The “computer-readable recording medium” refers to a portable medium such as a flexible disk, a magneto-optical disk, a ROM, and a CD-ROM, and a storage device such as a hard disk built in a computer system.
[0060]
Further, the “computer-readable recording medium” refers to a volatile memory (RAM) inside a computer system that becomes a server or a client when a program is transmitted via a network such as the Internet or a communication line such as a telephone line. In addition, programs that hold programs for a certain period of time are also included.
Further, the above program may be transmitted from a computer system storing the program in a storage device or the like to another computer system via a transmission medium or by a transmission wave in the transmission medium. Here, the “transmission medium” for transmitting a program refers to a medium having a function of transmitting information, such as a network (communication network) such as the Internet or a communication line (communication line) such as a telephone line.
Further, the program may be for realizing a part of the functions described above. Furthermore, what can implement | achieve the function mentioned above in combination with the program already recorded on the computer system, and what is called a difference file (difference program) may be sufficient.
[0061]
As described above, the embodiment of the present invention has been described in detail with reference to the drawings. However, the specific configuration is not limited to this embodiment, and includes a design change or the like without departing from the gist of the present invention.
[0062]
【The invention's effect】
As described above, according to the present invention, based on the load condition of the center device (the predicted load and the predicted value of the newly added load) and the local condition where the mobile terminal exists, the functions of the plurality of center devices are determined. Since the best one to be combined with the function of the mobile terminal is selected from among them, one function (for example, the AP function) can be efficiently distributed and arranged on the mobile terminal side and the center side.
[0063]
Further, if the function of the mobile terminal and the function of the center-side device having the connection history are selected, the record of the past communication contents (for example, the storage contents of the cache memory) can be effectively used. A more suitable function of the center-side device can be assigned to this function, and appropriate load distribution can be performed.
Further, if the function of the mobile terminal and the function of the center-side device connected immediately before are selected, there is a high possibility that a record of the past communication contents remains, so that a higher effect can be obtained.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a function distribution system according to an embodiment of the present invention.
FIG. 2 is a flowchart showing a flow of processing when the mobile terminal-side partial platform 7 is activated.
FIG. 3 is a first flowchart illustrating a flow of a load distribution process performed by a configuration agent 12;
FIG. 4 is a second flowchart illustrating a flow of a load distribution process performed by the configuration agent 12.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 1 ... Agent platform, 2 ... Center side partial platform, 3, 8 ... Agent communication channel (ACC), 4, 10 ... Directory facilitator (DF), 5, 9 ... Agent management system (AMS), 6, 11 ... General Agent, 7: partial platform on the mobile terminal side, 12: constituent agent, 13: agent management database, 14: external agent platform

Claims (6)

特定機能を分散して配置する機能分散システムであって、
前記特定機能を分割して備える移動端末の該機能と組み合わせて使用される前記特定機能の分割部分を備える複数のセンタ側装置と、
前記センタ側装置の負荷条件と前記移動端末が存在する地域条件に基づいて、前記複数のセンタ側装置の機能の中から、前記移動端末の機能と組み合わせるのに最適なものを選択する負荷分散制御手段と、
を備えたことを特徴とする機能分散システム。
A function distribution system in which specific functions are distributed and arranged,
A plurality of center-side devices including a divided part of the specific function used in combination with the function of the mobile terminal having the specific function divided,
Load distribution control for selecting the most suitable function to be combined with the function of the mobile terminal from the functions of the plurality of center-side devices based on the load condition of the center-side device and the regional condition where the mobile terminal exists. Means,
A function distribution system characterized by comprising:
前記負荷分散制御手段は、前記移動端末の機能と接続履歴がある前記センタ側装置の機能を選択することを特徴とする請求項1に記載の機能分散システム。2. The function distribution system according to claim 1, wherein the load distribution control unit selects a function of the center-side device having a function of the mobile terminal and a connection history. 3. 前記負荷分散制御手段は、前記移動端末の機能と直前に接続していた前記センタ側装置の機能を選択することを特徴とする請求項2に記載の機能分散システム。3. The function distribution system according to claim 2, wherein the load distribution control unit selects a function of the mobile terminal and a function of the center-side device connected immediately before. 4. 前記特定機能は、エージェントプラットホームであることを特徴とする請求項1乃至請求項3のいずれかの項に記載の機能分散システム。The function distribution system according to any one of claims 1 to 3, wherein the specific function is an agent platform. 特定機能を分割して備える移動端末の該機能と組み合わせて使用される前記特定機能の分割部分を備える複数のセンタ側装置を、具備する機能分散システムにおける負荷分散方法であって、
前記センタ側装置の負荷条件と前記移動端末が存在する地域条件に基づいて、前記複数のセンタ側装置の機能の中から、前記移動端末の機能と組み合わせるのに最適なものを選択することを特徴とする負荷分散方法。
A load distribution method in a function distribution system including a plurality of center-side devices including a divided part of the specific function used in combination with the function of a mobile terminal having a specific function divided,
Based on a load condition of the center-side device and a regional condition in which the mobile terminal exists, a function that is optimal to be combined with the function of the mobile terminal is selected from the functions of the plurality of center-side devices. Load balancing method.
特定機能を分割して備える移動端末の該機能と組み合わせて使用される前記特定機能の分割部分を備える複数のセンタ側装置を、具備する機能分散システムにおける負荷分散処理を行うためのコンピュータプログラムであって、
前記センタ側装置の負荷条件と前記移動端末が存在する地域条件に基づいて、前記複数のセンタ側装置の機能の中から、前記移動端末の機能と組み合わせるのに最適なものを選択する処理をコンピュータに実行させることを特徴とするコンピュータプログラム。
A computer program for performing a load distribution process in a function distribution system including a plurality of center-side devices having a divided part of the specific function used in combination with the function of a mobile terminal having the specific function divided. hand,
A computer selects, based on a load condition of the center apparatus and an area condition in which the mobile terminal exists, a process of selecting an optimum function to be combined with the function of the mobile terminal from the functions of the plurality of center apparatuses. A computer program characterized by being executed by a computer.
JP2002226442A 2002-08-02 2002-08-02 Function distribution system, function distribution method, and computer program Pending JP2004072265A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002226442A JP2004072265A (en) 2002-08-02 2002-08-02 Function distribution system, function distribution method, and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002226442A JP2004072265A (en) 2002-08-02 2002-08-02 Function distribution system, function distribution method, and computer program

Publications (1)

Publication Number Publication Date
JP2004072265A true JP2004072265A (en) 2004-03-04

Family

ID=32013782

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002226442A Pending JP2004072265A (en) 2002-08-02 2002-08-02 Function distribution system, function distribution method, and computer program

Country Status (1)

Country Link
JP (1) JP2004072265A (en)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006252218A (en) * 2005-03-11 2006-09-21 Nec Corp Distributed processing system and program
JP2010170377A (en) * 2009-01-23 2010-08-05 Nec Biglobe Ltd Access control system, and access control method
JP2010206543A (en) * 2009-03-03 2010-09-16 Toshiba Corp Communication terminal
JP2011055319A (en) * 2009-09-03 2011-03-17 Nec Corp Mobile communication system, mobility management device, and mobility management control method
WO2013035719A1 (en) * 2011-09-06 2013-03-14 日本電気株式会社 Data placement system, distributed access node, data placement method and program
JP2013214835A (en) * 2012-03-30 2013-10-17 Fujitsu Ltd Communication device, communication system, load balancing method, and load balancing program
JP2016517075A (en) * 2013-03-11 2016-06-09 アマゾン テクノロジーズ インコーポレイテッド Automated desktop placement
US10313345B2 (en) 2013-03-11 2019-06-04 Amazon Technologies, Inc. Application marketplace for virtual desktops
JP2019204239A (en) * 2018-05-22 2019-11-28 富士ゼロックス株式会社 Information processor, information processing system, and program
US10616129B2 (en) 2013-03-11 2020-04-07 Amazon Technologies, Inc. Automated desktop placement
US10623243B2 (en) 2013-06-26 2020-04-14 Amazon Technologies, Inc. Management of computing sessions

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006252218A (en) * 2005-03-11 2006-09-21 Nec Corp Distributed processing system and program
JP2010170377A (en) * 2009-01-23 2010-08-05 Nec Biglobe Ltd Access control system, and access control method
JP2010206543A (en) * 2009-03-03 2010-09-16 Toshiba Corp Communication terminal
JP2011055319A (en) * 2009-09-03 2011-03-17 Nec Corp Mobile communication system, mobility management device, and mobility management control method
WO2013035719A1 (en) * 2011-09-06 2013-03-14 日本電気株式会社 Data placement system, distributed access node, data placement method and program
JP2013214835A (en) * 2012-03-30 2013-10-17 Fujitsu Ltd Communication device, communication system, load balancing method, and load balancing program
JP2016517075A (en) * 2013-03-11 2016-06-09 アマゾン テクノロジーズ インコーポレイテッド Automated desktop placement
US10142406B2 (en) 2013-03-11 2018-11-27 Amazon Technologies, Inc. Automated data center selection
US10313345B2 (en) 2013-03-11 2019-06-04 Amazon Technologies, Inc. Application marketplace for virtual desktops
US10616129B2 (en) 2013-03-11 2020-04-07 Amazon Technologies, Inc. Automated desktop placement
US10623243B2 (en) 2013-06-26 2020-04-14 Amazon Technologies, Inc. Management of computing sessions
JP2019204239A (en) * 2018-05-22 2019-11-28 富士ゼロックス株式会社 Information processor, information processing system, and program
CN110515661A (en) * 2018-05-22 2019-11-29 富士施乐株式会社 Information processing unit, information processing system and information processing method
JP7106984B2 (en) 2018-05-22 2022-07-27 富士フイルムビジネスイノベーション株式会社 Information processing device, information processing system and program

Similar Documents

Publication Publication Date Title
US9602618B2 (en) Method and system for dynamic distributed data caching
JP5582344B2 (en) Connection management system and connection management server linkage method in thin client system
CN102299954B (en) For the context-specific network resource addressing system and method for Distributed Services
US7930214B2 (en) Management and arbitration of mobile service discovery
JP6395825B2 (en) Endpoint data center with different tenancy set
JP4425147B2 (en) Method, computer program and apparatus for switching information services
KR100951257B1 (en) Computerized system, method and program product for managing an enterprise storage system
US20050198303A1 (en) Dynamic virtual machine service provider allocation
US20060206610A1 (en) Method, system and apparatus for location-aware content push service and location-based dynamic attachment
US20050108394A1 (en) Grid-based computing to search a network
CN100465901C (en) Network system, management computer, cluster management method, and computer program
JP2004072265A (en) Function distribution system, function distribution method, and computer program
JP2005502106A (en) Access to information content
WO2012053393A1 (en) Method and device for deploying virtual computers
Ren et al. Resource scheduling for delay-sensitive application in three-layer fog-to-cloud architecture
EP3963288A1 (en) Communications server apparatus, methods and communications systems for recommending one or more points-of-interest for a transport-related service to a user
US20140280976A1 (en) Mobile computing cloud and virtual mobile infrastructure to optimize group resources
Artail et al. A framework of mobile cloudlet centers based on the use of mobile devices as cloudlets
CN112532301B (en) Beidou user terminal rapid network resource discovery and dynamic information interaction system
US20060117319A1 (en) Connection of an application to a resource manager selected from a plurality of resource managers
JP2004302564A (en) Name service providing method, execution device of the same, and processing program of the same
JP2004310458A (en) Personal information circulating method and personal information managing system and policy deciding system
KR20040032670A (en) A Local Information Providing Method for Wireless LAN Users via Intelligent Wireless LAN Access Point
KR101039260B1 (en) Resource management apparatus and its method in the ad-hoc network smart space
Maamar et al. Dynamic management of uddi registries in a wireless environment of web services

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040916

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20040921

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060523

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060530

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060731

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060829