以下、情報処理装置及び端末等を用いた情報処理システムの実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
なお、実施の形態の説明において用いる用語は、一般的には次のように定義される。なお、これらの用語の語義は常にここに示されるように解釈されるべきではなく、例えば実施の形態の説明において個別に説明されている場合にはその説明も踏まえて解釈されるべきである。
作業者とは、情報処理システムを利用して、ユーザに対するサービスを提供する者(所定の業務を行う者)をいう。ユーザは、ここでは、専ら、情報処理システムを利用して行われる業務によりサービス等を受ける対象者(顧客)をいう。
ある事項について識別子とは、当該事項を一意に示す文字又は符号等である。識別子は、例えば、IDであるが、対応する事項を識別しうる情報であれば種類は問わない。すなわち、識別子は、それが示すものそのものの名前であってもよいし、一意に対応するように符号を組み合わせたものであってもよい。2以上の情報(例えば、データベースに記録されているレコードの属性値など)の組合せが識別子として用いられてもよい。
ユーザ情報とは、ユーザに関する情報をいう。ユーザ情報には、例えば、そのユーザを識別するユーザ識別子、ユーザの氏名、ユーザの住所に関する情報(住所の所番地であってもよいし、経緯などを示すような位置情報などであってもよい)など、当該ユーザに対応する種々の情報が含まれうる。ユーザ情報は、データベースにおいてレコードとして記録されていることがあり、その場合、ユーザ情報に含まれる各情報はレコードの属性値として含まれうる。これらのユーザ情報のうち、所定の情報(属性値)は、ユーザ詳細情報と呼ばれることがある。また、ユーザ情報には、そのユーザに対していずれかの作業者が行うべき作業を示す情報が含まれていてもよい。
地図情報とは、一の位置を示す地図に関する情報である。例えば、一の地点を含む地図画像であってもよいし、位置の地点を示す地図を表示するための所定のデータフォーマットの情報であってもよい。また、位置の地点を含む地図画像等を送信可能なサーバ装置に対して当該地図画像等を送信させるための情報(例えば、URLなど)であってもよい。
取得とは、ユーザ等により入力された事項を取得することを含んでいてもよいし、他の装置に記憶されている情報を取得することを含んでいてもよい。他の装置に記憶されている情報を取得するとは、他の装置に記憶されている情報をAPI経由などで取得することを含んでいてもよいし、他の装置により提供されている文書ファイルの内容(ウェブページの内容なども含む)についてスクレイピング等を行うことにより取得することを含んでいてもよい。また、画像ファイルについて光学式文字読み取りを行うことにより情報を取得することなど、元の情報に基づいてそれとは異なるフォーマットの情報を取得することを含んでいてもよい。
また、情報の取得には、いわゆる機械学習の手法を利用するようにしてもよい。機械学習の手法の利用については、例えば次のようにすることができる。すなわち、特定の種類の入力情報を入力とし、取得したい種類の出力情報を出力とする学習器を、機械学習の手法を用いて構成する。例えば、予め、入力情報と出力情報との組を2以上用意し、当該2組以上の情報を機械学習の学習器を構成するためのモジュールに与えて学習器を構成し、構成した学習器を格納部に蓄積する。なお、学習器は分類器ということもできる。なお、機械学習の手法としては、例えば、深層学習、ランダムフォレスト、SVR等、問わない。また、機械学習には、例えば、fastText、tinySVM、random forest、TensorFlow等の各種の機械学習フレームワークにおける関数や、種々の既存のライブラリを用いることができる。なお、学習器は分類器ということもできる。
情報を出力するとは、ディスプレイへの表示、プロジェクタを用いた投影、プリンタでの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。具体的には、例えば、情報のウェブページへの表示を可能とすることや、電子メール等として送信することや、印刷するための情報を出力することなどを含む。
情報の受け付けとは、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、他の装置等から有線もしくは無線の通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付けなどを含む概念である。
情報処理装置等に格納されている各種の情報について、更新とは、格納されている情報の変更のほか、格納されている情報に新たな情報が追加されることや、格納されている情報の一部又は全部が消去されることなどを含む概念である。
(実施の形態)
本実施の形態の概要は、次の通りである。すなわち、本実施の形態において、情報処理システム900は、それぞれユーザ情報が記録されている2以上のデータベースが分散して配置されているものである。情報処理システム900の情報処理装置100は、各データベースに格納されているユーザ情報から、条件を満たすユーザ情報を取得し、ユーザの属性値を用いて2以上にグループ化する。そして、情報処理装置100は、グループ化した各ユーザ情報を、対応する端末装置600に送信する。グループ化されたユーザ情報のリストは、例えば、作業者がユーザを訪問するために用いる訪問リストである。情報処理装置100は、例えば、各作業者が1日で回れるユーザのみのリストを作成し、対応する作業者の端末装置600に送信する。
なお、ユーザ情報は、取得元データベースを特定するデータベース識別子とユーザ詳細情報にアクセスするためのレコード識別子を有していてもよい。レコード識別子としてユーザ識別子やその他の属性値が用いられていてもよい。情報処理装置100は、ユーザ情報に対応する完了情報を端末装置600等から受信し、管理するようにしてもよい。また、ユーザ情報は位置情報を有し、情報処理装置100は、位置情報により特定される箇所を明示する地図を端末装置600に送信してもよい。グループ化されたユーザ情報のリストと作業者識別子とが対応づいて管理されており、作業者は、自分の作業者識別子に対応するリストのみ閲覧可能であってもよい。
また、端末装置600は、端末装置600に出力されたユーザ情報に基づいて、取得元データベースに記録されているユーザ詳細情報を受信して、出力するように構成されていてもよい。端末装置600は、作業者により完了情報が入力された場合に、当該入力に応じて、操作可能となるユーザ情報が変わるように構成されていてもよい。この場合において、完了情報が入力されたとき、リストの次のユーザ情報が操作可能となるように構成されていてもよい。
なお、本実施の形態において、端末装置600に出力された訪問リストに対して完了情報を入力でき、その入力に応じて、一のユーザについて表示される地図関連情報の表示が異なるように構成されている。端末装置600には、現在業務を行う対象者とされているカレントのユーザに応じた地図関連情報が表示されればよく、カレントのユーザが変更された場合には、変更されたカレントのユーザに応じて、地図関連情報の表示が異なるように構成されていてもよい。端末装置600には、ユーザについて、地図情報が表示されたり、ユーザの位置に対応する風景画像が表示されたりするように構成されていてもよく、これらの場合、カレントのユーザに応じた情報が表示されるようにすればよい。また、端末装置600には、他の作業者の位置を地図上に明示した表示を行うようにしてもよい。端末装置600は、所定の補助要求操作が入力された場合に、補助を行う他の作業者を決定するようにしてもよい。この場合、端末装置600が、他の作業者の端末装置600に対して行うべき業務を移管するための情報を送信する動作を行うように構成されていてもよい。
以下、このように構成された本実施の形態に係る情報処理システム900の構成について説明する。
図1は、本実施の形態に係る情報処理システム900のブロック図である。
図1に示されるように、本実施の形態において、情報処理システム900は、第1外部装置910、第2外部装置920、第3外部装置930、情報処理装置100、2以上の端末装置600などを備える。各装置は、例えばローカルエリアネットワークやインターネットなどのネットワークを介して互いに通信可能である。情報処理システム900の構成はこれに限られるものではない。情報処理システム900に含まれるそれぞれの装置の数は問わないし、他の装置が情報処理システム900に含まれていてもよい。
本実施の形態において、第1外部装置910と第2外部装置920とは、互いに異なる事業に用いられている装置である。第1外部装置910は、例えば、家庭用などの液化石油ガス(LPG)の供給事業(例えば、ユーザに対しては、ガスボンベの配送業務、検針業務、設備の保安業務等の業務が行われる。)に用いられる装置である。他方、第2外部装置920は、例えば、各戸への上水道の供給事業(例えば、ユーザに対しては、水道使用量の検針業務、料金の徴収等の出納業務等の業務が行われる。)に用いられる装置である。なお、これに限られず、例えば、ガスや水道の供給事業に付随して、機器の販売や維持等の事業にも用いられる装置であってもよい。なお、これらの事業は、一の組織体によって運営されるものであってもよいし、別会社など別々の組織体によって運営されるものであってもよい。
また、第3外部装置930は、例えば、一の位置を示す位置情報に基づいてその位置に関する他の情報を送信可能な、位置情報サーバである。位置情報は、その位置の経度及び緯度を示す情報や、所番地を示す情報など、種々の情報のいずれであってもよい。また、位置に関する他の情報としては、例えば、その位置を示す地図や、その位置の風景を示す情報などであるが、これに限られない。位置情報サーバは、一の位置の所番地に基づいて、その位置の経度、緯度等を示す情報を送信可能に構成されていてもよい。
なお、図1においては、例えばいわゆるスマートフォンなどの携帯情報端末装置や、タブレット型の情報端末装置、及びラップトップコンピュータなどのパーソナルコンピュータ(PC)などが端末装置600や他者端末装置700として示されているが、端末装置600や他者端末装置700として用いられるのはこれらのうちいずれであってもよいし、これら以外の装置であってもよい。作業者は、端末装置600や他者端末装置700を利用して、情報処理システム900を利用することができる。以下の例においては、端末装置600や他者端末装置700としていわゆるスマートフォンが用いられることを想定して説明されているが、これに限られるものではない。
なお、本実施の形態において、2以上の端末装置600は、例えば、同一のハードウェア構成を有しているものである。以下の説明において、2以上の端末装置600について、情報処理システム900を利用する複数の作業者のうち一の作業者が利用する装置を端末装置600と呼び、他の作業者が利用する装置を他者端末装置700と呼ぶことがある。端末装置600が備えている機能と他者端末装置700が備えている機能とに差があってもよいし、差がなくてもよい。以下の説明において、端末装置600及び他者端末装置700を特に区別して説明する必要がない場合には、これらをまとめて端末装置600と称する。
図2は、同情報処理システム900のブロック図である。図3は、同情報処理装置100のブロック図である。図4は、同端末装置600のブロック図である。
まず、第1外部装置910、第2外部装置920、及び第3外部装置930の構成について説明する。
図2に示されるように、第1外部装置910は、第1外部装置格納部911、第1外部装置処理部915、第1外部装置送信部916、及び第1外部装置受信部917を備える。第1外部装置910は、例えば一般的な構成を有するサーバ装置であるが、これに限られず、他の形態の電子計算機であってもよいし、複数の装置が互いに接続されて実現される装置であってもよい。第1外部装置910は、ネットワークに接続可能であり、ネットワークに接続されている他の装置との間での通信を行えるように構成されている。
第1外部装置格納部911は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。第1外部装置格納部911には、種々の情報やプログラム等が記憶されている。これらの情報等が記憶される過程は問わない。例えば、記録媒体を介して情報が第1外部装置格納部911で記憶されるようになってもよく、通信回線等を介して送信された情報が第1外部装置格納部911で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報が第1外部装置格納部911で記憶されるようになってもよい。
第1外部装置格納部911は、第1データベース格納部912及び第1業務情報格納部913を備える。
第1データベース格納部912には、第1データベースが格納される。第1データベースは、2以上のユーザ(顧客)についてのユーザ情報を含む。本実施の形態において、ユーザ情報には、少なくともユーザを識別するユーザ識別子とユーザに関する1以上の属性値(ユーザ属性値ということがある)とが含まれる。例えば、ユーザ情報には、ユーザ識別子と、ユーザに対していずれかの作業者が行うべき作業の内容を示す作業内容情報とが含まれる。ユーザ情報は、各ユーザについて、ユーザ識別子や作業内容情報の他に、他のユーザ属性値を含んでいてもよい。ユーザ属性値としては、例えば、ユーザ位置情報(ユーザの位置情報;例えば、ユーザ宅の住所や緯度経度情報等)、ユーザの連絡先、業務が行われることを希望する時間帯、ユーザに対する業務に関するメモ(訪問メモ)等、種々のものが含まれうる。なお、ユーザ識別子としてユーザ以外のものが用いられる場合には、他のユーザ属性値としてユーザの名前が含まれていることが好ましい。ユーザ識別子としてユーザの名前が用いられていてもよい。
なお、本実施の形態において、第1データベースには、各ユーザについてのユーザ詳細情報が含まれる。ユーザ詳細情報は、ユーザ識別子と、ユーザに関する1以上のユーザ属性値とが含まれる。ユーザ詳細情報に含まれるユーザ属性値は、ユーザ情報に含まれるユーザ属性値とは異なる属性のものである。例えば、ユーザ詳細情報に含まれるユーザ属性値は、ユーザの家族構成や、ユーザの契約情報、ユーザの利用情報(瓦斯や水道の使用量など)、ユーザの支払情報などであってもよい。なお、上述のようにユーザ情報にはユーザ詳細情報が含まれないと解してもよいが、ユーザ情報にユーザ詳細情報が含まれると解してもよい。
また、第1業務情報格納部913には、第1業務情報が格納される。第1業務情報は、作業者が行う2種以上の作業についての作業情報を含む。本実施の形態において、作業情報は、例えば、作業を特定する作業識別子と、その作業を行うのに必要となる標準的な時間(想定時間)とが互いに対応付けられた情報である。なお、作業情報には、他の属性値が含まれていてもよい。
第1外部装置処理部915は、通常、MPUやメモリ等から実現されうる。第1外部装置処理部915の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現してもよい。第1外部装置処理部915は、第1外部装置910において、例えば情報の取得などを行う。例えば、取得したSQL文などに基づいて、第1外部装置格納部911に格納されている種々のデータベースの操作を行う。
第1外部装置送信部916は、通常、無線又は有線の通信手段で実現されるが、放送手段で実現されてもよい。第1外部装置送信部916は、第1外部装置処理部915によって第1外部装置格納部911などから読み出された情報を、送信する。例えば、第1外部装置送信部916は、第1外部装置処理部915の動作に基づいて第1外部装置格納部911から読み出されたユーザ情報を、情報処理装置100や端末装置600等に、ネットワークを介して送信する。
第1外部装置受信部917は、通常、無線又は有線の通信手段で実現されるが、放送を受信する手段で実現されてもよい。第1外部装置受信部917は、情報処理装置100や、その他の装置から送信された情報を、ネットワークを介して受信する。第1外部装置受信部917は、受信した情報を、例えば第1外部装置格納部911に蓄積し、第1外部装置処理部915などが取得できるようにする。
第2外部装置920も、第1外部装置910と同様に構成されたサーバ装置である。すなわち、第2外部装置920は、第1外部装置格納部911と同様のハードウェア構成を有する第2外部装置格納部921を備える。また、第2外部装置920は、第2外部装置処理部925、第2外部装置送信部926、及び第2外部装置受信部927を備える。第2外部装置処理部925、第2外部装置送信部926、及び第2外部装置受信部927は、それぞれ第1外部装置処理部915、第1外部装置送信部916、及び第1外部装置受信部917と同様に構成されており、その詳細な説明を省略する。
第2外部装置格納部921は、第2データベース格納部922、第2業務情報格納部923を備える。第2データベース格納部922には、第2データベースが格納される。第2データベースは、2以上のユーザについてのユーザ情報及びユーザ詳細情報を含む。また、第2業務情報格納部923には、第2業務情報が格納される。第2業務情報は、第1業務情報と同様に、作業者が行う2種以上の作業についての作業情報を含む。
第3外部装置930も、ハードウェア構成としては、第1外部装置910と同様に構成されたサーバ装置である。すなわち、第3外部装置930は、第1外部装置格納部911と同様のハードウェア構成を有する第3外部装置格納部931を備える。そのほか、第3外部装置930は、第1外部装置910と同様に、処理部、送信部、及び受信部などの各部を有しているが、図示及び説明は省略する。
第3外部装置格納部931は、第3データベース格納部932を備える。第3データベース格納部932には、第3データベースが格納される。第3データベースは、例えば、位置情報データベースである。
なお、第1外部装置910、第2外部装置920、及び第3外部装置930は、情報処理システム900に含まれていないと解釈されてもよい。この場合、例えば、情報処理システム900の各装置は、第1外部装置910や第2外部装置920と同様の構成を有する2以上の他の外部装置とそれぞれネットワークを介して通信可能に構成されていればよい。すなわち、情報処理システム900は、分散して格納されている2以上のデータベースにアクセス可能に構成されていればよい。また、第3外部装置930に代えて、位置情報を受信してそれに対応する地図情報等を送信するAPIを備えるウェブサービスを利用するようにしてもよい。これらの第1外部装置910、第2外部装置920、及び第3外部装置930は、それぞれ、1つのサーバにより構成されていてもよいし、互いに連携して動作する複数のサーバにより構成されていてもよいし、その他の機器に内蔵された電子計算機等であってもよい。なお、サーバは、いわゆるクラウドサーバでも、ASPサーバ等でも良く、その種類は問わないことは言うまでもない。
第3外部装置930の機能が、情報処理システム900の他の装置により担われるように構成されていてもよい。例えば、情報処理装置100が、位置情報データベースを有しており、第3外部装置930の機能を担うように構成されていてもよい。
図3に示されるように、情報処理装置100は、格納部110、送信部130、受信部140、処理部160を備える。
情報処理装置100は、例えば、サーバである。情報処理装置100は、1つのサーバにより構成されていてもよいし、互いに連携して動作する複数のサーバにより構成されていてもよい。なお、情報処理装置100は、その他の機器に内蔵された電子計算機等であってもよい。なお、サーバは、いわゆるクラウドサーバでも、ASPサーバ等でも良く、その種類は問わないことは言うまでもない。
格納部110は、作業者情報格納部111、グループ化情報格納部112、作業者位置情報格納部113を備える。
格納部110は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。格納部110の各部には、例えば後述のように受信部140の各部や処理部160の各部によって取得された情報などがそれぞれ格納されるが、格納部110の各部に情報等が記憶される過程はこれに限られない。例えば、記録媒体を介して情報等が格納部110で記憶されるようになってもよく、通信回線等を介して送信された情報等が格納部110で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報等が格納部110で記憶されるようになってもよい。
作業者情報格納部111には、作業者情報が格納されている。作業者情報は、端末装置600を使用する各作業者に関する情報である。作業者情報は、端末装置600に対応する属性値であり、ユーザに対するサービスを提供する作業者の属性値である1以上の作業者識別子を含む情報である。すなわち、作業者情報格納部111には、2以上の作業者にそれぞれ対応する2以上の作業者情報が、2以上の各端末装置600に対応づけて格納されている。
本実施の形態において、例えば、作業者情報として、作業者の名前(作業者識別子といえるが、これに限られない)、作業者の作業可能時間帯、作業者が使用する端末装置600を識別する端末識別子(端末ID)、拠点位置情報(作業者が拠点とする位置を示す情報)などが含まれるが、これに限られない。2以上の作業者情報は、作業者データベース(作業者リスト)として作業者情報格納部111に格納されているが、これに限られない。作業者と当該作業者が使用する端末装置600とが常に対応している場合、作業者識別子として端末識別子が用いられてもよいし、端末識別子として作業者識別子が用いられてもよい。
グループ化情報格納部112には、後述のようにしてグループ化処理部162によりグループ化された2以上のグループ化情報が格納される。各グループ化情報は、1以上のユーザのそれぞれについて各作業者が遂行すべき作業をリスト化した作業リストである。作業リストであるグループ化情報は、1又は2以上の作業識別子(各作業を特定可能なもの)を通常有する。グループ化情報格納部112には、作業者を特定する作業者識別子に対応付けて、2以上のグループ化情報のそれぞれが格納される。
グループ化情報は、1以上のユーザについてのユーザ情報を含む。すなわち、グループ化情報は、1以上のユーザについてのユーザ識別子を少なくとも含んでいるといえる。グループ化情報に含まれるユーザ情報の属性は、第1外部装置910や第2外部装置920において格納されているユーザ情報の属性と同じであってもよいし、多くても少なくてもよい。本実施の形態については、各ユーザのユーザ情報として、ユーザ識別子の他に、次のような他のユーザ属性値が含まれているが、これに限られない。すなわち、ユーザ位置情報(ユーザの位置情報;例えば、ユーザ宅の住所や緯度経度情報等)、ユーザの連絡先、ユーザに対して行われる業務の内容、業務が行われることを希望する時間帯、ユーザに対する業務に関するメモ(訪問メモ)等、種々のものが含まれる。なお、グループ化情報に含まれるユーザ情報にはユーザ詳細情報が含まれないが、グループ化情報に含まれるユーザ情報にはユーザ詳細情報が含まれていてもよい。
本実施の形態において、グループ化情報は、例えば、端末装置600を所持する作業者が訪問すべき1以上のユーザのユーザ識別子を含む訪問リスト(作業リストの一例)である。グループ化情報に含まれるユーザ情報のユーザ属性値としては、例えば、業務の種別、業務の内容、顧客ID、ユーザの名前、住所及び郵便番号、ユーザ位置情報、訪問を希望する時間帯、訪問メモなどであるが、これ以外のユーザ属性値が含まれていてもよいし、これらのうちいくつかのユーザ属性値のみであってもよい。
本実施の形態において、訪問リストとしてのグループ化情報は、訪問順に対応する順序情報を有している。なお、グループ化情報は順序情報を有していなくてもよい。
また、本実施の形態において、ユーザ識別子には、ユーザ位置情報により特定される位置に対応する風景画像を取得するための風景画像識別子が対応付いている。風景画像識別子は、例えば外部装置に格納されている風景画像に対応するものである。
作業者位置情報格納部113は、例えば、作業者位置情報受信部143によって取得された、1以上の作業者の位置情報(作業者位置情報という)が格納されている。作業者位置情報は、例えば、経度緯度を示す情報であり、作業者の作業者識別子に対応づけて格納されているが、これに限られない。作業者位置情報を参照することにより、作業者の位置を作業者ごとに特定することができる。なお、作業者位置情報は、作業者の端末装置600に設けられている端末位置情報取得部691などにより取得され、情報処理装置100に送信された情報であるが、これに限られず、例えば、他の作業者による作業者位置情報の入力操作などに応じて取得された情報などであったり、他の作業者が直近に作業を完了したユーザのユーザ位置情報などに基づいて取得された情報であったりしてもよい。
送信部130は、グループ化情報送信部131、地図情報送信部132、他者情報送信部133を備える。
また、受信部140は、完了情報受信部141、送信要求受信部142、作業者位置情報受信部143を備える。
送信部130は、通常、無線又は有線の通信手段で実現されるが、放送手段で実現されてもよい。また、受信部140は、通常、無線又は有線の通信手段で実現されるが、放送を受信する手段で実現されてもよい。送信部130及び受信部140が設けられていることにより、情報処理装置100がネットワークに接続され、ネットワークに接続されている他の装置との間での通信を行える。
グループ化情報送信部131は、グループ化処理部162によりグループ化された2以上のグループ化情報のそれぞれを、そのグループ化情報に対応する端末装置600に送信する。すなわち、グループ化情報格納部112に蓄積された2以上のグループ化情報のそれぞれを、各グループ化情報に対応する作業者識別子に基づいて特定される端末装置600に送信する。
ここで、本実施の形態において、グループ化情報送信部131は、グループ化情報取得部163が取得したグループ化情報を、端末装置600に送信する。例えばグループ化情報取得部163が送信要求受信部142により受信された送信要求に基づいてグループ化情報を取得した場合、当該グループ化情報に対応する端末装置600、すなわち送信要求を行った作業者の端末装置600に対して、グループ化情報を送信する。
地図情報送信部132は、後述のようにして地図情報取得部164により地図情報が取得された場合に、その地図情報を、端末装置600に送信する機能を有している。地図情報は、グループ化情報に含まれるユーザ情報のユーザ位置情報に基づいて取得されるところ、取得された地図情報は、そのユーザ情報に対応付けて、端末装置600に送信される。なお、地図情報を端末装置600に送信するタイミングは、地図情報取得部164により地図情報が取得されたタイミングであってもよいし、例えば端末装置600から送信された地図情報の送信要求を受信したことに応じて行われるようにしてもよい。
他者情報送信部133は、後述のように他者情報取得部167により取得された他者情報を、端末装置600に送信する。他者情報の送信は、例えば、定期的に行われるようにしてもよいし、例えば端末装置600から送信された他者情報の送信要求を受信したことに応じて行われるようにしてもよい。
完了情報受信部141は、ユーザ識別子に対応する完了情報が端末装置600から送信された場合に、その完了情報を受信する。完了情報が受信されると、後述のように完了情報蓄積部165による処理が行われる。
送信要求受信部142は、グループ化情報の送信要求を端末装置600から受信する。グループ化情報の送信要求は、作業者識別子を有するものである。送信要求受信部142が送信要求を受信すると、上述の通り、それに基づいて取得されたグループ化情報がグループ化情報送信部131により端末装置600に送信される。
作業者位置情報受信部143は、端末装置600から作業者位置情報が送信された場合に、その作業者位置情報を受信する。
処理部160は、ユーザ情報取得部161、グループ化処理部162、グループ化情報取得部163、地図情報取得部164、完了情報蓄積部165、作業者位置情報蓄積部166、他者情報取得部167を備える。
処理部160は、通常、MPUやメモリ等から実現されうる。処理部160の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現してもよい。処理部160は、各種の処理を行う。各種の処理とは、例えば、上記のような処理部160の各部が、以下のように行う処理である。
処理部160は、本実施の形態において、第1外部装置910及び第2外部装置920のそれぞれから、第1業務情報及び第2業務情報を取得する。なお、これらの業務情報が格納部110や他の装置などに格納されており、処理部160が、格納部110や他の装置から業務情報を取得するようにしてもよい。取得された情報は、グループ化処理部162により用いられるが、これに限られない。
また、処理部160は、端末装置600から送信されたユーザ詳細情報要求が受信部140により受信された場合に、ユーザ詳細情報要求に含まれるデータベース識別子及びレコード識別子に基づいて、第1外部装置910又は第2外部装置920から、ユーザ詳細情報を取得する。取得されたユーザ詳細情報は、送信部130により、ユーザ詳細情報要求を送信した端末装置600に送信される。
ユーザ情報取得部161は、第1データベースと第2データベースとのいずれかに含まれる、2以上のユーザ情報を取得する。すなわち、ユーザ情報取得部161は、分散して格納されている2以上のデータベースであって、少なくとも1以上の外部装置に格納されているデータベースを含む2以上のデータベースのいずれかに含まれる2以上のユーザ情報を取得する。なお、第1データベースと第2データベースとのいずれか一方は、外部の装置ではなく、情報処理装置100の内部に設けられていてもよい。
なお、本実施の形態において、ユーザ情報取得部161により取得されたユーザ情報は、取得元データベース(ユーザ情報取得部161による取得元のデータベースをいう)を特定するデータベース識別子と、取得元データベースに含まれるユーザ情報に対応するレコードを特定するレコード識別子とを有する。すなわち、ユーザ情報取得部161により取得されたユーザ情報は、当該ユーザ情報の取得元データベースにおけるレコードを特定可能な情報を有している。なお、データベース識別子は、取得元データベースが管理されている外部装置を特定する装置識別子であってもよい。
グループ化処理部162は、ユーザ情報取得部161により取得された2以上のユーザ情報を、各ユーザ情報が有するユーザ属性値を用いて2以上にグループ化し、2以上のグループ化情報を取得する。すなわち、2以上のグループ化情報のそれぞれは、1以上のユーザ情報のユーザ識別子を有するものである。グループ化は、2以上の作業者情報毎に行われる。すなわち、2以上の作業者情報のそれぞれに対応付けてグループ化情報が生成される。
本実施の形態において、グループ化とは、各作業者の作業者属性値と各ユーザ情報のユーザ属性値とに基づいて、各ユーザ情報をいずれかの作業者にマッチングさせることである、ということができる。すなわち、グループ化処理部162は、各作業者情報が有する1以上の作業者属性値について予め決められた条件を満たすユーザ属性値を有する2以上の各ユーザ情報に含まれるユーザ識別子を有するグループ化情報を取得する。
ここで、予め決められた条件とは、各作業者情報が有する1以上の作業者属性値についてのものである。例えば、作業者の現在位置又は作業者毎に定められた所定の位置とユーザ位置情報により示される位置との距離について、所定の閾値以内であることや、他の作業者について算出される距離よりも小さいこと、などとすることができる。また、例えば、作業者属性値とユーザ属性値とについて、両者が一致すること、部分的に一致すること、一方が他方に含まれること、などとすることができる。2以上の観点の条件を満たす場合にグループ化できるようにしてもよい。
より具体的には、例えば、作業者の作業可能な時間帯がユーザが作業を希望する時間帯を含んでいたり、両者が部分的に重複していたりする場合に当該作業者の作業者情報に対応付けて生成するグループ化情報に当該ユーザのユーザ情報を含めるようにしてもよい。また、例えば、作業者が対象とするエリアが作業者属性値として含まれている場合において、そのエリアにユーザの住所がある場合に、当該作業者の作業者情報に対応付けて生成するグループ化情報に当該ユーザのユーザ情報を含めるようにしてもよい。
なお、本実施の形態において、グループ化処理部162は、所定の期間において遂行可能な作業に対応する各ユーザ情報を1つのグループにグループ化する。これは、例えば、次のようにして行うことができる。
すなわち、グループ化処理部162は、処理部160が取得した第1業務情報及び第2業務情報に基づいて、ユーザ情報のグループ化を行う。すなわち、各ユーザ情報の属性値として含まれる作業の内容に基づいて、その作業を行うのに必要となる標準的な時間(想定時間)を特定する。そして、想定時間に基づいて、作業者の作業可能な時間帯内に完了可能な数のユーザ情報が1単位(例えば、1営業日において完了可能な分量)のグループ化情報にグループ化される。なお、グループ化処理部162は、各作業者のグループ化情報を、1単位のみ取得してもよいし、2単位以上取得するようにしてもよい。また、想定時間に加えて、1単位のグループ化情報を完了させるために必要となる移動にかかる移動コスト(時間であってもよいし、費用であってもよい)を併せてグループ化される他のユーザ位置情報に基づいて算出し、移動コストを加味してグループ化が行われるようにしてもよい。また、併せてグループ化される他のユーザ情報との関係で移動コストが最小となる(又は移動コストが所定値を超えない)か否かを条件に加えて、グループ化が行われるようにしてもよい。このように、グループ化処理部162は、例えば、当該作業者が作業可能である時間に関する情報、当該作業者の能力に関する情報、各作業を行う場所に移動するためにかかる時間を示す情報、各作業にかかる時間を示す情報などに基づいて、所定の期間において遂行可能な作業を特定することができるが、これに限られるものではない。
本実施の形態において、グループ化情報のユーザの訪問順を示す訪問情報は、グループ化処理部162により決定される。グループ化情報に含まれる複数の訪問順は、例えば、巡回サービスマン問題の解法として知られるものなど、公知である種々のアルゴリズムを用いて決定されればよい。このとき、各ユーザについて作業を行うのに要する想定時間を考慮して訪問順が決定されるが、これに限られない。
グループ化情報取得部163は、送信要求受信部142により受信された送信要求が有する作業者識別子と対になるグループ化情報を取得する。取得されたグループ化情報は、グループ化情報送信部131により端末装置600に送信される。
地図情報取得部164は、ユーザ位置情報により特定される箇所を示す地図を表示するための地図情報を、ユーザ情報に対応付けて取得する。本実施の形態において、地図情報は、第3外部装置930に問合せを行うことにより取得される。例えば、ユーザの住所がユーザ位置情報として得られている場合に、地図情報取得部164は、その住所の周辺の地図を示す画像を第3外部装置930から取得する。なお、地図情報として、地図情報を第3外部装置930などから送信させるためのURLを取得するようにしてもよい。
完了情報蓄積部165は、完了情報受信部141が一のユーザ識別子に対応する完了情報を受信した場合に、当該ユーザ識別子を含む一のユーザ情報に完了情報を対応付けてグループ化情報格納部112に蓄積する。これにより、グループ化情報格納部112に格納されているグループ化情報のうち、完了情報に対応するユーザ情報が更新される。
作業者位置情報蓄積部166は、作業者位置情報受信部143が一の作業者識別子に対応する作業者位置情報を受信した場合に、当該作業者識別子に対応づけて、作業者位置情報を作業者位置情報格納部113に蓄積する。
他者情報取得部167は、他者情報送信部133により端末装置600に送信するために、他者情報を取得する。取得された他者情報が、他者情報送信部133によって、端末装置600に送信される。他者情報は、2以上の作業者に関する情報を含むものであり、この場合、各作業者の作業者識別子を含む。本実施の形態において、他者情報は、作業者位置情報格納部113に格納されている各作業者の作業者位置情報を含む。すなわち、他者情報は、各作業者の位置に関する情報を含むものである。なお、他者情報は、これに限られず、例えばグループ化情報格納部112に格納されている各作業者のグループ化情報に関する情報を含んでいてもよい。例えば、他者情報取得部167は、作業者毎に、グループ化情報のうち作業が完了していないユーザの数や、作業者が今後対応する予定であるユーザの住所等や、作業者がたどる予定のルート情報などを、グループ化情報に基づいて取得し、他者情報を構成してもよい。
なお、他者情報取得部167及び他者情報送信部133は、定期的に他者情報を端末装置600に送信するように構成されていてもよいし、端末装置600から送信された補助要求情報を受信した場合に他者情報を当該端末装置600に送信するように構成されていてもよい。
次に、端末装置600の構成について説明する。本実施の形態において、端末装置700の構成は端末装置600の構成と同一であるため、その説明を省略するが、両者の構成が異なっていてもよい。
図4に示されるように、端末装置600は、端末格納部610、端末受付部620、端末送信部630、端末受信部640、端末出力部650、端末処理部660、端末位置情報取得部691を備える。
端末装置600は、例えば一般的なスマートフォンであり、タッチパネルを備えたディスプレイデバイスを有しているが、これに限られるものではない。端末装置600は、ネットワークに接続可能であり、ネットワークに接続されている他の装置との間での通信を行えるように構成されている。
端末格納部610は、リスト格納部611、カレント情報格納部613を備える。
端末格納部610は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。端末格納部610には、種々の情報やプログラム等が記憶されている。これらの情報等が記憶される過程は問わない。例えば、記録媒体を介して情報が端末格納部610で記憶されるようになってもよく、通信回線等を介して送信された情報が端末格納部610で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報が端末格納部610で記憶されるようになってもよい。
リスト格納部611には、情報処理装置100から送信されたグループ化情報が格納される。本実施の形態において、グループ化情報は、作業者が訪問すべきユーザとそのユーザに対して行うべき作業内容との情報が含まれるユーザリストである。すなわち、リスト格納部611には、その端末装置600を使用する作業者が行うべきタスクリストが格納されているともいうことができる。本実施の形態において、訪問リストは訪問順が特定されているものであるが、これに限られない。
本実施の形態において、リスト格納部611に格納されるユーザリストは、ユーザの位置を特定するユーザ位置情報に対応付いた2以上のユーザ識別子を含んでいる。すなわち、ユーザリストに基づいて、訪問すべき各ユーザの位置を特定することができる。
カレント情報格納部613には、リスト格納部611に格納されているグループ化情報に含まれるユーザ情報のうち、現在作業を行う対象になっているユーザのユーザ情報を特定するカレント情報が格納される。カレント情報は、ユーザ選択部661により選択されているカレントのユーザ識別子を特定するものであるといえる。後述するように地図関連情報出力部652が出力する地図関連情報は、カレントのユーザ識別子に対応するものである。そのため、カレント情報は、地図関連情報に対応するものであるといえる。
端末位置情報取得部691は、端末装置600の位置を示す端末位置情報を取得する。端末位置情報取得部691は、例えば、衛星利用測位システム(GPS)を利用して端末位置情報を取得するものであるが、これに限られない。例えば、周囲の無線通信機器から得られる情報に基づいて端末位置情報を取得可能に構成可能であってもよい。また、端末装置600を使用する使用者により入力された情報を端末位置情報として取得可能であってもよい。取得された端末位置情報は、例えば、一時的に又は恒久的に端末格納部610に蓄積されてもよい。
端末受付部620は、補助要求情報受付部621を備える。
端末受付部620は、端末装置600を使用する作業者による、端末装置600に対する種々の入力操作を受け付ける。操作は、例えば、端末出力部650が図示しないディスプレイデバイスに出力した表示画面に対して行われるが、これに限られない。例えば、マイクにより入力された音声による入力操作を受け付けるようにしてもよいし、端末装置600に接続した読み取り装置(例えば、コードリーダなど)を用いて行われた入力操作(例えば、装置により読み取られた情報も含む)を受け付ける。
補助要求情報受付部621は、作業者により入力された補助要求情報を受け付ける。補助要求とは、例えば、自身の作業の遂行に関して他者の補助が必要であるなどと判断した作業者が、他者に対して補助を求めるために行うものである。補助要求情報は、例えば、補助要求を作業者が求めたことを示す情報であり、例えば、作業者が補助要求の内容を入力可能である場合にその入力された情報を含んでいてもよい。また、補助要求情報は、単に補助要求を行うための所定の操作入力(所定のボタンの操作であってもよいし、所定のジェスチャ動作などであってもよい)が行われた場合に、その旨を示すものであってもよい。
端末送信部630は、端末位置情報送信部631、移管情報送信部632、ユーザ詳細情報要求送信部633を備える。また、端末受信部640は、グループ化情報受信部641、ユーザ詳細情報受信部642、他者情報受信部643を備える。
端末送信部630及び端末受信部640は、通常、無線又は有線の通信手段で実現されるが、放送手段で実現されてもよい。端末送信部630及び端末受信部640が設けられていることにより、情報処理装置100がネットワークに接続され、ネットワークに接続されている他の装置との間での通信を行える。端末送信部630は、例えば端末処理部660等により取得した情報をネットワークを介して送信する。端末受信部640は、情報処理装置100や、その他の装置から送信された情報を、ネットワークを介して受信する。端末受信部640は、受信した情報を、例えば端末格納部610に蓄積し、端末処理部660などが取得できるようにする。
本実施の形態において、端末送信部630は、補助要求情報受付部621により受け付けられた補助要求情報を情報処理装置100に送信する。
端末位置情報送信部631は、端末位置情報取得部691により取得された位置情報を情報処理装置100に送信する。
移管情報送信部632は、補助作業者が決定した場合に、その補助作業者が使用する端末装置600に対応する端末識別子(作業者識別子であってもよい)を用いて、当該端末装置600に移管情報を送信する。
ユーザ詳細情報要求送信部633は、後述のようにユーザ選択部661により選択されたユーザ識別子で識別されるユーザのユーザ詳細情報を要求するユーザ詳細情報要求を送信する。
グループ化情報受信部641は、情報処理装置100から送信されたグループ化情報を受信する。
ユーザ詳細情報受信部642は、ユーザ詳細情報要求送信部633による、選択されたユーザ識別子に対応するユーザ詳細情報要求の送信に応じて情報処理装置100から送信された、当該ユーザ識別子に対応するユーザ詳細情報を受信する。
他者情報受信部643は、当該端末装置600を使用する作業者とは異なる他の作業者の位置を示す作業者位置情報を含む他者情報を、情報処理装置100から受信する。他者情報は、他の作業者の端末装置600を特定する端末識別子を有する。
端末出力部650は、ユーザ詳細情報出力部651、地図関連情報出力部652、補助作業者情報出力部653を備える。
端末出力部650は、例えばディスプレイデバイスに表示することなどにより、情報の出力を行う。なお、情報の出力方法はこれに限られず、音声等をスピーカーなどから出力することなどにより行われるようにしてもよい。端末出力部650は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えてもよい。端末出力部650は、出力デバイスのドライバーソフトにより、又は出力デバイスのドライバーソフトと出力デバイスとの組み合わせにより、で実現されうる。
ユーザ詳細情報出力部651は、ユーザ詳細情報受信部642が受信したユーザ詳細情報を出力する。これにより、作業者は、ユーザ詳細情報の内容について知ることができる。
地図関連情報出力部652は、地図関連情報を出力する。本実施の形態において、地図関連情報出力部652は、カレント情報に対応する地図関連情報を出力する。より具体的には、地図関連情報出力部652は、カレントのユーザ識別子に対応するユーザ位置情報により特定される位置を地図上において視覚的に示すユーザ位置表示情報を地図関連情報として出力する。ユーザ位置表示情報は、例えば、地図上において、ユーザ位置情報により特定される位置をピンや矢印の図柄により示すものであるが、これに限られない。
また、本実施の形態において、地図関連情報出力部652は、風景画像取得部668により取得された風景画像を出力可能である。風景画像は、地図上の所定の位置において予め撮影された画像であるが、これに限られない。例えば、その地点の周囲の建物等の位置や大きさや形状などを表す予め用意されたデータに基づいて仮想的に構成された画像であってもよい。
なお、本実施の形態において、地図関連情報出力部652は、他者情報受信部643により受信された他者情報に含まれる作業者位置情報により特定される位置を地図上において視覚的に示す他者位置表示情報を出力するようにしてもよい。他者位置表示情報は、例えば、他者位置情報により特定される位置をピンや矢印などの図柄により示すものであるが、これに限られない。
補助作業者情報出力部653は、後述のようにして補助作業者決定部669が決定した補助作業者に関する補助作業者情報を出力する。
端末処理部660は、ユーザ選択部661、ユーザ詳細情報取得部663、完了情報取得部664、順序情報取得部665、出力内容変更部666、地図関連情報取得部667、風景画像取得部668、補助作業者決定部669、補助作業者情報取得部670、移管情報取得部671を備える。
端末処理部660は、通常、MPUやメモリ等から実現されうる。端末処理部660の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現してもよい。
ユーザ選択部661は、グループ化情報に含まれる一のユーザ識別子を選択する(すなわち、ユーザリストに含まれる一のユーザを選択する)。ユーザ選択部661は、例えば、作業者による一のユーザを選択する操作が端末受付部620により受け付けられた場合に、それに応じてユーザ識別子の選択を行うが、これに限られるものではない。ユーザ選択部661は、選択しているユーザ識別子をカレントのユーザ識別子として、カレント情報格納部613に選択しているユーザ識別子の情報を蓄積する。
本実施の形態において、ユーザ選択部661は、完了情報取得部664により取得された完了情報に基づいて、グループ化情報に含まれるユーザ識別子のうち選択可能とするユーザ識別子を制限する(すなわち、ユーザリストのうち選択可能なユーザを制限する)。例えば、ユーザ選択部661は、完了情報が取得されたユーザを除く、未完了ユーザのみを選択可能とする。
また、ユーザ選択部661は、完了情報取得部664によりカレントのユーザ識別子に対応する作業が完了したことを示す完了情報が取得された場合に、ユーザリストに含まれる別のユーザ識別子をカレントのユーザ識別子として選択する。そして、ユーザ選択部661は、ユーザ識別子を特定するカレント情報をカレント情報格納部613に蓄積する。この場合において、ユーザ選択部661は、順序情報を用いて、ユーザ識別子の選択を行うようにしてもよい。すなわち、順序情報に基づいて、カレントのユーザ識別子の次の順序となるユーザ識別子を新たにカレントのユーザ識別子として選択すればよい。
ユーザ詳細情報取得部663は、ユーザ詳細情報受信部642により受信されたユーザ詳細情報を取得し、端末格納部610に蓄積する。
完了情報取得部664は、一のユーザ識別子に対応する作業が完了したことを示す完了情報を取得する。完了情報は、ユーザ識別子に対応付けられた情報である。完了情報は、作業者により入力されてもよいし、作業が完了した場合に自動的に取得されるようにしてもよい。例えば、作業が行われることに伴って作業に関する情報(例えば、検針情報や、収納情報など)を取得した情報処理装置100又は外部装置により送信された、ユーザ識別子に対応付けた所定の情報が端末受信部640により受信されたとき、完了情報取得部664が完了情報を取得するように構成されていてもよい。
順序情報取得部665は、グループ化情報に含まれる2以上のユーザ識別子に関する順序を規定する順序情報を取得する。
順序情報は、予め情報処理装置100などにより定められたものであってもよいし、情報処理装置100から送信されたユーザ識別子を端末装置600で受信した順番に基づいて規定されるものであってもよいし、端末装置600において受け付けられた作業者による操作に応じて規定されるものであってもよいし、端末装置600においてランダムに規定された順序であってもよい。
出力内容変更部666は、完了情報取得部664により完了情報が取得された後に、地図関連情報出力部652が出力する地図関連情報の出力内容を変更する。例えば、完了情報が取得されたユーザ識別子に対応する位置を地図上で視覚的に示す図柄の、形状、色彩、大きさなどの1つ以上が、完了情報が取得されていないユーザ識別子に対応するものとは異なるように、地図関連情報の出力内容を変更すればよい。
地図関連情報取得部667は、リスト格納部611に格納されているユーザリストに含まれるユーザ識別子に対応付いたユーザ位置情報を用いて取得された地図に関する地図関連情報を取得する。地図関連情報としては、例えば、上述のような、ユーザ位置情報や他者位置情報などを示す図柄や、風景画像などであるが、これに限られない。例えば、地図に含まれる所定の箇所についての情報などであってもよい。
風景画像取得部668は、カレント情報に対応する風景画像識別子を用いて、風景画像を取得する。風景画像取得部668は、風景画像識別子を指定することで、例えば外部装置から、風景画像識別子に対応する風景画像を取得可能である。
補助作業者決定部669は、補助要求情報の受け付けに応じて、ユーザ位置情報と他の作業者の作業者位置情報とを用いて、端末装置600を使用する作業者の補助を行う補助作業者を決定する。補助作業者は、種々の方法で決定することができる。例えば、作業が未完了のユーザのユーザ位置情報に対応する位置に近い位置にいる作業者を優先的に補助作業者として決定したり、端末装置600を使用する作業者に近い他の作業者のうち、次の順序のユーザに近い作業者を優先的に補助作業者として決定してもよい。補助作業者は、補助作業者として設定されることを許容する旨の情報を送信した(受諾した)他の端末装置600を使用する作業者のうちから決定されるようにしてもよい。
なお、補助作業者決定部669により補助作業者が決定されると、情報処理装置100を介して、又は直接に補助作業者が使用する端末装置600に対して、補助作業者に決定した旨の通知が行われる。
補助作業者情報取得部670は、決定した補助作業者に関する情報を取得する。かかる情報は、例えば、補助作業者が使用する端末装置600から送信されてもよいし、情報処理装置100に格納されている他者情報から取得されるようにしてもよい。
移管情報取得部671は、ユーザリストに含まれるユーザ識別子のうち補助作業者に作業を移管するユーザ識別子を特定する移管情報を構成し、取得する。移管情報取得部671が取得した移管情報は、移管情報送信部632により、補助作業者の端末装置600に送信される。
図5は、同情報処理装置100が行うグループ化情報の生成について説明する図である。
図5に示されるように、情報処理装置100は、互いに異なる場所にある第1外部装置910及び第2外部装置920から取得された情報を用いて、グループ化処理を行う。すなわち、ユーザ情報取得部161は、第1外部装置910から、第1データベースに含まれるユーザ情報と、第1業務情報とを取得する。また、ユーザ情報取得部161は、第2外部装置920から、第2データベースに含まれるユーザ情報と、第2業務情報とを取得する。
そして、グループ化処理部162は、例えば作業者データベースに含まれている作業者情報を取得し、取得された情報に基づいて、グループ化処理を行う。なお、このとき、第3外部装置930の位置情報データベースである第3データベースに含まれる情報を用いて、ユーザ位置情報の特定等を行うようにしてもよい。
グループ化処理が完了すると、グループ化されたそれぞれのグループ化情報が、それぞれの端末装置600に送信される。これにより、各端末装置600の作業者が、その作業者が使用するためにグループ化されたグループ化情報を用いることができる。
なお、端末装置600から、グループ化情報に含まれる1のユーザが選択され、ユーザ詳細情報要求が送信された場合には、情報処理装置100の処理部160は、当該ユーザ詳細情報要求に対応するレコードからユーザ詳細情報を取得するための情報を、第1外部装置910又は第2外部装置920に送信する。具体的には、処理部160は、第1データベースと第2データベースとのうち、ユーザ詳細情報要求に含まれているデータベース識別子により特定されるデータベースに対して、ユーザ詳細情報要求に含まれているレコード識別子を用いて生成したSQLクエリなどによって問い合わせを行う。
ここで、第1外部装置910及び第2外部装置920に分散して配置された第1データベースと第2データベースとは、「X-Road」と呼ばれるシステム間連携基盤(https://e-estonia.com/solutions/interoperability-services/x-road/)などを用いて相互連携されていることが望ましい。これにより、2以上の分散配置されたデータベースの配置状態やシステム構成について考慮することなく、容易に情報処理装置100が各データベースから情報を取得することができる。また、情報処理装置100を通じて、第1データベースと第2データベースとのそれぞれからユーザ情報やユーザ詳細情報を取得する際のアクセス証跡は、いわゆるブロックチェーン技術やその他のハッシュ化された情報を用いたタイムスタンプ技術などを用いた分散型台帳技術によって記録されることが好ましい。
図6は、同情報処理装置100の動作の一例を示す第1のフローチャートである。
情報処理装置100は、例えば以下のような流れで、グループ化情報を生成し、端末装置600に送信する。
(ステップS101)ユーザ情報取得部161は、2以上のデータベースのそれぞれからユーザ情報を取得する。本実施の形態では、第1外部装置910及び第2外部装置920から、第1データベースに含まれるユーザ情報と第2データベースに含まれるユーザ情報とを取得する。
(ステップS102)グループ化処理部162は、業務情報を取得する。本実施の形態では、第1外部装置910から第1業務情報を取得し、第2外部装置920から第2業務情報を取得する。
(ステップS103)グループ化処理部162は、作業者情報格納部111から作業者情報を取得する。
(ステップS104)グループ化処理部162は、取得したユーザ情報、業務情報、作業者情報などに基づいて、各ユーザ情報にある作業の想定時間を算出する。
(ステップS105)グループ化処理部162は、グループ化情報を仮生成する。このとき、順序情報も仮に決定することが好ましい。二度目以降にステップS105の処理を実行する場合には、それ以前に仮生成した内容とは異なる内容でグループ化情報や順序情報を仮生成すればよい。また、グループ化処理部162は、移動コストを算出する。移動コストは、例えば、ユーザ位置情報と順序情報となどにより算出できる。
(ステップS106)グループ化処理部162は、仮生成したグループ化情報が、予め決められた条件を満たしているか否かを判断する。条件を満たしている場合はステップS107に進む。他方、満たしていない場合にはステップS105に戻り、異なる内容でグループ化情報を再生成する。
(ステップS107)グループ化処理部162は、仮生成した通りにグループ化を行う。グループ化により生成されたグループ化情報は、グループ化情報格納部112に蓄積される。なお、このとき、地図情報取得部164が、各ユーザ情報に基づいて、地図情報や地図関連情報を取得し、グループ化情報に対応付けてグループ化情報格納部112に蓄積するようにしてもよい。
(ステップS108)グループ化情報送信部131は、グループ化情報格納部112に格納されたグループ化情報を、それに対応する作業者識別子に基づいて、対応する端末装置600に送信する。なお、グループ化情報送信部131は、グループ化情報の送信要求であり、端末装置600から送信された作業者識別子を有する送信要求が情報処理装置100で受信されたときに、作業者識別子に対応するグループ化情報を当該端末装置600に送信するようにしてもよい。
なお、これらの処理は、所定のタイミング(例えば、毎日の所定の時刻など)が到来する度に開始されるようにしてもよいし、システム管理者等による実行指示が行われた場合に開始されるようにしてもよい。
また、グループ化情報の決定にあたっては、例えば、複数通りの方法でグループ化情報や順序情報を生成しておいて、それぞれの移動コスト等を比較した結果に基づいて決定するようにしてもよい。
図7は、同情報処理装置100の動作の一例を示す第2のフローチャートである。
情報処理装置100は、例えば以下のような流れで、端末装置600から送信された情報に基づいて動作を行う。図7に示される処理は、例えば情報処理装置100の電源がオンである状態において繰り返し実行されるが、これに限られない。
(ステップS121)完了情報蓄積部165は、完了情報受信部141により、端末装置600から送信された完了情報が受信されたか否かを判断する。完了情報が受信されたと判断した場合には、ステップS122に進む。そうでない場合には、ステップS123に進む。
(ステップS122)完了情報蓄積部165は、受信された完了情報に対応するユーザ識別子を含む一のユーザ情報に完了情報を対応付けてグループ化情報格納部112に蓄積する。
(ステップS123)作業者位置情報蓄積部166は、作業者位置情報受信部143が一の作業者識別子に対応する作業者位置情報を受信したか否かを判断する。作業者位置情報が受信されたと判断した場合には、ステップS124に進む。そうでない場合には、ステップS125に進む。
(ステップS124)作業者位置情報蓄積部166は、作業者位置情報を作業者識別子に対応づけて作業者位置情報格納部113に蓄積する。
(ステップS125)処理部160は、受信部140により、端末装置600から送信されたユーザ詳細情報要求が受信されたか否かを判断する。ユーザ詳細情報要求が受信されたと判断した場合には、ステップS126に進む。そうでない場合には、ステップS128に進む。
(ステップS126)処理部160は、ユーザ詳細情報要求に対応するレコードからユーザ詳細情報を取得するための問い合わせ文を、ユーザ詳細情報要求に含まれているレコード識別子を用いて作成し、ユーザ詳細情報要求に含まれているデータベース識別子により特定されるデータベースに対して送信する。
(ステップS127)処理部160は、第1外部装置910又は第2外部装置920から、ユーザ詳細情報を取得する。また、送信部130は、取得したユーザ詳細情報をユーザ詳細情報要求を送信した端末装置600に送信する。
(ステップS128)他者情報取得部167は、受信部140により、端末装置600から送信された補助要求情報が受信されたか否かを判断する。補助要求情報が受信されたと判断した場合には、ステップS129に進む。そうでない場合には、一連の処理を終了する。
(ステップS129)他者情報取得部167は、補助要求情報の送信元の端末装置600とは異なる他者端末装置700に関する、他者情報を構成し、取得する。なお、他者情報には、各他者端末装置700を使用する作業者が補助要求情報を受諾したか否かに関する情報が含まれるようにしてもよい。このような情報は、例えば、補助要求情報を受信した情報処理装置100が他者端末装置700に対して受諾をするか否かを問い合わせるための情報を送信し、それに対応する情報を各他者端末装置700から受信することにより、取得されるようにしてもよい。また、作業者位置情報格納部113に格納されている作業者位置情報や、各作業者のタスクの進捗情報などに基づいて、所定の条件が満たされた場合や、定期的に、取得されるようにしてもよい。
(ステップS130)他者情報送信部133は、後述のように他者情報取得部167により取得された他者情報を、端末装置600に送信する。他者情報の送信は、例えば、定期的に行われるようにしてもよいし、例えば端末装置600から送信された他者情報の送信要求を受信したことに応じて行われるようにしてもよい。
(ステップS131)受信部140は、端末装置600から送信された移管情報を受信する。
(ステップS132)処理部160は、移管情報に基づいて、グループ化情報格納部112に格納されているグループ化情報を更新する。例えば、移管情報に含まれるユーザ情報について、移管元の端末装置600に対応するグループ化情報から、移管先の他者端末装置700に対応するグループ化情報に移す。なお、移管先の他者端末装置700から更新後のグループ化情報を情報処理装置100に送信することで、情報処理装置100において格納されているグループ化情報を更新するようにしてもよい。
図8は、同端末装置600の動作の一例を示すフローチャートである。
端末装置600は、作業者が作業を行う際に、例えば以下のような動作を行う。
(ステップS201)情報処理装置100から端末装置600にグループ化情報が送信されると、グループ化情報受信部641がグループ化情報を受信し、リスト格納部611に蓄積する。端末出力部650は、リスト格納部611に格納されたユーザリストを、例えばディスプレイデバイスに出力する。これにより、作業者は、自己のユーザリストを視認可能になる。
(ステップS202)ユーザ選択部661は、グループ化情報に含まれる一のユーザ識別子を選択する。そうすると、ユーザ選択部661は、ユーザ識別子を特定するカレント情報をカレント情報格納部613に蓄積する。なお、ユーザ選択部661は、例えば、作業者による操作に応じてユーザ識別子を選択してもよいし、例えば順序情報に基づいて自動的にユーザ識別子を選択してもよい。
(ステップS203)ユーザ詳細情報要求送信部633は、ユーザ選択部661により選択されたユーザ識別子で識別されるユーザについてのユーザ詳細情報要求を情報処理装置100に送信する。これにより、情報処理装置100からユーザ詳細情報が送信される。
(ステップS204)ユーザ詳細情報受信部642は、情報処理装置100から送信されたユーザ詳細情報を受信する。ユーザ詳細情報出力部651は、ユーザ詳細情報受信部642が受信したユーザ詳細情報を出力する。これにより、作業者は、ユーザ詳細情報の内容について知り、必要に応じて作業に役立てることができる。
(ステップS205)端末処理部660は、位置情報の送信タイミングが到来したか否かを判断する。位置情報の送信タイムが到来したと判断された場合にはステップS206に進み、そうではない場合にはステップS207に進む。
(ステップS206)端末位置情報取得部691は、端末装置600の位置情報を取得する。端末位置情報送信部631は、端末位置情報取得部691により取得された位置情報を、端末識別子に対応付けて情報処理装置100に送信する。その後、ステップS207に進む。
(ステップS207)完了情報取得部664は、完了情報を取得したか否かを判断する。完了情報を取得したと判断された場合にはステップS208に進み、そうではない場合にはステップS209に進む。
(ステップS208)完了情報取得部664は、一のユーザ識別子に対応する作業が完了したことを示す完了情報を取得すると、リスト格納部611に格納されているグループ化情報を更新する。また、端末送信部は、完了情報を、ユーザ識別子に対応付けて情報処理装置100に送信する。
そして、ユーザ選択部661は、ユーザリストに含まれる別のユーザ識別子をカレントのユーザ識別子として選択し、そのユーザ識別子を特定するカレント情報をカレント情報格納部613に蓄積する。例えば、ユーザ選択部661は、カレントのユーザ識別子の次の順序となるユーザ識別子を新たにカレントのユーザ識別子として選択するが、これに限られない。その後、ステップS203に戻る。
(ステップS209)端末処理部660は、補助要求情報受付部621で補助要求情報の入力が受け付けられたか否かを判断する。補助要求情報の入力が受け付けられたと判断された場合にはステップS210に進み、そうではない場合にはステップS211に進む。
(ステップS210)補助要求情報の入力が受け付けられると、端末処理部660は、補助作業者移管処理を行う。この処理の詳細については、後述する。その後、ステップS211に進む。
(ステップS211)端末処理部660は、他の作業者によりなされた補助要求があった場合において、その補助要求に応じるか否かを判断する。例えば、端末出力部650により、補助要求に応じるか否かについて作業者に入力させる画面を、ディスプレイデバイスに出力する。それに応じて端末受付部620により受け付けられた作業者の操作入力に応じて、端末処理部660は判断を行う。補助要求に応じると判断したときにはステップS212に進む。そうでない場合には、ステップS213に進む。
(ステップS212)補助要求に応じると判断し、端末装置600を用いる作業者が補助作業者に決定すると、端末受信部640が、他者端末装置700から送信された移管情報を受信する。そうすると、端末処理部660は、移管情報に含まれるユーザ情報(すなわち、移管されたユーザ情報)をリスト格納部611に格納されているグループ化情報に追加する。すなわち、グループ化情報を更新する。これにより、端末装置600を用いる作業者が、移管されたユーザ情報に関する作業を自己のタスクとして行うことができる。なお、この場合において、端末送信部630は更新後のグループ化情報を情報処理装置100に送信したり、移管情報を情報処理装置100に送信したりすることで、情報処理装置100において格納されているグループ化情報を更新するようにしてもよい。
図9は、同端末装置600の補助作業者移管処理の一例を示すフローチャートである。
(ステップS221)他者情報受信部643は、他者情報を受信する。端末装置600を使用する作業者とは異なる他の作業者に関する他者情報を、情報処理装置100から受信する。
(ステップS222)補助作業者決定部669は、ユーザ位置情報と他の作業者の作業者位置情報とを用いて、補助作業者を決定する。
(ステップS223)補助作業者情報取得部670は、決定した補助作業者に関する情報を取得する。補助作業者情報出力部653は、取得された補助作業者情報をディスプレイデバイスに出力する。例えば、補助作業者に決定した作業者の位置や名前、連絡先などの補助作業者情報が出力されるようにすればよい。
(ステップS224)移管情報取得部671は、補助作業者に作業を移管するユーザに関する情報を含む移管情報を構成する。
(ステップS225)移管情報送信部632は、移管情報取得部671により取得された移管情報を、補助作業者が使用する他者端末装置700に送信する。なお、本実施の形態において、移管情報送信部632は、移管情報を情報処理装置100にも送信する。これにより、上述の通り、情報処理装置100において格納されているグループ化情報も更新させることができる。
なお、補助作業者の決定は、補助要求情報の送信元の端末装置600ではなく、補助要求情報が送信された情報処理装置100の処理部160により行われるようにしてもよい。この場合、補助要求情報の送信に対応して行われる端末装置600への他者情報の送信は、行われなくてもよい。例えば決定された補助作業者を特定する作業者識別子又は端末識別子を含む情報が情報処理装置100から補助要求情報の送信元の端末装置600に送信されることで、端末装置600が移管情報を補助作業者の他者端末装置700に対して送信することができる。
本実施の形態において、グループ化処理は、例えば次の第1の変形例や第2の変形例ようにして行われてもよい。
図10は、同情報処理装置100のグループ化処理の第1の変形例を示すフローチャートである。
図10において示されている処理は、上述の図6においてステップS104からステップS107に示されている処理に代替しうるものである。
(ステップS911)グループ化処理部162は、取得したユーザ情報、業務情報、作業者情報などに基づいて、各ユーザ情報にある作業の想定時間を算出する。
(ステップS912)グループ化処理部162は、カウンタNに1をセットする。
(ステップS913)グループ化処理部162は、取得したユーザ情報を希望時間帯に関する属性値が早い順(例えば、時間帯の始期が早い順であってもよいし、終期が早い順であってもよいし、中間の時刻が早い順であってもよい)にソートし、N番目のユーザ情報(ユーザ)を現在のグループ化対象として選択する。
(ステップS914)グループ化処理部162は、選択中のユーザのユーザ位置情報と、作業者情報とに基づいて、選択中のユーザに近い作業者を選択する。
(ステップS915)グループ化処理部162は、選択中の作業者が、選択中のユーザに関する作業を、そのユーザの希望時間帯に行うことができるか否かを判断する。この判断は、ユーザの希望時間帯に関する属性値と作業者の作業時間帯に関する属性値とに基づいて、行うことができる。より具体的には、例えば、作業時間帯と希望時間帯とに重なりがある場合に作業可能であると判断してもよいし、作業時間帯が希望時間帯のうち所定の割合以上の期間が作業時間帯に含まれる場合に作業可能であると判断してもよいし、その他のルール等に基づいて判断してもよい。選択中のユーザに関する作業を行うことができると判断した場合にはステップS917に進み、そうでない場合はステップS916に進む。
(ステップS916)グループ化処理部162は、選択中のユーザのユーザ位置情報と、作業者情報とに基づいて、選択中の作業者の次に、選択中のユーザに近い作業者を選択する。その後、ステップS915に戻る。なお、図示していないが、次に近い作業者が居ない場合には、選択中のユーザについてはグループ化を行わず(例えば、グループ化できなかったことを示す未グループ化フラグをユーザ情報に関連付けて記録してもよい)、ステップS918に進めばよい。
(ステップS917)グループ化処理部162は、選択中の作業者に対応するグループ化情報に、選択中のN番目のユーザ情報を追加する。なお、本実施の形態において、選択中の作業者に関して、次にステップS914等で使用する位置情報を、一時的に、追加したユーザのユーザ位置情報に置き換えてもよい(更新してもよい)。これにより、訪問リストにおいてユーザ間を移動するのに必要な時間を短くすることができる。
(ステップS918)グループ化処理部162は、カウンタNの値が、取得したユーザ情報の全数に一致するか否かを判断する。一致する場合にはステップS920に進み、そうでない場合にはステップS919に進む。
(ステップS919)グループ化処理部162は、カウンタNの値に1を加算する。ステップS913に戻る。
(ステップS920)グループ化処理部162は、以上のグループ化処理を完了し、以上の処理によりそれぞれユーザ情報が追加されたグループ化情報を、グループ化情報格納部112に蓄積する。なお、各グループ化情報に対応する順序情報は、ユーザ情報の追加順とすればよいが、これに限られない。
図11は、同情報処理装置100のグループ化処理の第2の変形例を示すフローチャートである。
図11において示されている処理は、上述の図6においてステップS104からステップS107に示されている処理に代替しうるものである。
(ステップS931)グループ化処理部162は、取得したユーザ情報、業務情報、作業者情報などに基づいて、各ユーザ情報にある作業の想定時間を算出する。
(ステップS932)グループ化処理部162は、カウンタNに1をセットする。
(ステップS933)グループ化処理部162は、N番目の作業者を選択する。
(ステップS934)グループ化処理部162は、ユーザ情報に基づいて、選択中の作業者の作業エリア内(例えば、作業者情報の属性値として予め含まれていてもよいし、作業者位置情報に基づいて作業者位置情報を含む所定の範囲を設定するようにしてもよい)にある、未グループ化ユーザ(例えば、未グループ化フラグが付与されているか否かで特定可能であればよい)を抽出する。そして、グループ化処理部162は、抽出したユーザ情報を希望時間帯に関する属性値が早い順にソートし、一人目のユーザ情報(ユーザ)を現在のグループ化対象として選択する。
(ステップS935)グループ化処理部162は、上述の第1の変形例と同様に、選択中の作業者が、選択中のユーザに関する作業を、そのユーザの希望時間帯に行うことができるか否かを判断する。選択中のユーザに関する作業を行うことができると判断した場合にはステップS936に進み、そうでない場合はステップS937に進む。
(ステップS936)グループ化処理部162は、選択中の作業者に対応するグループ化情報に、選択中のユーザ情報を追加する。
(ステップS937)グループ化処理部162は、選択中のユーザ情報に、未グループ化フラグを対応付けて記録する。
(ステップS938)グループ化処理部162は、抽出したユーザの全員について、ステップS935の処理を行ったか否か(確認済みであるか)を判断する。全ユーザについて確認済みである場合にはステップS940に進み、そうでない場合にはステップS939に進む。
(ステップS939)グループ化処理部162は、次の抽出したユーザを選択する。ステップS935に戻る。
(ステップS940)グループ化処理部162は、カウンタNの値が、取得したユーザ情報の全数に一致するか否かを判断する。一致する場合にはステップS942に進み、そうでない場合にはステップS941に進む。
(ステップS941)グループ化処理部162は、カウンタNの値に1を加算する。ステップS933に戻る。
(ステップS942)グループ化処理部162は、以上のグループ化処理を完了し、以上の処理によりそれぞれユーザ情報が追加されたグループ化情報を、グループ化情報格納部112に蓄積する。なお、各グループ化情報に対応する順序情報は、ユーザ情報の追加順とすればよいが、これに限られない。
以下に、グループ化処理の具体例について説明する。
図12は、同情報処理装置100が行うグループ化情報の生成について説明する図である。
上述のように、本実施の形態において、第1外部装置910は、例えば、LPGの供給事業を営む瓦斯会社の装置である。第1データベースは、例えば、瓦斯会社が用いるタスクリストである。また、第2外部装置920は、例えば、上水道の供給事業を営む水道会社の装置である。第2データベースは、例えば、水道会社が用いるタスクリストである。それぞれのタスクリストは、各会社のユーザについて、各会社が行うべき作業が記録されているものである。
図13は、同情報処理装置100が行うグループ化情報の生成に用いられる第1データベースの一具体例を説明する図である。
図13に示されるように、瓦斯会社のタスクリストには、業務の種別、ユーザ毎の顧客ID、名前、郵便番号、住所、希望時間帯、訪問メモの各属性について、ユーザ情報それぞれに属性値が記録されている。ここでは、業務の種別として、配送、検針、保安のいずれかが属性値として設定可能となっている。なお、タスクリストにおいて、顧客IDの属性値をユーザ識別子として扱ってもよいし、名前や住所など、他の属性の属性値やその組み合わせをユーザ識別子として扱ってもよい。
図14は、同情報処理装置100が行うグループ化情報の生成に用いられる第2データベースの一具体例を説明する図である。
図14に示されるように、水道会社のタスクリストにも、業務の種別、ユーザ毎の顧客ID、名前、郵便番号、住所、希望時間帯、訪問メモの各属性について、ユーザ情報それぞれに属性値が記録されている。ここでは、業務の種別として、配送、収納のいずれかが属性値として設定可能となっている。
なお、これらのタスクリストにおいて、希望時間帯の属性値が設定されていない場合には、いずれの時間帯でも作業可能であると解釈してもよいし、そうではないと解釈してもよい。また、タスクリストは作業が行われる日や期間を特定して日毎に設けられていてもよいし、各ユーザ情報に、属性値として、作業が行われる日や期間を特定する情報が含まれていてもよい。
図12に戻って、第1外部装置910には、瓦斯業務情報が格納されており、第2外部装置920には、水道業務情報が格納されている。また、情報処理装置100には、作業者情報が格納されている。なお、上述のように、第3外部装置930の第3データベースは、位置情報データベースである。
図15は、同情報処理装置100が行うグループ化情報の生成に用いられる瓦斯業務情報の一例を説明する図である。図16は、同情報処理装置100が行うグループ化情報の生成に用いられる水道業務情報の一例を説明する図である。
図15に示されるように、本実施の形態において、瓦斯業務情報においては、業務の種別と想定される作業時間との各属性について属性値が記録されている。また、図16に示されるように、水道業務情報においては、業務の種別と想定される作業時間との各属性について属性値が記録されている。換言すると、各業務情報は、各業務とその業務を行うのにかかる作業時間とが対応付けられている情報である。なお、一の業務について、難易度等に応じた複数種類の作業時間が対応付けられていたり、業務の遂行に必要な用品や費用等が対応付けられたりしていてもよい。
図17は、同情報処理装置100が行うグループ化情報の生成に用いられる作業者データベースの一具体例を説明する図である。
図17に示されるように、本実施の形態において、作業者データベースには、複数の作業者情報が含まれている。作業者データベースには、例えば、氏名、作業可能時間帯、使用する端末装置600の端末識別子(端末ID)の各属性について、作業者情報それぞれに属性値が記録されている。本実施の形態において、端末識別子は作業者毎に割り振られており、作業者識別子としても用いられるが、これに限られない。
図12に戻って、情報処理装置100は、瓦斯会社のタスクリストに含まれるユーザ情報及び瓦斯業務情報と、水道会社のタスクリストに含まれるユーザ情報及び水道業務情報と、作業者情報とを取得して、上述のようにグループ化処理を行う。これにより、作業者毎に、グループ化情報として、訪問リストが生成される(第1作業者用の訪問リスト、第2作業者用の訪問リスト、第3作業者用の訪問リスト、など)。生成された訪問リストは、それぞれの作業者に対応付けられている端末装置600に送信される。これにより、各端末装置600の作業者が、その作業者用の訪問リストを用いることができる。
図18は、同情報処理装置100により生成されるグループ化情報の一例を説明する図である。
図18においては、一例として、9時から21時まで作業を行うことが可能である「多能太郎」用に生成された訪問リストが示されている。なお、図18において、住所と緯度経度とは説明のためものであり、実在のものとは関係がない。
本実施の形態において、グループ化情報である訪問リストは、複数のユーザ情報を有している。グループ化情報には、訪問先番号、作業に関係する会社名、業務の種別、顧客ID、名前、郵便番号、住所、経度緯度、希望時間帯、訪問メモの各属性について、ユーザ情報それぞれに属性値が記録されている。業務の種別、顧客ID、名前、郵便番号、住所、希望時間帯、訪問メモのそれぞれの属性値は、第1データベース又は第2データベースから取得されたユーザ情報の属性値に対応するものである。
作業に関係する会社名としては、例えば、瓦斯会社を意味する「瓦斯」、水道会社を意味する「水道」などの属性値が記録されている。すなわち、作業に関係する会社名の属性値は、取得元のデータベースを特定するデータベース識別子として扱うことができる。換言すると、各ユーザ情報は、取得元のデータベースを特定するデータベース識別子に対応付けられている。なお、端末装置600に送信されるグループ化情報において、データベース識別子やレコード識別子に関する情報は必ずしも含まれていなくてもよい。情報処理装置100において、端末装置600に送信されるグループ化情報のユーザ情報の属性値を用いて、データベース識別子及びレコード識別子を特定可能に構成されていればよい。
住所や緯度経度の属性値は、ユーザ位置情報として扱うことができる。緯度経度の属性値としては、例えば、情報処理装置100の処理部160が、第3外部装置930から取得した情報が用いられる。例えば、第1データベースや第2データベースに含まれるユーザ位置情報である住所の情報に基づいて、第3外部装置930から緯度経度を取得可能である。
なお、グループ化情報において、例えば、訪問先番号をユーザ識別子として扱ってもよいし、レコード識別子として用いられる顧客IDとデータベース識別子との組み合わせをユーザ識別子として扱ってもよいし、名前や住所など、他の属性の属性値やその組み合わせをユーザ識別子として扱ってもよい。上述の例に限られず、グループ化の際に生成された符号等がユーザ識別子として各ユーザ情報に対応付けて記録されていてもよい。グループ化情報において、各ユーザ識別子を作業識別子として取り扱うこともできる。
各作業者は、このようなグループ化情報に基づいて、作業を行うべきユーザの情報を、端末装置600を通じて確認することができる。したがって、分散して格納されている2以上のデータベースのいずれかに含まれるユーザ情報を容易に確認することができる。
以上説明したように、本実施の形態によれば、情報処理装置100は、分散して格納されている2以上のデータベースのいずれかに含まれるユーザ情報をその属性値に基づいてグループ化して、グループ化情報に対応する作業者の端末装置600に送信することができる。したがって、分散して格納されている2以上のデータベースのいずれかに含まれるユーザ情報を容易に統合的に利用することができる。作業者属性値について予め決められた条件を満たすユーザ情報をグループ化して利用することができるので、作業者毎に、条件を満たす、使用しやすいユーザリストを生成することができる。また、作業者の作業効率も向上する。地図を表示するための地図情報を端末装置600で利用することができるので、作業者がより容易に作業を行うべき場所にたどり着くことができる。
グループ化情報に含まれるユーザ情報には、データベース識別子とレコード識別子とが対応付けられている。したがって、情報処理装置100において、グループ化情報に含まれるユーザ情報に基づいて、第1データベース又は第2データベースに含まれる、対応するユーザ情報を特定することができる。従って、グループ化情報に基づいて、取得元のデータベースにおいて含まれるユーザ詳細情報をさらに取得することが可能となり、2以上のデータベースのいずれかに含まれるユーザ情報をさらに容易に活用することができる。
情報処理装置100や端末装置600においては、グループ化情報に含まれるユーザ情報毎に完了情報を対応付けて管理することができる。したがって、作業者は、作業の進捗状態を容易に把握したり、進捗状態に基づいて種々の行動をとったりすることができ、情報処理システム900の利便性がさらに高くなる。また、作業が完了した状態に応じて選択可能なユーザ識別子が制限される。そのため、不必要にユーザ詳細情報が確認されることを防止することができる。
なお、本実施の形態における処理は、ソフトウェアで実現してもよい。そして、このソフトウェアをソフトウェアダウンロード等により配布してもよい。また、このソフトウェアをCD-ROMなどの記録媒体に記録して流布してもよい。
なお、本実施の形態における、情報処理システム900の情報処理装置100を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、情報処理装置100のコンピュータに、分散して格納されている2以上のデータベースであって、少なくとも1以上の外部装置に格納されているデータベースを含む2以上のデータベースのいずれかに含まれる2以上のユーザ情報であり、ユーザを識別するユーザ識別子とユーザに関する1以上の属性値を含む2以上のユーザ情報を取得するユーザ情報取得ステップと、ユーザ情報取得ステップにより取得された2以上のユーザ情報を、各ユーザ情報が有する属性値を用いて2以上にグループ化し、各ユーザ情報が有するユーザ識別子を有する2以上のグループ化情報を取得するグループ化処理ステップと、グループ化処理ステップによりグループ化された2以上のグループ化情報のそれぞれを、そのグループ化情報に対応する端末装置600に送信するグループ化情報送信ステップとを実行させる、プログラムである。
また、本実施の形態における、情報処理システム900の端末装置600を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、端末装置600のコンピュータに、情報処理装置100から送信された、2以上のユーザ識別子を含むグループ化情報を受信するグループ化情報受信ステップと、前記グループ化情報に含まれる一のユーザ識別子を選択するユーザ選択ステップと、前記ユーザ情報選択ステップにより選択されたユーザ識別子で識別されるユーザのユーザ詳細情報を要求するユーザ詳細情報要求を送信するユーザ詳細情報要求送信ステップと、前記ユーザ詳細情報要求の送信に応じて、前記ユーザ識別子に対応するユーザ詳細情報を受信する詳細情報受信ステップと、詳細情報受信ステップが受信したユーザ詳細情報を出力する情報出力ステップとを実行させる、プログラムである。
(その他)
図19は、上記実施の形態におけるコンピュータシステム800の概観図である。図20は、同コンピュータシステム800のブロック図である。
これらの図においては、本明細書で述べたプログラムを実行して、上述した実施の形態の情報処理装置等を実現するコンピュータの構成が示されている。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現されうる。
コンピュータシステム800は、CD-ROMドライブを含むコンピュータ801と、キーボード802と、マウス803と、モニタ804とを含む。
コンピュータ801は、CD-ROMドライブ8012に加えて、MPU8013と、CD-ROMドライブ8012等に接続されたバス8014と、ブートアッププログラム等のプログラムを記憶するためのROM8015と、MPU8013に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのRAM8016と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク8017とを含む。ここでは、図示しないが、コンピュータ801は、さらに、LANへの接続を提供するネットワークカードを含んでもよい。
コンピュータシステム800に、上述した実施の形態の情報処理装置等の機能を実行させるプログラムは、CD-ROM8101に記憶されて、CD-ROMドライブ8012に挿入され、さらにハードディスク8017に転送されてもよい。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ801に送信され、ハードディスク8017に記憶されてもよい。プログラムは実行の際にRAM8016にロードされる。プログラムは、CD-ROM8101又はネットワークから直接、ロードされてもよい。
プログラムは、コンピュータ801に、上述した実施の形態の情報処理装置等の機能を実行させるオペレーティングシステム(OS)、又はサードパーティープログラム等を、必ずしも含まなくてもよい。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいればよい。コンピュータシステム800がどのように動作するかは周知であり、詳細な説明は省略する。
なお、上記プログラムにおいて、情報を送信する送信ステップや、情報を受信する受信ステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。
また、上記実施の形態において、各構成要素間で行われる情報の受け渡しは、例えば、その情報の受け渡しを行う2個の構成要素が物理的に異なるものである場合には、一方の構成要素による情報の出力と、他方の構成要素による情報の受け付けとによって行われてもよく、又は、その情報の受け渡しを行う2個の構成要素が物理的に同じものである場合には、一方の構成要素に対応する処理のフェーズから、他方の構成要素に対応する処理のフェーズに移ることによって行われてもよい。
また、上記実施の形態において、各構成要素が実行する処理に関係する情報、例えば、各構成要素が受け付けたり、取得したり、選択したり、生成したり、送信したり、受信したりした情報や、各構成要素が処理で用いる閾値や数式、アドレス等の情報等は、上記説明で明記していなくても、図示しない記録媒体において、一時的に、又は長期にわたって保持されていてもよい。また、その図示しない記録媒体への情報の蓄積を、各構成要素、又は、図示しない蓄積部が行ってもよい。また、その図示しない記録媒体からの情報の読み出しを、各構成要素、又は、図示しない読み出し部が行ってもよい。
また、上記実施の形態において、各構成要素等で用いられる情報、例えば、各構成要素が処理で用いる閾値やアドレス、各種の設定値等の情報がユーザによって変更されてもよい場合には、上記説明で明記していなくても、ユーザが適宜、それらの情報を変更できるようにしてもよく、又は、そうでなくてもよい。それらの情報をユーザが変更可能な場合には、その変更は、例えば、ユーザからの変更指示を受け付ける図示しない受付部と、その変更指示に応じて情報を変更する図示しない変更部とによって実現されてもよい。その図示しない受付部による変更指示の受け付けは、例えば、入力デバイスからの受け付けでもよく、通信回線を介して送信された情報の受信でもよく、所定の記録媒体から読み出された情報の受け付けでもよい。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものである。
上述の実施の形態の構成そのものに限られず、上述の実施の形態のそれぞれの構成要素について、適宜、他の実施の形態の構成要素と置換したり組み合わせたりしてもよい。また、上述の実施の形態のうち、一部の構成要素や機能が省略されていてもよい。
上述の実施の形態において説明されている各データベースは、互いに関係づけられている複数のデータベースで実現されてもいてもよく、これらの複数のデータベースは別々のハードウェアや装置に分散して配置されていてもよい。例えば、一のデータベースのレコードに含まれるものとして説明されている属性値は、当該一のデータベースに関係付けられている他のデータベースに含まれている属性値であってもよい。
また、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい(この場合、分散処理を行う複数の装置により構成されるシステム全体を1つの「装置」として把握することが可能である)。