JP6873854B2 - サーバ装置、装置制御方法、および記録媒体 - Google Patents

サーバ装置、装置制御方法、および記録媒体 Download PDF

Info

Publication number
JP6873854B2
JP6873854B2 JP2017140606A JP2017140606A JP6873854B2 JP 6873854 B2 JP6873854 B2 JP 6873854B2 JP 2017140606 A JP2017140606 A JP 2017140606A JP 2017140606 A JP2017140606 A JP 2017140606A JP 6873854 B2 JP6873854 B2 JP 6873854B2
Authority
JP
Japan
Prior art keywords
service
information processing
processing device
usage time
external device
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.)
Active
Application number
JP2017140606A
Other languages
English (en)
Other versions
JP2019021162A (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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2017140606A priority Critical patent/JP6873854B2/ja
Priority to US15/928,967 priority patent/US11003194B2/en
Publication of JP2019021162A publication Critical patent/JP2019021162A/ja
Application granted granted Critical
Publication of JP6873854B2 publication Critical patent/JP6873854B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0287Control of position or course in two dimensions specially adapted to land vehicles involving a plurality of land vehicles, e.g. fleet or convoy travelling
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34348Coordination of operations, different machines, robots execute different tasks
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/01Mobile robot

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Manipulator (AREA)
  • Information Transfer Between Computers (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、サーバ装置、装置制御方法、および記録媒体に関するものである。
あらゆる機器をインターネットに接続し、種々のサービスを提供するInternet of Things(IoT)技術が普及しつつある。インターネットに接続される機器の数が急速に増加する中、コミュニケーションを用いて人間に種々のサービスを提供するロボットシステムの技術開発が行われている。ロボットはモータ・アクチュエータ等による移動機能を備えている反面、機体のサイズ、形状等の制約から、ロボットに搭載可能な機器には制約が生じる。例えば、大型ディスプレイのような表示機器をロボットに搭載するには、ロボット自身のサイズも大型である必要があるし、搭載できるディスプレイのサイズ、場所にも制約が生じる。そこで、ロボットシステムにおいてロボットに搭載できない機器を利用可能とするためには、サービス提供に必要な機器をロボットの外部に設置し、外部機器をロボットが制御する方法が考えられる。
これに対して、特許文献1では、ネットワークに接続された印刷装置などの周辺機器内ソフトウェアリソースを管理する装置であって、周辺機器内のソフトウェアリソース情報の種類を記憶する記憶手段と、ネットワーク上の周辺機器を指定する第1の指定手段と、ネットワーク上の周辺機器を指定する第2の指定手段と、第1の指定手段で指定された周辺機器内のソフトウェアリソースが第2の指定手段で指定された周辺機器内のソフトウェアリソースに含まれるかどうかを判定する判定手段からなることを特徴とする、周辺機器管理装置が記載されている。
特開2004−46706号公報
特許文献1に記載された技術を用いれば、サービス提供に必要なソフトウェアリソースを持つ周辺機器を選択することが可能となる。しかしながら、ロボットによる接客、案内などのサービスを人に対して実施する場合には、単純に機器が使えるか否かだけでなく、機器の近さや、状態を考慮し、できるだけ早く使える機器を選択し、スムーズにサービスを提供する必要がある。
本発明は、人に対してスムーズにサービスを提供することが可能なサーバ装置、装置制御方法、および記録媒体を提供することを目的とする。
本発明にかかるサーバ装置は、自律移動可能な情報処理装置を制御するサーバ装置であって、前記情報処理装置の位置情報と、サービス提供拠点に設置され、前記情報処理装置が提供するサービスに必要な機器の位置情報とに基づいて、前記情報処理装置と前記機器との間の距離を算出する距離算出部と、前記情報処理装置が前記機器と連携して前記サービスを提供する際に、前記情報処理装置と前記機器との間の距離に基づいて、利用可能な前記機器を判定する利用可否判定部と、を備えることを特徴とするサーバ装置として構成される。
また、本発明は、上記サーバ装置で行われる装置制御方法、コンピュータ読み取り可能な記録媒体としても把握される。
本発明によれば、人に対してスムーズにサービスを提供することができる。
実施例1のロボット制御システムの構成の例を示す図である。 運用管理サーバの構成の例を示す図である。 外部機器連携処理の例を示すフローチャートである。 距離算出処理の例を示すフローチャートである。 機器利用可否判定処理の例を示すフローチャートである。 機器利用時間算出処理の例を示すフローチャートである。 サービス優先度判定処理の例を示すフローチャートである。 機器利用時間更新処理の例を示すフローチャートである。 運用管理サーバが管理するデータの構造を示すブロック図である。 サービス制御サーバの構成の例を示す図である。 サービス制御処理の例を示すフローチャートである。 サービス処理の例を示すフローチャートである。 代替機能提供処理の例を示すフローチャートである。 サービス制御サーバが管理するデータの構造を示すブロック図である。 外部機器制御サーバの構成の例を示す図である。 外部機器制御処理の例を示すフローチャートである。 ロボットの構成の例を示す図である。 位置管理処理の例を示すフローチャートである。 シナリオ制御処理の例を示すフローチャートである。 ロボットが管理するデータの構造を示すブロック図である。 外部機器の構成の例を示す図である。 外部機器制御処理の例を示すフローチャートである。 外部機器が管理するデータの構造を示すブロック図である。 外部機器連携の例を示すシーケンス図である。 機器利用時間更新の例を示すシーケンス図である。
以下、本発明の実施例を図面に基づいて詳細に説明する。
図1は、実施例1の移動機器向け外部機器管理システム1000の構成の例を示す図である。移動機器向け外部機器管理システム1000は、システム全体の運用管理を実施する運用管理サーバ10と、ロボットによるサービスを制御するサービス制御サーバ20と、サービス機器を制御する外部機器制御サーバ30とが配置される運用管理センタ80と、移動機器として自律移動可能な情報処理装置であるロボット60と、ロボット60と連携したサービスを実行する外部機器70とが配置されるサービス拠点90を含む。ここでは移動機器を自律移動可能な情報処理装置であるロボット60として説明するが、移動機器はロボットに限定されるものではなく、ドローンや自動運転車のように広範囲を移動可能な機器も含まれる。
運用管理センタ80とサービス拠点90はネットワーク40で接続される。また、サービス拠点内は構内LAN(Local Area Network)50で接続される。構内LANの接続方式は、例えば有線LAN、無線LAN、短距離無線であり、複数の接続方式を併用してもよい。
図2は、運用管理サーバ10の構成の例を示す図である。運用管理サーバ10には、一般的なコンピュータの補助記憶装置104にプログラム(ソフトウェア)が格納され、CPU(Central Processing Unit)102が、補助記憶装置104から読み出したプログラムをメモリ101上に展開して、実行する。運用管理サーバ10は、ネットワークインタフェース(I/F)105を介して他のサーバやサービス機器、ロボットと通信する。
I/O(入出力インタフェース)103は、ユーザが運用管理サーバ10に指示を入力し、プログラムの実行結果などをユーザに提示するためのユーザインタフェースである。I/O103には、入出力デバイス(例えば、キーボード、マウス、タッチパネル、ディスプレイ、プリンタなど)が接続される。I/O103は、ネットワークを経由して接続された管理端末によって提供されるユーザインタフェースが接続されてもよい。
CPU102は、メモリ101に格納されたプログラムを実行するプロセッサである。メモリ101は、不揮発性の記憶素子であるROM(Read Only Memory)及び揮発性の記憶素子であるRAM(Random Access Memory)を含む。ROMは、不変のプログラム(例えば、BIOS:Basic Input Output System)などが格納される。RAMは、DRAM(Dynamic Random Access Memory)のような高速かつ揮発性の記憶素子であり、補助記憶装置102に格納されたプログラム及びプログラムの実行時に使用されるデータが一時的に格納される。
具体的に、メモリ101は、外部機器連携プログラム111、距離算出プログラム112、機器利用可否判定プログラム113、機器利用時間算出プログラム114、サービス優先度判定プログラム115、機器利用時間更新プログラム116が格納される。
外部機器連携プログラム111は、外部機器連携処理(図3参照)を実行するためのプログラムである。距離算出プログラム112は、距離算出処理(図4参照)を実行するためのプログラムである。機器利用可否判定プログラム113は、機器利用可否判定処理(図5参照)を実行するためのプログラムである。機器利用時間算出プログラム114は、機器利用時間算出処理(図6参照)を実行するためのプログラムである。サービス優先度判定プログラム115は、サービス優先度判定処理(図7参照)を実行するためのプログラムである。機器利用時間更新プログラム116は、機器利用時間更新処理(図8参照)を実行するためのプログラムである。
また、メモリ101は、ロボット状態DB121(図9参照)、サービス情報DB122(図9参照)、外部機器情報DB123(図9参照)、ロボット情報DB124(図9参照)、外部機器利用状況DB125(図9参照)が格納される。
補助記憶装置104は、例えば、磁気記憶装置(HDD:Hard Disk Drive)、フラッシュメモリ(SSD:Solid State Drive)などの大容量かつ不揮発性の記憶装置である。また、補助記憶装置104は、CPU102により実行されるプログラム及びプログラムの実行時に使用されるデータが格納される。すなわち、プログラムは、補助記憶装104から読み出されて、メモリ101にロードされ、CPU102によって実行される。
運用管理サーバ10は、物理的に一つの計算機上で、又は、論理的又は物理的な複数の計算機上で構成される計算機システムであり、メモリ101に格納されたプログラムが、同一の計算機上で別個のスレッドで動作してもよく、複数の物理的計算機資源上に構築された仮想計算機上で動作してもよい。また、運用管理サーバ10と他の装置が一つの物理的又は論理的計算機に収容されてもよい。なお、プログラムの実行によって実現される処理の全部又は一部の処理をハードウェア(例えば、FPGA:Field−Programmable Gate Array)によって実現してもよい。
さらに、上記プログラムは、ROM等に予め組み込まれて提供されたり、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録して提供したり、配布してもよい。さらには、上記プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供したり、配布してもよい。
図3は、外部機器連携処理の例を示すフローチャートである。外部機器連携処理は、外部機器連携プログラム111が運用管理サーバ10のCPU102で実行されることにより行われる処理である。外部機器連携プログラム111は、運用管理サーバ10が、外部機器を必要とするサービスを開始する情報を取得することにより行われる処理である。
まず、外部機器連携プログラム111は、ロボット60が外部機器を必要とするサービスの外部機器情報(図8)を取得する(ステップ1111)。例えば、外部機器連携プログラム111は、サービスを提供するためのサービス要求を受けると、そのサービス要求に含まれるサービス識別子をキーにしてサービス情報DB122(図9)を参照し、提供すべきサービスを特定する。外部機器連携プログラム111は、特定したサービスのサービス識別子に対応する外部機器パラメータを参照し、当該外部機器パラメータに含まれる外部機器70の機器識別子をキーにして、さらに外部機器情報DB123(図9)を参照し、当該機器識別子により識別される外部機器70を、上記サービスの提供に必要な機器と判断する。
その後、外部機器連携プログラム111は、距離算出プログラム112を起動し、距離算出処理(図4参照)を実行し(ステップ1112)、距離があらかじめ設定された閾値1より小さい範囲に外部機器70が存在するか否かを判定する(ステップ1113)。外部機器連携プログラム111は、上記閾値1より小さい範囲に外部機器70が存在しないと判定した場合は(ステップ1113;No)、上記提供すべきサービスの継続が不可であることを示す利用不可能メッセージをサービス制御サーバ20に送信し(ステップ1120)、処理を終了する。
一方で、外部機器連携プログラム111は、上記閾値1より小さい範囲に外部機器70が存在すると判定した場合は(ステップ1113;Yes)、機器利用可否判定プログラム113を起動し、機器利用可否判定処理(図5参照)を実行し(ステップ1114)、利用可能な外部機器が存在するか否かを判定する(ステップ1115)。外部機器連携プログラム111は、利用可能な外部機器が存在すると判定した場合は(ステップ1115;Yes)、機器利用時間算出プログラム114を起動し、機器利用時間算出処理(図6参照)を実行し(ステップ1116)、サービス制御サーバ20に対象の外部機器情報を送信し(ステップ1117)、処理を終了する。例えば、外部機器連携プログラム111は、利用可能な外部機器の機器識別子および機器種別を含む外部機器情報DB123に記憶されている情報と、その時点における当該機器識別子に対応する最新の外部機器利用状況DB125のサービス予想継続時間とを対応付けた利用可能メッセージを上記外部機器情報としてサービス制御サーバ20に送信する。
一方で、外部機器連携プログラム111は、利用可能な外部機器が存在しないと判定した場合は(ステップ1115;No)、サービス優先度判定プログラム115を起動し、サービス優先度判定処理を実行し(ステップ1118)、機器利用可否判定プログラム113は、利用可能になる外部機器70があるか否かを判定する(ステップ1119)。外部機器連携プログラム111は、利用可能になる外部機器70があると判定した場合は(ステップ1119;Yes)、ステップ1116、1117に進み、処理を終了する。外部機器連携プログラム111は、利用可能になる外部機器70がないと判定した場合は(ステップ1119;No)、ステップ1120に進み、処理を終了する。
図4は、距離算出処理の例を示すフローチャートである。距離算出処理は、距離算出プログラム112が運用管理サーバ101のCPUで実行されることにより行われる処理である。
距離算出プログラム112では、まずロボット状態DB121(図9)を参照し、ロボット60の位置情報を取得する(ステップ1121)。例えば、距離算出プログラム112は、自装置に記憶されているロボット識別子をキーにしてロボット状態DB121を参照し、当該ロボット識別子に対応する座標情報(X座標、Y座標)を読み取る。
次に、距離算出プログラム112は、サービス情報DB122を参照し、サービスに必要な外部機器の種別を取得する(ステップ1122)。例えば、距離算出プログラム112は、ステップ1111で取得されたサービス要求に含まれるサービス識別子をキーにして、ステップ1111と同様に、提供すべきサービスに必要な外部機器70を特定し、外部機器パラメータに含まれる機器識別子と機器種別とを読み取る。
さらに、距離算出プログラム112は、読み取った機器識別子および機器種別をキーにして外部機器情報DB123を参照し、サービスに必要な外部機器の位置情報を取得する(ステップ1123)、対象の外部機器が存在するか否かを判定する(ステップ1124)。例えば、距離算出プログラム112は、外部機器情報DB123に記憶されている上記機器識別子および機器種別に対応する座標情報(X座標、Y座標)を読み取り、当該外部機器70が存在するか否かを判定する。
距離算出プログラム112は、対象の外部機器が存在しないと判定した場合は(ステップ1124;No)、処理を終了する。一方で、距離算出プログラム112は、対象の外部機器70が存在すると判定した場合は(ステップ1124;Yes)、ロボット60の位置情報と、外部機器70の位置情報から、ロボット60から当該外部機器70までの距離を算出する(ステップ1125)。さらに、距離算出プログラム112は、ロボット情報DB124(図9)を参照してロボットの移動速度を取得し、ロボット60が外部機器70の位置に到達するまでの移動時間を算出する(ステップ1126)。例えば、距離算出プログラム112は、上記ロボット識別子をキーにしてロボット情報DB124を参照し、当該ロボット識別子に対応するロボットパラメータに含まれる移動速度を読み取り、算出した上記距離と当該移動速度とからロボット60の移動速度を算出する。
図5は、機器利用可否判定処理の例を示すフローチャートである。機器利用可否判定処理は、機器利用可否判定プログラム213が運用管理サーバ101のCPUで実行されることにより行われる処理である。
機器利用可否判定プログラム213では、まず外部機器利用状況DB125を参照し、ロボット60と外部機器70の距離が閾値1より小さい範囲に存在する外部機器70の利用状況(サービス予想継続時間)を取得する(ステップ1131)。例えば、機器利用可否判定プログラム213は、ステップ1122で読み取った機器識別子をキーにして外部機器利用状況DB125を参照し、当該機器識別子に対応するサービス予想継続時間(例えば、サービス1予想継続時間)を取得する。
次に、機器利用可否判定プログラム213は、ロボット60と外部機器70の距離が閾値1より小さい範囲に存在する外部機器70ごとに現在別のサービスが利用中であるか否か(上記サービス予想継続時間内か否か)を判定する(ステップ1132)。機器利用可否判定プログラム213は、別のサービスが利用中でないと判定した場合(ステップ1132;No)、その外部機器70を利用可と判定し(ステップ1135)、現在時刻にロボット60がその外部機器70の場所まで移動するための移動時間を加算した時間をサービス開始可能時間とする。
一方で、機器利用可否判定プログラム213は、別のサービスが利用中であると判定した場合(ステップ1135;Yes)、別のサービスの上記サービス予想継続時間である利用予定時間とあらかじめ設定された閾値2を次の条件で比較する。当該閾値2は、上記別のサービスの利用予定時間の終了見込みを判断するための閾値である。
条件1:利用予定時間≧閾値2
機器利用可否判定プログラム213は、上記条件1を満たすか否かを判定し(ステップ1133)、上記条件1を満たすと判定した場合は(ステップ1133;Yes)、外部機器70を利用不可と判定する(ステップ1134)。機器利用可否判定プログラム213は、上記条件1を満たさないと判定した場合は(ステップ1133;No)、外部機器70を利用可と判定し(ステップ1135)、現在時刻に外部機器70を現在使用している別のサービスの利用予定時間もしくはロボット60が外部機器70の場所まで移動するための移動時間の小さい方を加算した時刻、すなわち早くサービスを開始できる時刻をサービス開始可能時間とする(ステップ1136)。
そして、機器利用可否判定プログラム213は、全ての外部機器の中でサービス開始可能時間が最も小さい外部機器70を選択し(ステップ1137)、処理を終了する。
図6は、機器利用時間算出処理の例を示すフローチャートである。機器利用時間算出処理は、機器利用時間算出プログラム214が運用管理サーバ101のCPUで実行されることにより行われる処理である。
機器利用時間算出プログラム214では、まず外部機器70を現在利用しているサービスの利用予定時間(上記サービス予想継続時間)と、ロボット60から外部機器70までの移動時間を比較し、上記利用予定時間がロボット60の移動時間よりも長いか否かを判定する(ステップ1141)。
機器利用時間算出プログラム214は、上記利用予定時間がロボットの移動時間よりも長いと判定した場合は(ステップ1141;Yes)、外部機器70を現在利用しているサービスの終了時間(上記サービス予想継続時間の終了時刻)から、サービス情報DB122の残りのサービスの終了時間(標準継続時間のうちの残りのステートの標準継続時間)が経過するまでのサービス利用予定時間を算出して機器利用時間とし(ステップ1142)、外部機器利用状況DB125のサービス予想継続時間をそれぞれステートにおいて更新し(ステップ1143)、処理を終了する。
より具体的には、機器利用時間算出プログラム214は、上記利用予定時間がロボットの移動時間よりも長いため、ロボット60が移動した後もまだサービスの利用が継続していると判断する。機器利用時間算出プログラム214は、ステップ1111で取得されたサービス要求に含まれるサービス識別子をキーにしてサービス情報DB122を参照し、当該サービス識別子に対応する標準継続時間およびステートの標準継続時間(ステート1標準継続時間〜ステートN標準継続時間)を読み取る。機器利用時間算出プログラム214は、ステップ1122で読み取った機器識別子をキーにして外部機器利用状況DB125を参照し、現在時刻と上記サービスの終了時間とから上記残りのサービスの終了時間を算出し、算出した時間が経過するまでの時間を新たなサービス利用予定時間として算出し、外部機器利用状況DB125のサービス予想継続時間を、当該新たなサービス利用予定時間に更新する。
一方で、機器利用時間算出プログラム214は、上記利用予定時間がロボットの移動時間よりも長くないと判定した場合は(ステップ1141;No)、すなわち、ロボット60の外部機器70までの移動時間の方が長い場合は、ロボット60が外部機器70に到着する時間をサービス開始時間とし(ステップ1144)、当該サービス利用予定開始時間と、ステップ1142で算出した上記サービス利用予定時間とを加えた時間を新たなサービス利用予定時間とし(ステップ1145)、外部機器利用状況DB125のサービス予想継続時間を、当該新たなサービス利用予定時間に更新し(ステップ1143)、処理を終了する。
図7は、サービス優先度判定処理の例を示すフローチャートである。サービス優先度判定処理は、サービス優先度判定プログラム115が運用管理サーバ101のCPUで実行されることにより行われる処理である。
サービス優先度判定プログラム115では、まず、開始予定のサービスである上記提供すべきサービスの優先度と、閾値3を以下の条件で比較する(ステップ1151)。例えば、サービス優先度判定プログラム115は、上記提供すべきサービスのサービス識別子をキーにしてサービス情報DB122を参照し、当該サービス識別子に対応する優先度を読み取り、以下の条件2を満たすか否かを判定する。当該閾値3は、上記提供すべきサービスと他のサービスに比べて優先させるか否かを判断するための閾値である。
条件2:開始予定のサービスの優先度≧閾値3
サービス優先度判定プログラム115は、上記条件2を満たすか否かを判定し(ステップ1151)、上記条件2を満たさないと判定した場合は(ステップ1151;No)、処理を終了する。一方、サービス優先度判定プログラム115は、上記条件2を満たすと判定した場合は(ステップ1151;Yes)、ステップ1115で利用可能と判定された外部機器毎に、実行中のサービスの優先度を取得する(ステップ1152)。例えば、サービス優先度判定プログラム115は、上記利用可能と判定された外部機器70の機器識別子をキーにして外部機器利用状況DB125を参照し、当該機器識別子に対応するサービス優先度を読み取る。
サービス優先度判定プログラム115は、開始予定のサービスの優先度と外部機器70で実行中のサービスの優先度とを比較して、外部機器70で実行中のサービスの優先度よりも開始予定のサービスの優先度が高い外部機器70が存在するか否かを判定し(ステップ1153)、開始予定のサービスの優先度の方が高くなる外部機器がないと判定した場合(ステップ1153;No)、処理を終了する。一方、サービス優先度判定プログラム115は、開始予定のサービスの優先度の方が高くなる外部機器があると判定した場合(ステップ1153;Yes)、一旦、ステップ1115において利用可能でないと判定された場合であっても外部機器70を利用可能と判定し(ステップ1154)、処理を終了する。
図8は、機器利用時間更新処理の例を示すフローチャートである。機器利用時間更新処理は、機器利用時間更新プログラム116が運用管理サーバ101のCPUで実行されることにより行われる処理である。
機器利用時間更新プログラム116では、まず、サービス制御サーバ20からサービスの現在の状態や進行度を示すサービスステート情報(図14)を取得する(ステップ1161)。例えば、機器利用時間更新プログラム116は、上記提供すべきサービスのサービス識別子をキーにして、サービス制御サーバ20に記憶されているサービス情報DB221を参照し、当該サービス識別子に対応するステート動作およびサービスパラメータを取得する。また、機器利用時間更新プログラム116は、サービス状態情報DB222を参照し、上記サービス識別子に一致する提供中サービス識別子に対応するサービスステートと開始時間と終了予定時間とを含むステート情報を取得する。
次に、機器利用時間更新プログラム116は、サービス状態情報DB222から取得したサービスステートが終了を示すステートであるか否かを判定し(ステップ1162)、サービスステートが終了を示すステートでないと判定した場合は(ステップ1162;No)、サービス情報DB122を参照し、現在のサービスステートからサービス終了までの予想継続時間を算出する(ステップ1169)。
例えば、機器利用時間更新プログラム116は、上記提供すべきサービスのサービス識別子をキーにしてサービス情報DB122を参照し、ステップ1161で取得したステート動作のステートに対応するステート標準継続時間と、当該ステート以降の残りのステートの標準継続時間とを加算することにより、上記予想継続時間を算出する。
さらに、機器利用時間更新プログラム116は、ステップ1161で取得したサービスステートに対応する提供中サービス識別子により識別されるサービスで利用している外部機器70の利用待ちをしているサービスがあるか否かを判定し(ステップ1170)、当該サービスがないと判定した場合は(ステップ1170;No)処理を終了する。例えば、機器利用時間更新プログラム116は、ステップ1115で読み取られた機器識別子をキーにして外部機器利用状況DB125を参照し、当該機器識別子により識別される外部機器70を用いて、上記提供中サービス識別子により識別されるサービスよりもサービス優先度が低いサービスがあるか否かを判定し、当該サービスがないと判定した場合は処理を終了する。
一方、機器利用時間更新プログラム116は、当該サービスがあると判定した場合(ステップ1170;Yes)、すなわち、サービスステートを取得したサービスで利用している外部機器70の利用待ちをしているサービスがあると判定した場合は、ステップ1167に進む。
ステップ1162に戻り、機器利用時間更新プログラム116は、サービス制御サーバ20から取得したサービスステートの種別が終了を示すステートであると判定した場合は(ステップ1162;Yes)、ステップ1170の場合と同様に、外部機器利用状況DBを参照し(ステップ1163)、サービス対象の外部機器に別のサービスの利用待ちがあるか否かを判定する(ステップ1164)。機器利用時間更新プログラム116は、サービス対象の外部機器に別のサービスの利用待ちがないと判定した場合は(ステップ1164;No)、外部機器利用状況DB125を更新し(ステップ1168)、処理を終了する。
一方、機器利用時間更新プログラム116は、サービス対象の外部機器に別のサービスの利用待ちがあると判定した場合は(ステップ1164;Yes)、サービス制御サーバ20に、次に待機しているサービスの開始を通知するメッセージを送信する(ステップ1165)。例えば、機器利用時間更新プログラム116は、ステップ1115で読み取られた機器識別子をキーにして外部機器利用状況DB125を参照し、当該機器識別子により識別される外部機器70を用いて、上記提供中サービス識別子により識別されるサービスよりもサービス優先度が低いサービスがあるか否かを判定し、当該サービスがあると判定した場合、上記サービス優先度が低いサービスのサービス識別子を含む上記メッセージをサービス制御サーバ20に送信する。
さらに、機器利用時間更新プログラム116は、サービス情報DB122を参照し、外部機器の利用待ちをしているサービス毎にサービス予想継続時間を算出する(ステップ1166)。サービス予想継続時間は、ステップ1142または1145で算出した時間と同様、現在のステートからステートNまでの標準継続時間を合計した時間である。
機器利用時間更新プログラム116は、外部機器の利用待ちをしているサービスの中で、算出したサービス予想継続時間が、あらかじめサービスごとに定められた待機限度時間を超えるか否かを判定し、待機限度時間を超えない場合にはサービスを提供するロボット60を待機させ、待機限度時間を超える場合には、サービス制御サーバ20に、当該サービスの代替機能の提供を要求するためのメッセージを送信し(ステップ1167)、外部機器利用状況DB125を更新し(ステップ1168)、処理を終了する。
図9は、運用管理サーバ10のメモリ101に記憶される各種のデータベースの構造を表す。
ロボット状態DB121は、ロボット60の状態に関する情報を管理するデータベースである。図9に示すように、ロボット状態DB121は、ロボット60を識別するためのロボット識別子と、ロボット60が設置されているサービス拠点90を識別するための拠点識別子、当該拠点識別子により識別される拠点の地理的情報を含む拠点マップ、当該拠点マップにおけるロボット60の位置情報を示すX座標およびY座標を含む。拠点識別子は拠点を一意に識別する識別子であり、端的には拠点の名称、あるいはシステムの命名規則に従って設定された文字列等が指定される。拠点マップはサービス拠点90の形状、広さ、見取り図など、拠点の物理的構造に関する情報であり、ロボット60の設置時に情報の初期設定が行われる。ロボット60には自己位置推定機能があり、レーザーレンジファインダ等を用いて周囲の壁と自身の距離を測定することで、サービス拠点90内の自身の位置(X座標,Y座標)を判定できる。
サービス情報DB122は、ロボット60が提供するサービスの情報を管理するデータベースである。図9に示すように、サービス情報DB122は、サービスを一意に特定するサービス識別子、サービスを実行するために必要となる標準的な時間である標準継続時間、サービスの状態を示すステート毎に、各ステートにおける動作や制御を実行するために必要となる標準的な時間であるステート標準時間、サービスの優先度を示すサービス優先度、サービスを実行する際に必要となる外部機器の条件を示す外部機器パラメータ、サービスを実行できない場合に実行する代替機能を一意に特定する代替機能識別子を含む。外部機器パラメータには、外部機器70の機器識別子と、当該機器の機器種別とが含まれる。機器種別としては、例えば、モニタ(01)、スピーカ(02)、タッチパネル(03)等というように、当該サービスの提供に必要な機器とその識別情報が、上記外部機器70の条件として記憶されている。なお、サービス情報DB122には、実際には、上記代替機能識別子に対応付けて、実際に代替機能を提供するための代替アプリケーションが記憶されている。例えば、提供不可能なサービスがディスプレイを用いた案内である場合、当該サービスの代替機能として、スピーカを用いた音声情報を出力して案内するアプリケーションが記憶されている。サービス識別子と同様のステート動作およびサービスパラメータが、代替アプリケーションにより提供されるサービスの状態を示すステート毎に、当該アプリケーションの代替機能識別子に対応付けて代替ステート動作および代替サービスパラメータとして記憶されている。
外部機器情報DB123は、ロボット60が利用可能な外部機器70の情報を管理するデータベースである。図9に示すように、外部機器情報DB123は、外部機器70を一意に特定する機器識別子、外部機器の種類を表す機器種別、外部機器がサービス拠点90内で設置されている位置情報X座標およびY座標、外部機器70を制御するために利用可能なパラメータのリスト(機器制御パラメータ1〜機器制御パラメータN)を含む。機器制御パラメータの内容は対象となる外部機器70の種別によって変化する。例えば、外部機器がデジタルサイネージのような出力機器であれば、機器制御パラメータとしては画面のオン/オフ、画面に表示するコンテンツの識別子、コンテンツにおける表示箇所(ページ数、URL等)が指定される。外部機器がカメラであれば、機器制御パラメータにはカメラの角度(パン・チルト)を設定することができる。サービス機器がエレベータであれば、機器制御パラメータはエレベータへの移動要求、階数指定が考えられる。
ロボット情報DB124は、運用管理サーバ10が管理しているロボット60の情報を管理するデータベースである。図9に示すように、ロボット情報DB124は、ロボットを一意に特定するロボット識別子、ロボットが持つ性能を示すパラメータのリスト(ロボットパラメータ1〜ロボットパラメータN)を含む。例えば、ロボット60の移動速度や回転速度、タッチパネルの解像度に関するパラメータがロボットパラメータとして記憶されている。
外部機器利用状況DB125は、外部機器70の利用予定を管理するデータベースである。図9に示すように、外部機器利用状況DB125は、外部機器の利用が予定されるサービス毎に、予想されるサービスの継続時間(サービス1予想継続時間〜サービスN予想継続時間)、外部機器を利用する予定のサービス毎の優先度(サービス1優先度〜サービスN優先度)を含む。サービス予想継続時間は、現在提供しているサービスが終了するまでの時間を示す。また、サービス優先度は、他のサービスとの関係において、上記サービス予想継続時間に対応する当該サービスが優先される順位を示し、例えば、優先度が高いほど大きな値の数値が記憶される。
図10は、サービス制御サーバ20の構成の例を示す図である。サービス制御サーバ20には、一般的なコンピュータの補助記憶装置204にプログラム(ソフトウェア)が格納され、CPU202が、補助記憶装置204から読み出したプログラムをメモリ201上に展開して、実行する。サービス制御サーバ20は、ネットワークI/F205を介して他のサーバやサービス機器、ロボットと通信する。
I/O203は、ユーザがサービス制御サーバ20に指示を入力し、プログラムの実行結果などをユーザに提示するためのユーザインタフェースである。I/O203には、入出力デバイス(例えば、キーボード、マウス、タッチパネル、ディスプレイ、プリンタなど)が接続される。I/O203は、ネットワークを経由して接続された管理端末によって提供されるユーザインタフェースが接続されてもよい。
CPU202は、メモリ201に格納されたプログラムを実行するプロセッサである。メモリ201は、不揮発性の記憶素子であるROM及び揮発性の記憶素子であるRAMを含む。ROMは、不変のプログラム(例えば、BIOS)などが格納される。RAMは、DRAMのような高速かつ揮発性の記憶素子であり、補助記憶装置202に格納されたプログラム及びプログラムの実行時に使用されるデータが一時的に格納される。
具体的に、メモリ201は、サービス制御プログラム211、サービスプログラム212、代替機能提供プログラム213が格納される。
サービス制御プログラム211は、サービス制御処理(図11参照)を実行するためのプログラムである。サービスプログラム212は、サービス処理(図12参照)を実行するためのプログラムである。代替機能提供プログラム213は、代替機能提供処理(図13参照)を実行するためのプログラムである。
また、メモリ201は、サービス情報DB221(図14参照)、サービス状態情報DB222(図14参照)が格納される。
補助記憶装置204は、例えば、磁気記憶装置(HDD)、フラッシュメモリ(SSD)などの大容量かつ不揮発性の記憶装置である。また、補助記憶装置204は、CPU202により実行されるプログラム及びプログラムの実行時に使用されるデータが格納される。すなわち、プログラムは、補助記憶装置204から読み出されて、メモリ201にロードされ、CPU202によって実行される。
サービス制御サーバ20は、物理的に一つの計算機上で、又は、論理的又は物理的な複数の計算機上で構成される計算機システムであり、メモリ201に格納されたプログラムが、同一の計算機上で別個のスレッドで動作してもよく、複数の物理的計算機資源上に構築された仮想計算機上で動作してもよい。また、サービス制御サーバ20と他の装置が一つの物理的又は論理的計算機に収容されてもよい。なお、プログラムの実行によって実現される処理の全部又は一部の処理をハードウェア(例えば、FPGA)によって実現してもよい。
さらに、上記プログラムは、ROM等に予め組み込まれて提供されたり、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、CD−R、DVD等のコンピュータで読み取り可能な記録媒体に記録して提供したり、配布してもよい。さらには、上記プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供したり、配布してもよい。
図11は、サービス制御処理の例を示すフローチャートである。サービス制御処理は、サービス制御プログラム211がサービス制御サーバ102のCPUで実行されることにより行われる処理である。
サービス制御プログラム211では、まず、ロボット60または外部機器70からサービス識別子およびロボット識別子、またはサービス識別子および機器識別子を含むサービス開始要求を受信すると、当該サービス識別子をキーにしてサービス情報DB221を参照し(ステップ2111)、当該サービス識別子により識別されるサービスが外部機器との連携が必要なサービスであるか否かを判定する(ステップ2112)。例えば、サービス制御プログラム211は、当該サービス識別子に対応するステート動作およびサービスパラメータを読み取り、上記ステート動作に対応する上記サービスパラメータとして、外部機器70の機器識別子が含まれているか否かを判定する。
サービス制御プログラム211は、外部機器70との連携が必要なサービスではないと判定した場合(ステップ2112;No)、サービス処理(図12参照)を実行し、処理を終了する。一方、サービス制御プログラム211は、外部機器70との連携が必要なサービスであると判定した場合は(ステップ2112;Yes)、運用管理サーバ10に外部機器70を利用する要求メッセージを送信し、待機する(ステップ2113)。当該要求メッセージには、上記機器識別子が含まれる。
サービス制御プログラム211は、運用管理サーバ10から利用できる外部機器70が存在するか否かの結果と、当該外部機器70を利用できるまでの予定時間を含むメッセージを受信し、利用できる外部機器70があるか判定する(ステップ2114)。例えば、サービス制御プログラム211は、上記結果として、利用可能な外部機器の機器識別子および機器種別を含む外部機器情報DB123に記憶されている情報と、上記予定時間として、その時点における当該機器識別子に対応する最新の外部機器利用状況DB125のサービス予想継続時間とを対応付けた利用可能メッセージ、あるいは提供すべきサービスの継続が不可であることを示す利用不可能メッセージを運用管理サーバ10から受信することにより、利用可能な外部機器の有無を判定する。
サービス制御プログラム211は、運用管理サーバ10から受信したメッセージが上記利用可能メッセージであり、利用できる外部機器70があるか否かを判定し(ステップ2114)、利用できる外部機器70があると判定した場合(ステップ2114;Yes)、さらに、サービスを提供可能である内容であるか否かを判定する(ステップ2115)。例えば、サービス制御プログラム211は、運用管理サーバ10から受信した上記利用可能メッセージに含まれるサービス予想継続時間が、あらかじめ定められたサービスを提供するまでの待ちを許容する時間を示す閾値(例えば、閾値2)よりも長い時間であるか否かを判定し、上記サービス予想継続時間が上記閾値よりも短いと判定した場合、サービスの提供が可能と判断し、上記サービス予想継続時間が上記閾値以上と判定した場合、サービスの提供が不可能と判断する。
サービス制御プログラム211は、サービスの提供が可能であると判定した場合(ステップ2115;Yes)、当該サービスを提供するためのサービス処理(図12参照)を実行し(ステップ2116)、処理を終了する。一方、サービス制御プログラム211は、運用管理サーバ10から上記利用不可能メッセージを受信し、利用できる外部機器70がないと判定した場合(ステップ2114;No)、またはサービスの提供が可能でないと判定した場合(ステップ2115;No)、当該サービスの代替機能を提供するための代替機能提供処理(図13参照)を実行し(ステップ2117)、処理を終了する。
図12は、サービス処理の例を示すフローチャートである。サービス処理は、サービスプログラム212がサービス制御サーバ102のCPUで実行されることにより行われる処理である。
サービスプログラム212では、まず運用管理サーバ10に現在のステート情報を送信する(ステップ2121)。例えば、サービスプログラム212は、ステップ2111でロボット60または外部機器70から受信した上記サービス開始要求に含まれるサービス識別子をキーにサービス状態情報DB222を参照し、上記サービス識別子に一致する提供中サービス識別子に対応するサービスステートと開始時間と終了予定時間とを読み取り、これらの情報を上記ステート情報として運用管理サーバ10に送信する。
続いて、サービスプログラム212は、上記サービス開始要求に含まれるロボット識別子により識別されるロボット60に、サービスステートに対応するシナリオ情報を送信する(ステップ2122)。例えば、サービスプログラム212は、上記提供中サービス識別子に対応するサービスステートに含まれるシナリオ情報を読み取り、送信する。シナリオ情報は、提供中のサービスを構成するシナリオを識別するためのシナリオ識別子と、当該シナリオ識別子により識別されるシナリオを構成するシナリオ動作の順序を示す動作順序番号を含む情報である。シナリオ識別子および動作順序番号については後述する。
サービスプログラム212は、ロボット60または外部機器70から受信した上記サービス開始要求に含まれるサービス識別子をキーにサービス情報DB221を参照し、当該サービス識別子に対応するステート動作を読み取り、読み取ったステート動作に対応するサービスパラメータを外部機器70の制御情報として外部機器制御サーバ30に送信する(ステップ2123)。例えば、サービスプログラム212は、上記ステート動作がディスプレイを用いた案内を行うための動作である場合、その動作に対応するサービスパラメータ(例えば、ディスプレイの電源をONするための外部機器に対する機器制御パラメータ)を、制御情報として外部機器制御サーバ30に送信する。
サービスプログラム212は、サービス状態情報DB222を更新し(ステップ2124)、処理を終了する。例えば、サービスプログラム212は、提供するサービスを実行して、順次、ステート動作1〜ステート動作Nが実行される都度、実行を開始するステート動作をサービス状態情報DB222のサービスステートに書き込む。このとき、実行を開始するステート動作の開始時間および終了予定時間を合わせて書き込み、現在のステート情報とする。上記ステート動作は、ステップ2121で送信したサービスステートであり、サービスプログラム212は、あるステート動作(例えば、電源ON)を実行した後、次のステート動作(例えば、ディスプレイへの挨拶文表示)に更新する。
図13は、代替機能提供処理の例を示すフローチャートである。代替機能提供処理は、代替機能提供プログラム213がサービス制御サーバ102のCPUで実行されることにより行われる処理である。
代替機能提供プログラム213では、まず、提供中サービス識別子に対応するサービスステートを取得すると(ステップ2141)、サービス情報DB221を参照し、上記提供中サービス識別子に一致するサービス識別子に対応する代替機能識別子を取得する(ステップ2142)。代替機能提供プログラム213は、上記代替識別子に対応づけて記憶されている代替アプリケーションを起動して代替機能のサービスをスタートし(ステップ2143)、代替ステート動作毎にサービス状態情報DB222を更新し(ステップ2144)、運用管理サーバ10に現在のステート情報を送信し(ステップ2145)、処理を終了する。例えば、代替機能提供プログラム213は、起動した代替アプリケーションを実行して、順次、代替ステート動作1〜代替ステート動作Nが実行される都度、実行を開始する代替ステート動作をサービス状態情報DB222のサービスステートに書き込む。このとき、実行を開始する代替ステート動作の開始時間および終了予定時間を合わせて書き込み、書き込んだ後のサービス状態情報DB222を上記現在のステート情報を運用管理サーバ10に送信する。
図14は、サービス制御サーバ20のメモリ201に存在する各種のデータベースの構造を表す。
サービス情報DB221は、ロボット60が提供するサービスの情報を管理するデータベースである。図14に示すように、サービス情報DB221は、サービスを一意に特定するサービス識別子、サービス識別子により識別されるサービスを構成するステートの動作を示すステート動作、各ステート動作によりサービスを実行するために必要となるパラメータを示すサービスパラメータ、サービスを実行できない場合に実行する代替機能を一意に特定する代替機能識別子、代替識別子により識別される代替アプリケーションを構成するステートの動作を示す代替ステート動作、各代替ステート動作により代替アプリケーションを実行するために必要となるパラメータを示す代替サービスパラメータを含む。ステート動作および代替ステート動作には、ロボット60がシナリオを動作させるために必要な情報、外部機器70を制御するための制御情報が含まれる。
サービス状態情報DB222は、サービス制御サーバが提供中のサービスを管理するデータベースである。図14に示すように、サービス状態情報DB222は、提供中のサービスを一意に特定する提供中サービス識別子、提供中のサービスのサービスステート、サービスステートとして記憶されているステート動作または代替ステート動作の開始時間、終了予定時間を含む。
図15は、外部機器制御サーバ30の構成の例を示す図である。外部機器制御サーバ30には、一般的なコンピュータの補助記憶装置304にプログラム(ソフトウェア)が格納され、CPU302が、補助記憶装置304から読み出したプログラムをメモリ301上に展開して、実行する。外部機器制御サーバ30は、ネットワークI/F305を介して他のサーバやサービス機器、ロボットと通信する。
I/O303は、ユーザが外部機器制御サーバ30に指示を入力し、プログラムの実行結果などをユーザに提示するためのユーザインタフェースである。I/O303には、入出力デバイス(例えば、キーボード、マウス、タッチパネル、ディスプレイ、プリンタなど)が接続される。I/O303は、ネットワークを経由して接続された管理端末によって提供されるユーザインタフェースが接続されてもよい。
CPU302は、メモリ301に格納されたプログラムを実行するプロセッサである。メモリ301は、不揮発性の記憶素子であるROM及び揮発性の記憶素子であるRAMを含む。ROMは、不変のプログラム(例えば、BIOS)などが格納される。RAMは、DRAMのような高速かつ揮発性の記憶素子であり、補助記憶装置302に格納されたプログラム及びプログラムの実行時に使用されるデータが一時的に格納される。
具体的に、メモリ301は、外部機器制御プログラム311が格納される。
外部機器制御プログラム311は、外部機器連携処理(図16参照)を実行するためのプログラムである。
補助記憶装置304は、例えば、磁気記憶装置(HDD)、フラッシュメモリ(SSD)などの大容量かつ不揮発性の記憶装置である。また、補助記憶装置304は、CPU302により実行されるプログラム及びプログラムの実行時に使用されるデータが格納される。すなわち、プログラムは、補助記憶装置304から読み出されて、メモリ301にロードされ、CPU302によって実行される。
外部機器制御サーバ30は、物理的に一つの計算機上で、又は、論理的又は物理的な複数の計算機上で構成される計算機システムであり、メモリ301に格納されたプログラムが、同一の計算機上で別個のスレッドで動作してもよく、複数の物理的計算機資源上に構築された仮想計算機上で動作してもよい。また、外部機器制御サーバ30と他の装置が一つの物理的又は論理的計算機に収容されてもよい。なお、プログラムの実行によって実現される処理の全部又は一部の処理をハードウェア(例えば、FPGA)によって実現してもよい。
さらに、上記プログラムは、ROM等に予め組み込まれて提供されたり、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、CD−R、DVD等のコンピュータで読み取り可能な記録媒体に記録して提供したり、配布してもよい。さらには、上記プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供したり、配布してもよい。
図16は、外部機器制御処理の例を示すフローチャートである。外部機器制御処理は、外部機器制御プログラム311が外部機器制御サーバ103のCPUで実行されることにより行われる処理である。
外部機器制御プログラム311では、まず、外部機器70を利用することを示す情報(例えば、S2113の外部機器利用要求)を取得すると、外部機器の利用状態を示す情報を取得する(ステップ3111)。上記利用状態を示す情報とは、外部機器が利用可能な状態であるか否かを示す情報であり、例えば、当該外部機器がビジー状態であることを示す信号である。
外部機器制御プログラム311は、取得した上記利用状態を示す情報が利用可能な状態を示す情報であるか否かを判定し(ステップ3112)、外部機器が利用可能な状態を示す情報であると判定した場合(ステップ3112;Yes)、ステップ2123でサービス制御サーバ20から送信された外部機器70の制御情報を外部機器70に転送する(ステップ3113)。
一方、外部機器制御プログラム311は、外部機器が利用不可な状態を示す情報であると判定した場合(ステップ3112;No)、外部機器が利用不可なことを示すメッセージを運用管理サーバ10に送信し(ステップ3114)、処理を終了する。
図17は、ロボット60の構成の例を示す図である。ロボット60のには、一般的なコンピュータの補助記憶装置604にプログラム(ソフトウェア)が格納され、CPU602が、補助記憶装置604から読み出したプログラムをメモリ601上に展開して、実行する。ロボット60は、LAN I/F605を介して他の機器と通信する。さらにロボット60は、頭、腕、脚といったロボットの機構部分である機構部606と、機構部を制御する機構制御部607と、音声を発するスピーカ608と、音声を収集するマイク609と、発光部610と、カメラやレーザによる距離測定器などの位置測定用のセンサ620とを備える。
I/O603は、ユーザがロボット60に指示を入力し、プログラムの実行結果などをユーザに提示するためのユーザインタフェースである。I/O603には、入出力デバイス(例えば、キーボード、マウス、タッチパネル、ディスプレイ、プリンタなど)が接続される。I/O603は、ネットワークを経由して接続された管理端末によって提供されるユーザインタフェースが接続されてもよい。
CPU602は、メモリ601に格納されたプログラムを実行するプロセッサである。メモリ601は、不揮発性の記憶素子であるROM及び揮発性の記憶素子であるRAMを含む。ROMは、不変のプログラム(例えば、BIOS)などが格納される。RAMは、DRAMのような高速かつ揮発性の記憶素子であり、補助記憶装置602に格納されたプログラム及びプログラムの実行時に使用されるデータが一時的に格納される。
具体的に、メモリ601は、位置管理プログラム611、シナリオ制御プログラム612が格納される。
位置管理プログラム611は、位置管理処理(図18参照)を実行するためのプログラムである。シナリオ制御プログラム612は、シナリオ制御処理(図19参照)を実行するためのプログラムである。
また、メモリ601は、ロボット状態情報DB621(図20参照)、シナリオ情報DB622(図20参照)が格納される。
補助記憶装置604は、例えば、磁気記憶装置(HDD)、フラッシュメモリ(SSD)などの大容量かつ不揮発性の記憶装置である。また、補助記憶装置604は、CPU602により実行されるプログラム及びプログラムの実行時に使用されるデータが格納される。すなわち、プログラムは、補助記憶装置604から読み出されて、メモリ601にロードされ、CPU602によって実行される。
ロボット60の計算機システムは、物理的に一つの計算機上で、又は、論理的又は物理的な複数の計算機上で構成される計算機システムであり、メモリ601に格納されたプログラムが、同一の計算機上で別個のスレッドで動作してもよく、複数の物理的計算機資源上に構築された仮想計算機上で動作してもよい。なお、プログラムの実行によって実現される処理の全部又は一部の処理をハードウェア(例えば、FPGA)によって実現してもよい。
さらに、上記プログラムは、ROM等に予め組み込まれて提供されたり、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、CD−R、DVD等のコンピュータで読み取り可能な記録媒体に記録して提供したり、配布してもよい。さらには、上記プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供したり、配布してもよい。
図18は、位置管理処理の例を示すフローチャートである。位置管理処理は、位置管理プログラム611がロボット107のCPUで実行されることにより行われる処理である。
位置管理プログラム611は、まずロボット状態情報DB621を参照し、拠点マップを取得する(ステップ6111)。次に、位置管理プログラム611は、取得した拠点マップと、距離測定用センサ620で取得した情報により、自己位置推定を行い、ロボット60がマップ上のどの位置にあるかを推定する(ステップ6112)。そして、推定した位置を当該ロボット60の位置情報として運用管理サーバ10に送信し(ステップ6113)、処理を終了する。
図19は、シナリオ制御処理の例を示すフローチャートである。シナリオ制御処理は、シナリオ制御プログラム612はロボット107のCPUで実行されることにより行われる処理である。
シナリオ制御プログラム612は、まず、サービス制御サーバ20から、ロボット60がサービスを提供するためのシナリオを実行するためのシナリオ開始メッセージを受信すると(ステップ6121)、当該シナリオ開始メッセージに含まれるシナリオ識別子をキーにしてシナリオ情報DB622を参照し(ステップ6122)、当該シナリオ識別子に対応するシナリオ動作(シナリオ動作1〜シナリオ動作N)を実行する(6123)。シナリオ動作の実行が終了すると、シナリオ制御プログラム612は、サービス制御サーバ20に上記シナリオ識別子を含むシナリオ終了メッセージを送信する(ステップ6124)。
図20は、ロボット60のメモリ601に記憶される各種のデータベースの構造を表す。ロボット状態情報DB621は、図9に示したロボット状態DB121と同様のデータベースであるため、ここではその説明を省略する。
シナリオ情報DB122は、ロボット60が提供するサービスのシナリオの情報を管理するデータベースである。図20に示すように、シナリオ情報DB122は、シナリオを一意に特定するシナリオ識別子、シナリオの動作を定義した情報(シナリオ1動作〜シナリオN動作)を含む。
図21は、外部機器70の構成の例を示す図である。外部機器70には、一般的なコンピュータの補助記憶装704にプログラム(ソフトウェア)が格納され、CPU702が、補助記憶装置704から読み出したプログラムをメモリ701上に展開して、実行する。外部機器70は、ネットワークI/F705を介して他のサーバや外部機器、ロボットと通信する。
I/O303は、ユーザが外部機器70に指示を入力し、プログラムの実行結果などをユーザに提示するためのユーザインタフェースである。I/O703には、入出力デバイス(例えば、キーボード、マウス、タッチパネル、ディスプレイ、プリンタなど)が接続される。I/O703は、ネットワークを経由して接続された管理端末によって提供されるユーザインタフェースが接続されてもよい。
CPU702は、メモリ701に格納されたプログラムを実行するプロセッサである。メモリ701は、不揮発性の記憶素子であるROM及び揮発性の記憶素子であるRAMを含む。ROMは、不変のプログラム(例えば、BIOS)などが格納される。RAMは、DRAMのような高速かつ揮発性の記憶素子であり、補助記憶装置702に格納されたプログラム及びプログラムの実行時に使用されるデータが一時的に格納される。
具体的に、メモリ701は、外部機器プログラム711が格納される。
外部機器プログラム711は、外部機器処理(図22参照)を実行するためのプログラムである。
また、メモリ701は、外部機器情報DB721(図23参照)が格納される。
補助記憶装置304は、例えば、磁気記憶装置(HDD)、フラッシュメモリ(SSD)などの大容量かつ不揮発性の記憶装置である。また、補助記憶装置304は、CPU302により実行されるプログラム及びプログラムの実行時に使用されるデータが格納される。すなわち、プログラムは、補助記憶装置304から読み出されて、メモリ301にロードされ、CPU302によって実行される。
外部機器制御サーバ30は、物理的に一つの計算機上で、又は、論理的又は物理的な複数の計算機上で構成される計算機システムであり、メモリ301に格納されたプログラムが、同一の計算機上で別個のスレッドで動作してもよく、複数の物理的計算機資源上に構築された仮想計算機上で動作してもよい。また、外部機器制御サーバ30と他の装置が一つの物理的又は論理的計算機に収容されてもよい。なお、プログラムの実行によって実現される処理の全部又は一部の処理をハードウェア(例えば、FPGA)によって実現してもよい。
さらに、上記プログラムは、ROM等に予め組み込まれて提供されたり、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、CD−R、DVD等のコンピュータで読み取り可能な記録媒体に記録して提供したり、配布してもよい。さらには、上記プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供したり、配布してもよい。
図22は、外部機器制御処理の例を示すフローチャートである。外部機器制御処理は、外部機器制御プログラム711が外部機器106のCPUで実行されることにより行われる処理である。
外部機器制御プログラム711は、まず、ステップ3113において外部機器制御サーバ30から転送された外部機器70の制御情報を取得すると(ステップ7111)、外部機器情報DB721を更新し(ステップ7112)、更新後の外部機器情報DB721の状態情報を、当該状態情報に対応する機器識別子とともに外部機器制御サーバ30に送信し(ステップ7113)、処理を終了する。
図23は、外部機器70のメモリ701に記憶される各種のデータベースの構造を表す。
外部機器情報DB721は、外部機器70の情報を管理するデータベースである。図23に示すように、外部機器情報DB721は、図9に示した外部機器情報DB123と同様の項目に加え、外部機器70の状態情報を記憶する。当該状態情報は、例えば、外部機器が利用可能な状態であるか否かを示す情報であり、例えば、当該外部機器がビジー状態であることを示す信号である。
図24は、ロボット60が外部機器70との連携を必要とするサービスを実行する際の処理の例を示すシーケンス図である。図24に示すように、サービス制御サーバ20は、サービス制御プログラム211を実行し、外部機器70との連携が必要なサービスを実行する場合、運用管理サーバ10に外部機器連携を要求するメッセージを送信する(ステップ2401、図11)。
運用管理サーバ10は、外部機器連携を要求するメッセージを受信すると、外部機器連携プログラム111を実行し(ステップ2402、図3)、距離算出プログラム112を実行し(ステップ2403、図4)、機器利用可否判定プログラム113を実行し(ステップ2404、図5)、機器利用時間算出プログラム114を実行する(ステップ2405、図6)。利用可能な外部機器70の情報をサービス制御サーバ20に送信する。サービス制御サーバ20は、運用管理サーバ10から送信された利用可能な外部機器70の情報を受信すると、サービスプログラム212を実行し(ステップ2406、図12)、ロボット60に実行するシナリオの内容を含む制御メッセージを送信する。
ロボット60は、サービス制御サーバ20から制御メッセージを受信すると、シナリオ制御プログラム612を実行し(ステップ2407、図19)、外部機器70を利用するタイミングで外部機器制御サーバ30に外部機器の制御メッセージを送信する。外部機器制御サーバ30は、ロボット60から外部機器70の制御メッセージを受信すると、外部機器制御プログラム311を実行し(ステップ2408、図16)、外部機器70の制御を開始し、外部機器70に制御メッセージを送信する。外部機器70は、外部機器制御サーバ30から制御メッセージを受信すると、外部機器プログラム711を実行し(ステップ2409、図22)、制御メッセージ内容の動作を実行する。
図25は、外部機器70を利用しているサービスの状況によって外部機器利用状況DB125を更新するための処理である。図25に示すように、ロボット60は、シナリオ制御プログラム612を実行し(ステップ2501、図19)、シナリオが終了すると、シナリオが終了したことを示すメッセージをサービス制御サーバ20に送信する。サービス制御サーバ20は、ロボット60からシナリオが終了したことを示すメッセージを受信すると、サービスステートを変更し(ステップ2502、図11)、変更したサービスステート情報を運用管理サーバ10に送信する。運用管理サーバ10は、サービス制御サーバ20からサービスステート情報を送信すると、機器利用時間更新プログラム116を実行し(ステップ2503、図8)、サービス毎の利用予定時間を算出し、外部機器利用状況DB125を更新する。
このように、本実施例によれば、ロボットが外部機器との連携が必要なサービスを人に対して提供する際に、外部機器との距離や外部機器の使用状況によって外部機器を選択することで、人に対してスムーズにサービスを提供することが可能となる。
なお、本発明を実施するための形態は、以上で説明した実施例に限定されるものではなく、様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成の一部を加えてもよい。
また、前述したプログラムによる処理などは、それらの一部又は全部を、例えば集積回路で設計するなどにより、ハードウェアで実現してもよく、ハードウェアによる処理とプログラムによる処理を組み合わせてもよい。プログラムやテーブルなどの情報は、メモリ、HDD、SSDなどの記憶装置、又は、ICカード、SDカード、DVDなどの記録媒体に格納することができる。また、制御線や情報線は説明上必要なものを示しており、示した以外の制御線や情報線があってもよい。
1000 外部機器管理システム
10 運用管理サーバ
20 サービス制御サーバ
30 機器制御サーバ
40 ネットワーク
50 構内LAN
60 ロボット
70 外部機器
80 運用管理センタ
90 サービス拠点

Claims (7)

  1. 自律移動可能な情報処理装置を制御するサーバ装置であって、
    前記情報処理装置の位置情報と、サービス提供拠点に設置され、前記情報処理装置が提供するサービスに必要な機器の位置情報とに基づいて、前記情報処理装置と前記機器との間の距離を算出する距離算出部と、
    前記情報処理装置が前記機器と連携して前記サービスを提供する際に、前記情報処理装置と前記機器との間の距離に基づいて、利用可能な前記機器を判定する利用可否判定部と、
    前記情報処理装置と前記機器との間の距離と、前記情報処理装置の移動速度とに基づいて、前記情報処理装置から前記機器までの移動時間を算出する利用時間算出部と、を備え
    前記利用可否判定部は、前記情報処理装置が提供するサービスとは別のサービスの利用予定時間と、前記移動時間とに基づいて、利用可能な前記機器を判定し、
    前記情報処理装置が提供するサービスの標準的な所要時間を記憶するサービス情報に基づいて、前記サービスの利用予定時間を算出し、前記機器ごとに記憶されている前記サービスの利用予定時間を更新する利用時間更新部を備え、
    前記利用時間更新部は、前記サービスの利用予定時間が、あらかじめ定められた前記情報処理装置の待機限度時間を越えているか否かを判定し、当該判定の結果に基づいて、前記情報処理装置を待機させ、さらに、
    前記利用時間更新部は、前記サービスの利用予定時間が、あらかじめ定められた前記情報処理装置の待機限度時間を越えていると判定した場合、当該サービスの代替機能を提供するとともに、提供される前記代替機能を実行して、前記代替機能を構成するステートの動作を示す代替ステート動作が実行される都度、実行を開始する代替ステート動作を、提供中サービスの現在の状態や進行度を示すサービスステートに書き込む、
    ことを特徴とするサーバ装置。
  2. 請求項に記載のサーバ装置であって、
    前記利用可否判定部が利用可能な前記機器がないと判定した場合において、開始予定のサービスの利用予定時間に対応付けて記憶されている前記サービスの優先度が、実行中のサービスの利用予定時間に対応付けて記憶されている前記サービスの優先度よりも高い場合、前記機器を利用可能と判定する優先度判定部、
    を備えることを特徴とするサーバ装置。
  3. 請求項に記載のサーバ装置であって、
    前記利用時間更新部は、前記サービスの現在の状態や進行度を示すサービスステートの情報を用いて、前記サービスの利用予定時間を更新する、
    ことを特徴とするサーバ装置。
  4. 自律移動可能な情報処理装置の位置情報と、サービス提供拠点に設置され、前記情報処理装置が提供するサービスに必要な機器の位置情報とに基づいて、前記情報処理装置と前記機器との間の距離を算出し、
    前記情報処理装置が前記機器と連携して前記サービスを提供する際に、前記情報処理装置と前記機器との間の距離に基づいて、利用可能な前記機器を判定し、
    前記情報処理装置と前記機器との間の距離と、前記情報処理装置の移動速度とに基づいて、前記情報処理装置から前記機器までの移動時間を算出し、
    前記利用可否判定において、前記情報処理装置が提供するサービスとは別のサービスの利用予定時間と、前記移動時間とに基づいて、利用可能な前記機器を判定し、
    前記情報処理装置が提供するサービスの標準的な所要時間を記憶するサービス情報に基づいて、前記サービスの利用予定時間を算出し、前記機器ごとに記憶されている前記サービスの利用予定時間を更新し、
    前記利用予定時間の更新において、前記サービスの利用予定時間が、あらかじめ定められた前記情報処理装置の待機限度時間を越えているか否かを判定し、当該判定の結果に基づいて、前記情報処理装置を待機させ、
    前記利用予定時間の更新において、前記サービスの利用予定時間が、あらかじめ定められた前記情報処理装置の待機限度時間を越えていると判定した場合、当該サービスの代替機能を提供するするとともに、提供される前記代替機能を実行して、前記代替機能を構成するステートの動作を示す代替ステート動作が実行される都度、実行を開始する代替ステート動作を、提供中サービスの現在の状態や進行度を示すサービスステートに書き込む、
    ことを特徴とする装置制御方法。
  5. 請求項に記載の装置制御方法であって、
    前記利用可否判定において利用可能な前記機器がないと判定した場合において、開始予定のサービスの利用予定時間に対応付けて記憶されている前記サービスの優先度が、実行中のサービスの利用予定時間に対応付けて記憶されている前記サービスの優先度よりも高い場合、前記機器を利用可能と判定する、
    ことを特徴とする装置制御方法。
  6. 請求項に記載の装置制御方法であって、
    前記利用予定時間の更新において、前記サービスの現在の状態や進行度を示すサービスステートの情報を用いて、前記サービスの利用予定時間を更新する、
    ことを特徴とする装置制御方法。
  7. コンピュータに、
    自律移動可能な情報処理装置の位置情報と、サービス提供拠点に設置され、前記情報処理装置が提供するサービスに必要な機器の位置情報とに基づいて、前記情報処理装置と前記機器との間の距離を算出する処理と、
    前記情報処理装置が前記機器と連携して前記サービスを提供する際に、前記情報処理装置と前記機器との間の距離に基づいて、利用可能な前記機器を判定する処理と、
    前記情報処理装置と前記機器との間の距離と、前記情報処理装置の移動速度とに基づいて、前記情報処理装置から前記機器までの移動時間を算出する処理と、
    前記利用可否判定において、前記情報処理装置が提供するサービスとは別のサービスの利用予定時間と、前記移動時間とに基づいて、利用可能な前記機器を判定する処理と、
    前記情報処理装置が提供するサービスの標準的な所要時間を記憶するサービス情報に基づいて、前記サービスの利用予定時間を算出し、前記機器ごとに記憶されている前記サービスの利用予定時間を更新する処理と、
    前記利用予定時間の更新において、前記サービスの利用予定時間が、あらかじめ定められた前記情報処理装置の待機限度時間を越えているか否かを判定し、当該判定の結果に基づいて、前記情報処理装置を待機させる処理と、
    前記利用予定時間の更新において、前記サービスの利用予定時間が、あらかじめ定められた前記情報処理装置の待機限度時間を越えていると判定した場合、当該サービスの代替機能を提供するするとともに、提供される前記代替機能を実行して、前記代替機能を構成するステートの動作を示す代替ステート動作が実行される都度、実行を開始する代替ステート動作を、提供中サービスの現在の状態や進行度を示すサービスステートに書き込む処理と、
    を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2017140606A 2017-07-20 2017-07-20 サーバ装置、装置制御方法、および記録媒体 Active JP6873854B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017140606A JP6873854B2 (ja) 2017-07-20 2017-07-20 サーバ装置、装置制御方法、および記録媒体
US15/928,967 US11003194B2 (en) 2017-07-20 2018-03-22 Server device, device control method, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017140606A JP6873854B2 (ja) 2017-07-20 2017-07-20 サーバ装置、装置制御方法、および記録媒体

Publications (2)

Publication Number Publication Date
JP2019021162A JP2019021162A (ja) 2019-02-07
JP6873854B2 true JP6873854B2 (ja) 2021-05-19

Family

ID=65018698

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017140606A Active JP6873854B2 (ja) 2017-07-20 2017-07-20 サーバ装置、装置制御方法、および記録媒体

Country Status (2)

Country Link
US (1) US11003194B2 (ja)
JP (1) JP6873854B2 (ja)

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030046304A1 (en) * 2001-09-05 2003-03-06 Peskin Christopher A. Event-based appointment scheduling adaptive to real-time information
JP2004046706A (ja) 2002-07-15 2004-02-12 Canon Inc 周辺機器管理装置、周辺機器管理方法および周辺機器管理方法を記憶した媒体
USRE46776E1 (en) * 2002-08-27 2018-04-03 Genesys Telecommunications Laboratories, Inc. Method and apparatus for optimizing response time to events in queue
WO2006109828A1 (ja) * 2005-04-12 2006-10-19 Pioneer Corporation 駐車支援装置、駐車支援方法、駐車支援プログラム、駐車場管理装置、駐車場管理方法、駐車場管理プログラム、および記録媒体
US7941133B2 (en) * 2007-02-14 2011-05-10 At&T Intellectual Property I, L.P. Methods, systems, and computer program products for schedule management based on locations of wireless devices
KR101127490B1 (ko) * 2009-12-22 2012-03-22 (주)이산솔루션 로봇과 디스플레이 장치의 상호 작용형 고객 서비스 시스템 및 고객 서비스 방법
US9082112B2 (en) * 2010-12-15 2015-07-14 Symbotic, LLC Autonomous transport vehicle charging system
US8639364B2 (en) * 2011-07-13 2014-01-28 KUKA Robotics Corporation Uniform synchronizing robot control and deadlock detection in uniform synchronization
JP2015032292A (ja) * 2013-08-07 2015-02-16 日本信号株式会社 移動支援システム
US10022867B2 (en) * 2014-11-11 2018-07-17 X Development Llc Dynamically maintaining a map of a fleet of robotic devices in an environment to facilitate robotic action
US10007890B1 (en) * 2015-06-26 2018-06-26 Amazon Technologies, Inc. Collaborative unmanned aerial vehicle inventory system
US9832630B2 (en) * 2015-11-23 2017-11-28 Intel IP Corporation Radio communication devices and methods for performing wireless peer-to-peer discovery
US20180189683A1 (en) * 2016-12-29 2018-07-05 NextEv USA, Inc. Autonomous ev charging priority network
US10454977B2 (en) * 2017-02-14 2019-10-22 At&T Intellectual Property I, L.P. Systems and methods for allocating and managing resources in an internet of things environment using location based focus of attention
US20180374020A1 (en) * 2017-06-26 2018-12-27 Hessam Ahani Techniques multi-factor location analysis of resources for managing services
JP7051556B2 (ja) * 2018-04-25 2022-04-11 株式会社日立製作所 サービス提供システム、情報処理装置、及びサービス提供システムの制御方法

Also Published As

Publication number Publication date
US11003194B2 (en) 2021-05-11
US20190025855A1 (en) 2019-01-24
JP2019021162A (ja) 2019-02-07

Similar Documents

Publication Publication Date Title
US11961017B2 (en) Roomfinder platform
JP4864557B2 (ja) ソフトウェアの更新処理プログラム及び更新処理装置
JP4955943B2 (ja) 情報端末および計算機資源管理方法
JP4532423B2 (ja) サーバシステム
JP2019530034A (ja) ロボットフリート派遣要求システム
JP2005275526A (ja) ストレージ領域割当て方法
US20210080975A1 (en) Scheduling and management of deliveries via a virtual agent
JP2012069056A (ja) クラウドサービス再配置システムと方法およびプログラム
US10889001B2 (en) Service provision system
JP6453997B2 (ja) ヘテロジニアスプロセッサシステムにおけるキャッシュ間のデータ移動
JP5910499B2 (ja) 拡張性評価装置、拡張性評価方法および拡張性評価プログラム
JP6873854B2 (ja) サーバ装置、装置制御方法、および記録媒体
JP6528374B2 (ja) コンピューティングシステムにおいてジョブをスケジューリングする方法、システムおよびプログラム
JP6859366B2 (ja) 制御装置、及び制御システム
US20190370710A1 (en) Contextual data processing and data distribution
JP4112511B2 (ja) タスク管理プログラムおよびタスク管理装置
JP2021033931A (ja) 制御装置、及び装置制御方法
JP6369286B2 (ja) プロセス間通信プログラム、解放要求方法、および並列演算装置
JP2021012697A (ja) ユーザの位置情報とイベント会場別のイベント情報を利用してユーザの関心事を分析する方法、システム、および非一時的なコンピュータ読み取り可能な記録媒体に記録されるコンピュータプログラム
JP5558632B2 (ja) システムコントローラ、設備システム及びプログラム
KR102456005B1 (ko) 페이지 캐시를 사용하는 컨테이너의 스케줄링을 위한 방법, 시스템, 및 컴퓨터 판독가능한 기록 매체
JP2019040325A (ja) 電源管理装置,ノード電源管理方法およびノード電源管理プログラム
KR101519020B1 (ko) 주행 중 내비게이션 데이터의 부분 업데이트 장치 및 방법
JP2018147257A (ja) 仮想基盤にもとづくシステムにおけるリソース割当方法、接続管理サーバおよび接続管理プログラム
JP2013114271A (ja) 計算機システムおよび計算機資源の管理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200818

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20201016

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201214

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210323

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210421

R150 Certificate of patent or registration of utility model

Ref document number: 6873854

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150