以下、図面を参照して、本発明の実施形態を詳細に説明する。
図1は、本発明のテレワーク管理システムの構成の一例を示すシステム構成図である。
テレワーク管理システム100は、1または複数の管理サーバ101、1または複数のテレワーカ用PC111、1または複数の管理者用PC121がインターネット130を介して接続される構成となっている。
管理サーバ101は、テレワーカの在席・離席状況に関する情報、勤務時間に関する情報等をテレワーク情報として一元管理するサーバであり、サービス環境ネットワーク104上に構築されている。
管理サーバ101へは、テレワーカ用PC111と管理者用PC121が、アカウントIDとパスワードを用いた認証処理により接続し、管理サーバ101は、テレワーカ用PC111からテレワーク情報を受信した場合は、管理サーバ101のデータベースに格納する。また、管理者用PC121からテレワーク情報の取得要求があった場合は、管理サーバ101のデータベースから必要なテレワーク情報を取り出す。
テレワーカ用PC111は、テレワーカから勤務中か勤務外かの申請(申告)を受け付け、また接続された撮像装置により撮影された映像からテレワーカの在席・離席状況を検知する端末である。自宅ネットワーク110上に存在し、勤務中か勤務外かの情報や在席・離席状況を示す情報は、専用アプリケーションにより作成され、ルータ112、インターネット130、及びルータ103を介して管理サーバ101へ送信される。
管理者用PC121は、テレワーク情報を確認するための端末であり、社内ネットワーク120上に存在し、テレワーク情報の確認には、ウェブ管理コンソール(ウェブブラウザ上で動作)を使用し、ルータ122、インターネット130、及びルータ103を介して管理サーバ101に接続する。
図2は、本発明の実施形態における管理サーバ101、テレワーカ用PC111、管理者用PC121に適用可能な情報処理装置のハードウェア構成を示すブロック図である。各装置ともに、同様な構成を備えるため、同一の符号を用いて説明する。
図2に示すように、情報処理装置は、システムバス200を介してCPU(Central Processing Unit)201、ROM(Read Only Memory)202、RAM(Random Access Memory)203、記憶装置204、入力コントローラ205、音声入力コントローラ206、ビデオコントローラ207、メモリコントローラ208、よび通信I/Fコントローラ209が接続される。
CPU201は、システムバス200に接続される各デバイスやコントローラを統括的に制御する。
ROM202あるいは記憶装置204は、CPU201が実行する制御プログラムであるBIOS(Basic Input/Output System)やOS(Operating System)や、本情報処理方法を実現するためのコンピュータ読み取り実行可能なプログラムおよび必要な各種データ(データテーブルを含む)を保持している。
RAM203は、CPU201の主メモリ、ワークエリア等として機能する。CPU201は、処理の実行に際して必要なプログラム等をROM202あるいは記憶装置204からRAM203にロードし、ロードしたプログラムを実行することで各種動作を実現する。
入力コントローラ205は、キーボード/タッチパネル210などの入力装置からの入力を制御する。入力装置はこれに限ったものでなく、マウスやマルチタッチスクリーンなどの、複数の指でタッチされた位置を検出することが可能なタッチパネルであってもよい。
ユーザがタッチパネルに表示されたアイコンやカーソルやボタンに合わせて押下(指等でタッチ)することにより、各種の指示を行うことができる。
この入力装置を用いて各種通信装置で利用可能な通信宛先に対する宛先を入力するようになっている。
音声入力コントローラ206は、マイク211からの入力を制御する。マイク211から入力された音声を音声認識することが可能となっている。
ビデオコントローラ207は、ディスプレイ212などの外部出力装置への表示を制御する。ディスプレイは本体と一体になったノート型パソコンのディスプレイも含まれるものとする。なお、外部出力装置はディスプレイに限ったものははく、例えばプロジェクタであってもよい。また、前述のタッチ操作により受け付け可能な装置については、キーボード/タッチパネル210からの入力を受け付けることも可能となる。
なおビデオコントローラ207は、表示制御を行うためのビデオメモリ(VRAM)を制御することが可能で、ビデオメモリ領域としてRAM203の一部を利用することもできるし、別途専用のビデオメモリを設けることも可能である。
本発明では、ユーザが情報処理装置を通常する場合の表示に用いられる第1のビデオメモリ領域と、所定の画面が表示される場合に、第1のビデオメモリ領域の表示内容に重ねての表示に用いられる第2のビデオメモリ領域を有している。ビデオメモリ領域は2つに限ったものではなく、情報処理装置の資源が許す限り複数有することが可能なものとする。
メモリコントローラ208は、外部メモリ213へのアクセスを制御する。外部メモリとしては、ブートプログラム、各種アプリケーション、フォントデータ、ユーザファイル、編集ファイル、および各種データ等を記憶する外部記憶装置(ハードディスク)、フレキシブルディスク(FD)、或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)メモリ等を利用可能である。
通信I/Fコントローラ209、ネットワーク214を介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いた通信やISDNなどの電話回線、および携帯電話の3G回線を用いた通信が可能である。
なお、記憶装置204は情報を永続的に記憶するための媒体であって、その形態をハードディスク等の記憶装置に限定するものではない。例えば、SSD(Solid State Drive)などの媒体であってもよい。
また本実施形態における通信端末で行われる各種処理時の一時的なメモリエリアとしても利用可能である。
次に図3~図6のフローチャートを用いて、本実施形態においてテレワーク管理システムが実行する処理について説明する。
図3のフローチャートは、テレワーカ用PC111のCPU201が所定の制御プログラムを読み出して実行する処理であり、テレワーカの勤務時間を記録する処理を示すフローチャートである。
ステップS301では、テレワーカ用PC111のCPU201は、テレワーカ用PC111の電源が切られたり、制御プログラムが終了される等により、本実施形態における処理が終了されたかを判断する。
終了された場合(ステップS301:TRUE)は、本フローチャートの処理を終了する。
終了されていない場合(ステップS301:FALSE)は、処理をステップS302に移行する。
ステップS302では、テレワーカ用PC111のCPU201は、テレワーカから勤務中であるか勤務外であるかの選択を受け付ける。具体的には、テレワーカ用PC111のディスプレイ212に図10に示す勤務状態指示受付画面を表示し、テレワーカからいずれかのボタンが選択(指示)されることで、勤務中か勤務外かの選択(指示)を受け付ける。
テレワーカにより勤務中ボタン1001が選択された場合は、勤務が開始された(勤務外から勤務中に変更された)と判断される。
テレワーカにより勤務外ボタン1002が選択された場合は、勤務が終了した(勤務中から勤務外に変更された)と判断される。
いずれのボタンも選択されない場合は、勤務状態に変更がないと判断される。
ステップS303では、テレワーカ用PC111のCPU201は、ステップS302において勤務状態が変更されたかを判定する。
勤務外から勤務中に変更された場合(ステップS303:勤務中に変更)は、処理をステップS304に移行する。
勤務中から勤務外に変更された場合(ステップS303:勤務外に変更)は、処理をステップS305に移行する。
勤務状態の変更が無い場合(ステップS303:変更なし)は、処理をステップS306に移行する。
ステップS304では、テレワーカ用PC111のCPU201は、勤務時間の記録を開始する。そして、勤務時間の開始時刻を管理サーバ101に送信する(ステップS308)。
ステップS305では、テレワーカ用PC111のCPU201は、勤務時間の記録を終了する。そして、勤務時間の終了時刻を管理サーバ101に送信する(ステップS308)。
ステップS306では、テレワーカ用PC111のCPU201は、勤務状態が勤務中であるか勤務外であるかを判定する。
勤務中である場合(ステップS306:TRUE)は、処理をステップS307に移行する。
勤務外である場合(ステップS306:FALSE)は、処理をステップS309に移行する。
ステップS307では、テレワーカ用PC111のCPU201は、記録された勤務時間を更新する。
以上の処理により、勤務中である旨の指示を受けた日時と勤務外である旨の指示を受けた日時を管理サーバ101に送信することで、管理サーバ101においてテレワーカの勤務時間(勤務中である旨の指示を受け付けてから、勤務外である旨の指示を受け付けるまでの時間)を管理することが可能となる。
具体的には、図9(A)に示すデータ構成により、勤務開始日時と勤務終了日時を管理することで、テレワーカの勤務状況を管理する。
ステップS309では、テレワーカ用PC111のCPU201は、テレワーカの在席状態を検出する。ステップS309の処理の詳細については、図4のフローチャートを用いて後述する。
図4は、テレワーカ用PC111のCPU201が所定の制御プログラムを読み出して実行する処理であり、テレワーカの在席状況を記録・管理する処理を示すフローチャートである。
ステップS401では、テレワーカ用PC111のCPU201は、接続された撮像装置により撮影された映像からテレワーカの顔を検出し、認証を行う。
認証は、撮影された顔と、予め登録された顔画像とを比較し、類似度が予め定められた基準を満たすか否か等の方法により行われる。
ステップS402では、テレワーカ用PC111のCPU201は、接続された撮像装置により撮影された映像から現在のテレワーカの状態を検出する。現在のテレワーカの状態とは、本実施例においては、「在席」している状態か、「離席」している状態かのいずれかであるものとする。
在席している状態とは、接続された撮像装置により撮影された映像に、テレワーカ自身の顔が検出されている状態等をいう。また、離席している状態とは、接続された撮像装置により撮影された映像に、テレワーカ自身の顔が検出されていない状態等をいう。
なお、テレワーカ自身の顔であるかについては、予め登録された顔画像と、撮影された顔との類似度により判断される。異なる人物であると判断される場合(登録された顔画像と撮影された顔との類似度が基準を満たさない場合)は、「なりすまし」等として判断される(本実施形態においては、テレワーカ本人が在席していないので、「離席状態」として判断される)。
ここで、テレワーカ自身の顔が検出されてない状態であっても、席にいるが横や下を向いているために顔を検出できなかった状態である可能性もある。そのため、現在までの在席・離席状態を考慮した判断を行う。具体的には、「顔を検出できなかったものの、現在まで在席状態が続いていて、人物がいなくなったことを検知していない場合」には、単に顔を検出できていないだけ(横や下を向いているだけ)であり、席を離れたとはいえないため、在席状態であると判断する。
ステップS403では、テレワーカ用PC111のCPU201は、ステップS402で検出された現在のテレワーカの状態が、在席であるか離席であるかを判断する。
在席である場合(ステップS403:在席)は、処理をステップS404に移行する。
離席である場合(ステップS403:離席)は、処理をステップS407に移行する。
ステップS404では、テレワーカ用PC111のCPU201は、ステップS402で算出された状態が、過去の状態と異なる状態であるか(すなわち、今までは離席だった状態から在席へ遷移したのか)を判断する。
遷移していない場合(すなわち在席状態が継続している場合)(ステップS404:FALSE)は、処理をステップS405に移行する。
遷移した場合(すなわち離席状態から在席状態に変わった場合)(ステップS404:TRUE)は、処理をステップS406に移行する。
ステップS405では、テレワーカ用PC111のCPU201は、在席時間を更新する。
ステップS406では、テレワーカ用PC111のCPU201は、離席時間の記録を終了し、在席時間の記録を開始する。
ステップS407では、テレワーカ用PC111のCPU201は、ステップS402で算出された状態が、過去の状態と異なる状態であるか(すなわち、今までは在席だった状態から離席へ遷移したのか)を判断する。
遷移していない場合(すなわち離席状態が継続している場合)(ステップS407:FALSE)は、処理をステップS408に移行する。
遷移した場合(すなわち在席状態から離席状態に変わった場合)(ステップS407:TRUE)は、処理をステップS409に移行する。
ステップS408では、テレワーカ用PC111のCPU201は、離席時間を更新する。
ステップS409では、テレワーカ用PC111のCPU201は、在席時間の記録を終了し、離席時間の記録を開始する。
ステップS410では、テレワーカ用PC111のCPU201は、在席時間・離席時間を管理サーバ101に送信する。
管理サーバ101では、ステップS410で送信された在席時間・離席時間を、図9(B)に示す構成のデータにより管理する。図9(B)に示すように、ユーザ毎に在席状態(在席か離席か)とその状態が開始された日時、終了した日時を記録することで管理する。
ステップS411では、テレワーカ用PC111のCPU201は、異常検出処理を実行する。異常検出処理の詳細については、図5のフローチャートを用いて後述する。
本実施形態においては、テレワーカの在席・離席状態の検出処理(S402)をテレワーカ用PC111において実行する構成として説明したが、当該処理を管理サーバ101で実行するよう構成してもよい。具体的には、撮像装置により撮影された映像を管理サーバ101に送信し、管理サーバ101は送信された映像を受信すると、当該映像と予め登録された顔画像を用いて、テレワーカの在席・離席状況を検出する。そして、在席時間・離席時間についても、管理サーバ101で記録するよう構成してもよい。
図5は、テレワーカ用PC111のCPU201が所定の制御プログラムを読み出して実行する処理であり、テレワーカの勤務状況において何らかの異常(注意が必要な状態)が発生したことを検知する処理を示すフローチャートである。
ステップS501では、テレワーカ用PC111のCPU201は、テレワーカが勤務中であるか勤務外であるかを判定する。具体的には、図3のフローチャートにおける処理(図10に示す画面において、勤務中が選択されているか勤務外が選択されているか)に基づき判断する。
勤務中である場合(ステップS501:TRUE)は、処理をステップS502に移行する。
勤務外である場合(ステップS501:FALSE)は、処理をステップS506に移行する。
ステップS502では、テレワーカ用PC111のCPU201は、テレワーカが在席中であり、かつ在席時間が所定の時間よりも長く(所定時間以上)続いているか否かを判断する。
在席中でありかつ在席時間が所定の時間よりも長く(所定時間以上)続いている場合(ステップS502:TRUE)は、処理をステップS503に移行する。
在席中ではない場合や、在席時間が所定の時間よりも長く(所定時間以上)続いていない場合(ステップS502:FALSE)は、処理をステップS508に以降する。
在席中であるか否かは、図4のステップS402の処理の結果により判断する。所定の時間については、予め「60分」といった時間が定められているものとし、在席時間が所定時間継続しているかは、現在時刻と在席状態が開始された時刻とに従い在席時間を算出することで判断する。
ステップS503では、テレワーカ用PC111のCPU201は、テレワーカに対して休憩を取るべき旨を通知する。
このように、所定時間以上在席状態が続いている場合に、休憩を取得すべき旨を通知することで、管理者と離れた場所で勤務するテレワーカについても、適切な労働環境を維持することが可能となる。
ステップS504では、テレワーカ用PC111のCPU201は、テレワーカが休憩に入ったか否かを判断する。休憩に入ったか否かは、離席状態になったことや、勤務外ボタン1002が選択されたことにより判断する。
休憩に入った場合(ステップS504:TRUE)は、処理をステップS505に移行する。
休憩に入っていない場合(ステップS504:FALSE)は、本フローチャートに示す処理を終了する。
ステップS505では、テレワーカ用PC111のCPU201は、テレワーカが利用しているテレワーカ用PC111をロックし、パスワード等を入力しなければ利用できない状態にする。これにより、テレワーカが休憩中に第三者がテレワーカ用PC111を利用できないように制御することが可能となる。
次に、ステップS501でFALSEと判断された場合(勤務外である場合)の処理について説明する。
ステップS506では、テレワーカ用PC111のCPU201は、テレワーカが在席中であり、かつ在席時間が所定の時間よりも長く(所定時間以上)続いているか否かを判断する。
在席中でありかつ在席時間が所定の時間よりも長く(所定時間以上)続いている場合(ステップS506:TRUE)は、処理をステップS507に移行する。
在席中ではない場合や、在席時間が所定の時間よりも長く(所定時間以上)続いていない場合(ステップS506:FALSE)は、本フローチャートの処理を終了する。
在席中であるか否かは、図4のステップS402の処理の結果により判断する。所定の時間については、予め「60分」といった時間が定められているものとし、在席時間が所定時間継続しているかは、現在時刻と在席状態が開始された時刻とに従い在席時間を算出することで判断する。
ステップS507では、テレワーカ用PC111のCPU201は、テレワーカに対して、勤務外の時間であるにもかかわらず長時間在席している理由(コメント)について、入力を要求する。コメントの入力画面の一例を図12に示す。
そして、処理をステップS510に移行する。
次に、ステップS502でFALSEと判断された場合(在席中ではない場合や、在席時間が所定の時間よりも長く続いていない場合)の処理について説明する。
ステップS508では、テレワーカ用PC111のCPU201は、テレワーカが離席中であり、かつ離席している時間が所定の時間よりも長く(所定時間以上)続いているか否かを判断する。
離席中でありかつ離席時間が所定の時間よりも長く(所定時間以上)続いている場合(ステップS508:TRUE)は、処理をステップS509に移行する。
離席中ではない場合や、離席時間が所定の時間よりも長く(所定時間以上)続いていない場合(ステップS508:FALSE)は、本フローチャートの処理を終了する。
ステップS509では、テレワーカ用PC111のCPU201は、テレワーカに対して、勤務時間中であるにもかかわらず長時間離席している理由(コメント)について、入力を要求する。コメントの入力画面の一例を図11に示す。
ステップS510では、テレワーカ用PC111のCPU201は、テレワーカからコメント(勤務時間外であるにもかかわらず長時間在席している理由、勤務時間中であるにもかかわらず長時間離席している理由)の入力を受け付ける。
ステップS511では、テレワーカ用PC111のCPU201は、図11、図12の画面における登録ボタンが押下されると、入力を受け付けたコメントを管理サーバ101に送信する。
管理サーバ101では、ステップS511でテレワーカ用PC111のCPU201から送信されたコメントを管理する。管理サーバ101では、図9(B)に示すように、ユーザの在席状態とともに、コメントを管理する。
このように、在席していなければならない時間帯(勤務時間中)に長時間離席している場合や、在席していてはならない時間帯(勤務時間外)に長時間在席している場合には、仕事をサボっている可能性や、サービス残業をしている可能性がある。そのため、なぜそのような勤務状況になったのかをテレワーカに説明させることで、テレワーカの勤務状況を適切に管理することが可能となる。
本実施形態においては図5のフローチャートで示す処理をテレワーカ用PC111で実行する構成として説明した。これに対して、上述の通り、テレワーカの在席・離席状況の検出や勤務時間の記録等を管理サーバ101で実行する場合には、ステップS501、S502、S506、S508の処理を管理サーバ101において実行しても良い。
次に図6を用いて、管理者用PC121、管理サーバ101が実行する集計結果表示処理について説明する。
図6のフローチャートで示す処理のうち、ステップS601、S611の処理は管理者用PC121のCPU201が、ステップS602~S610の処理は管理サーバ101が、それぞれ所定の制御プログラムを読み出して実行する処理である。
ステップS601では、管理者用PC121のCPU201は、管理者から表示対象テレワーカと検索期間の指定を受け付ける。
例えば、表示対象テレワーカとしてA、B、Cの3名が指定され、検索期間として2016年3月7日~2016年3月11日が指定された場合、A、B、Cの3名の2016年3月7日~2016年3月11日の勤務状況が表示される。
ステップS602では、管理者用PC121のCPU201は、ステップS601で指定されたテレワーカ全員の勤務状況の検索・集計処理が終了したかを判断する。
全テレワーカについて検索・集計処理が終了している場合(ステップS601:TRUE)は、処理をステップS611に移行する。
検索・集計処理が終了していないテレワーカがいる場合(ステップS601:FALSE)は、処理をステップS603に移行する。
ステップS603では、管理者用PC121のCPU201は、検索・集計処理が行われていないテレワーカのうち一人を指定する。
ステップS604では、管理者用PC121のCPU201は、ステップS603で選出したテレワーカについて、ステップS601で指定された期間の勤務状況の検索・集計処理が終了したかを判断する。
終了している場合(ステップS604:TRUE)は、処理をステップS602に移行する。
終了してない場合(ステップS604:FALSE)は、処理をステップS605に移行する。
ステップS605では、管理者用PC121のCPU201は、指定された期間のうち、検索・集計処理が行われていない日を一日指定する。
ステップS606では、管理者用PC121のCPU201は、ステップS605で指定された日におけるステップS603で指定されたテレワーカの勤務時間を検索する。
例えば、ステップS603でテレワーカAが指定され、ステップS605で3月7日が指定された場合は、図9(A)においてユーザIDがテレワーカAであり、開始日時と終了日時のいずれかが3月7日のデータを検索する。
ステップS607では、管理者用PC121のCPU201は、ステップS605で指定された日におけるステップS603で指定したテレワーカの在席時間・離席時間を検索する。
例えば、ステップS603でテレワーカAが指定され、ステップS605で3月7日が指定された場合は、図9(B)においてユーザIDがテレワーカAであり、開始日時と終了日時のいずれかが3月7日のデータを検索する。この際、コメントが登録されている場合は、当該コメントも取得する。
ステップS608では、管理者用PC121のCPU201は、ステップS606で検索されたデータから、当該指定された日における総勤務時間を算出する。具体的には、検索されたデータ毎に開始日時から終了日時までの時間を算出し、検索されたデータ全ての合計値を算出する。なお、開始日時と終了日時の日付が異なる場合は、指定された日における勤務時間として午前0時から終了日時まで、または開始日時から午後12時までの時間を算出する。
ステップS609では、管理者用PC121のCPU201は、ステップS607で検索された在席・離席時間から、当該指定された日における総在席時間・総離席時間を算出する。具体的には、検索されたデータ毎に開始日時から終了日時までの時間を算出し、検索されたデータ全ての合計値を在席状態・離席状態それぞれ算出する。
ステップS610では、管理者用PC121のCPU201は、ステップS609で算出した総在席時間・総離席時間のうち、勤務時間中における総在席時間・総離席時間を算出する。
具体的には、図9(A)における開始日時から終了日時と、図9(B)における開始日時から終了日時とが重なる時間の合計値を算出する。算出された値には、図9(C)に示すデータにより管理サーバ101において管理される。
そして、処理をステップS604に戻す。
ステップS601で受け付けた表示対象テレワーカの全員について、指定された全期間の勤務状況について検索・集計処理が終了すると(ステップS602:TRUE)、処理をステップS611の処理に移行する。
ステップS611では、管理者用PC121のCPU201は、ステップ606~S610で検索されたデータおよび算出された値に基づき、テレワーカの勤務状態をディスプレイ212に表示する。
集計結果の表示画面については、図7を用いて説明する。
図7は、管理者用PC121のディスプレイ212に表示される画面の一例である。
図7に示す画面は、テレワーカAの3月7日~3月11日の勤務状況を示している。
図7において、斜線で示した領域(例えば701など)は、勤務時間中の時間帯を示している。
勤務時間と並べて、在籍中の時間帯(縦線で示した領域。例えば702など。)を表示する。また、離席中の時間帯(薄墨色で示した領域。例えば703など。)も勤務時間と並べて表示する。
図7の例では、3月7日は、9時から12時と13時から17時30分が勤務時間であり、午前中に1回、午後に3回、12時から13時の間にそれぞれ離席していることを示している。
このように、テレワーカにより申告された勤務中の時間帯を示す情報と、撮影された映像から解析した在席・離席していた時間帯を示す情報とを比較可能に表示することで、管理者は勤務時間中と勤務時間外それぞれにおけるテレワーカの在席・離席状況を把握することが可能になるため、適切な労務管理が可能となる。
703に示す数値は、3月7日における総勤務時間が7.5時間であったことを示している。
704に示す数値は、3月7日の総在席時間と、勤務時間中における在席時間を示している。3月7日はいずれも6.5時間である。3月10日は、総在席時間が8.5時間であり、勤務時間中における在席時間は6.5時間であったことを示している。
このように総在席時間と勤務時間中における在席時間とを表示することで、勤務時間外に2時間在席していたことや、休憩等を除いた実質的な勤務時間(勤務中かつ在席の時間)を認識することができる。
705に示す数値は、3月7日における総離席時間と、勤務時間中における離席時間とを示している。3月7日においては、総離席時間が2時間であり、勤務時間中における離席時間が1時間であったこと(すなわち勤務時間外に1時間離席していたこと)を認識することができる。
なお、3月7日において、17時30分以降の記録がないのは、17時30分の時点でステップS301でTRUEと判断されたためである。
707は、図9(B)に示すコメント項目にデータが登録されている場合に表示されるコメントであり、勤務時間中に所定時間以上離席していた理由である。
708は、図9(B)に示すコメント項目にデータが登録されている場合に表示されるコメントであり、勤務時間外に所定時間以上在席していた理由である。
このように、勤務状況を表示する領域にコメントを表示することで、管理者は、不適切な勤務状況が発生した理由を一目で確認することができるため、適切な労務管理が可能となる。
また、コメント内容やコメントの有無を確認することにより、不適切な勤務を行ったテレワーカに対して理由を問い合わせることも可能となる。
図8は、テレワーカA、テレワーカB、テレワーカCの当日の勤務状況を表示した画面であり、管理者用PC121のディスプレイ212に表示される画面である。
図8の例では、テレワーカAは現在在席中(801)、テレワーカBは現在離席中(802)、テレワーカCは現在勤務時間外(803)であることを示している。
テレワーカAについては、勤務時間中に所定時間以上離席していた時間帯があるため、その理由が登録されている場合には、当該時間帯を示す領域が選択されることで、当該理由が表示される(804)。
このように、複数のテレワーカの勤務状況をリアルタイムで表示することで、同じ部署のメンバーがそれぞれどのような状況にあるのかを一目で把握することが可能となる。
図8の画面は、各テレワーカが用いるテレワーカ用PC111のディスプレイ212に表示されても良い。各テレワーカは、図8の画面を見ることで他のテレワーカの勤務状況を確認することができるため、他のテレワーカに連絡を取りたいといった場合にも、連絡を取れる状況にあるのか、離席していたり勤務時間外で連絡を取れない状況なのかを把握することが可能となる。これにより、テレワーカ間でのコミュニケーションが円滑となり、業務の効率化を図ることが可能となる。
<第2の実施例>
次に、図13~図21を用いて、本発明の第2の実施例について説明する。
第1の実施例においては、勤務中か否かの情報と、在席か離席かの情報を記録する仕組みについて説明した。第2の実施例においては、これらの情報に加え、作業時間(あるタスクを処理しりている時間)についても記録する仕組みである。
図13のフローチャートは、第1の実施例における図3のフローチャートの処理に対応する処理を示すフローチャートである。図13のフローチャートで示す処理は、テレワーカ用PC111のCPU201が所定の制御プログラムを読み出して実行する処理であり、テレワーカの勤務時間と作業時間とを記録する処理を示すフローチャートである。
ステップS1301では、テレワーカ用PC111のCPU201は、テレワーカ用PC111の電源が切られたり、制御プログラムが終了される等により、本実施形態における処理が終了されたかを判断する。
終了された場合(ステップS1301:TRUE)は、本フローチャートの処理を終了する。
終了されていない場合(ステップS1301:FALSE)は、処理をステップS1302に移行する。
ステップS1302では、テレワーカ用PC111のCPU201は、テレワーカから勤務中であるか勤務外であるかの選択を受け付ける。具体的には、テレワーカ用PC111のディスプレイ212に図19に示す勤務状態指示受付画面を表示し、テレワーカからいずれかのボタンが選択(指示)されることで、勤務中か勤務外かの選択(指示)を受け付ける。
テレワーカにより勤務中ボタン1001が選択された場合は、勤務が開始された(勤務外から勤務中に変更された)と判断される。
テレワーカにより勤務外ボタン1002が選択された場合は、勤務が終了した(勤務中から勤務外に変更された)と判断される。
いずれのボタンも選択されない場合は、勤務状態に変更がないと判断される。
ステップS303では、テレワーカ用PC111のCPU201は、ステップS1302において勤務状態が変更されたかを判定する。
勤務外から勤務中に変更された場合(ステップS1303:勤務中に変更)は、処理をステップS1304に移行する。
勤務中から勤務外に変更された場合(ステップS1303:勤務外に変更)は、処理をステップS1305に移行する。
勤務状態の変更が無い場合(ステップS1303:変更なし)は、処理をステップS1306に移行する。
ステップS1304では、テレワーカ用PC111のCPU201は、勤務時間の記録を開始する。そして、勤務時間の開始時刻を管理サーバ101に送信する(ステップS1309)。
ステップS1305では、テレワーカ用PC111のCPU201は、勤務時間の記録を終了する。そして、勤務時間の終了時刻を管理サーバ101に送信する(ステップS1307)。
ステップS1306では、テレワーカ用PC111のCPU201は、勤務状態が勤務中であるか勤務外であるかを判定する。
勤務中である場合(ステップS1306:TRUE)は、処理をステップS1310に移行する。
勤務外である場合(ステップS1306:FALSE)は、処理をステップS1318に移行する。
ステップS1307では、テレワーカ用PC111のCPU201は、テレワーカが勤務状態を「勤務外」に変更した際に、作業中であったかを判定する。作業中であったか否かは、図19に示す画面において、作業中ボタン1903が押下された状態であれば(作業開始の指示を受け付けた状態であれば)、作業中であったと判断される。
作業中であった場合(ステップS1307:TRUE)は、処理をステップS1308に移行する。
作業中ではない場合(ステップS1307:FALSE)は、処理をステップS1309に移行する。
ステップS1308では、テレワーカ用PC111のCPU201は、作業時間の記録を終了する。すなわち、勤務外になったのであるから、勤務中に進めていた作業も終了したものとみなし、作業時間の記録を終了する。
ステップS1309では、テレワーカ用PC111のCPU201は、勤務時間・作業時間の終了時刻を管理サーバ101に送信する。
ステップS1310では、テレワーカ用CPU111のCPU201は、テレワーカ用PC111のCPU201は、記録された勤務時間を更新する。
ステップS1311では、テレワーカ用PC111のCPU201は、テレワーカから作業状態の変更を受け付ける。
本実施例において、作業状態の変更は、図19に示す画面の作業中ボタンの押下によって受け付けるものとする。作業中ボタンが押下されることで作業開始の指示を受け付ける。また、再度作業中の状態において、再度作業中ボタンが押下されると、作業終了の指示を受け付けることとなる。
また、図19に示す通り、プルダウンリストにより作業内容を選択することが可能である。当該プルダウンリストに表示される作業内容は、図21に示す作業内容テーブルに登録されたデータが表示されるものとする。
当該プルダウンリストから作業内容が選択され、作業中ボタンが押下されることで、当該選択された作業内容の作業を開始する指示として受け付ける。当該作業内容は、図19(B)に示すデータテーブルに登録される。
また、ある作業を進めている最中に、このプルダウンリストから他の作業内容が選択された場合には、作業内容の変更指示として受け付け、変更前の作業を作業終了として記録し、当該選択された作業が開始されたものとして、記録をつける。
ステップS1312では、テレワーカ用PC111のCPU201は、作業状態が変更されたかを判定する。
作業状態が作業外から作業中に変更された場合(ステップS1312:作業中に変更)は、処理をステップS1313に移行する。
作業状態が作業中から作業外に変更された場合(ステップS1312:作業外に変更)は、処理をステップS1314に移行する。
作業状態の変更が無い場合(ステップS1312:変更なし)は、処理をステップS1316に移行する。
ステップS1313では、テレワーカ用PC111のCPU201は、作業中ボタンが押下された時刻を記録し、作業時間の記録を開始する。作業時間は、作業内容を示す識別情報(作業ID)とともに、図19(B)に示すデータテーブルに登録される。
ステップS1314では、テレワーカ用PC111のCPU201は、作業終了の指示がなされた時刻(作業中ボタンが押下された時刻)を記録することで、作業時間の記録を終了する。
ステップS1315では、テレワーカ用PC111のCPU201は、作業時間の終了時刻を管理サーバ101に送信する。
ステップS1316では、テレワーカ用PC111のCPU201は、現在作業中であるかを判定し、作業中であれば処理をステップS1317において作業時間を更新する。そして、処理をステップS1318に移行する。
ステップS1318では、テレワーカ用PC111のCPU201は、テレワーカの在席状態を検出する。ステップS1318の処理の詳細は、第1の実施例における図4のフローチャートで示す処理と同様であるため、ここでの説明は省略する。
以上の通り、勤務中である旨の指示を受けた日時と勤務外である旨の指示を受けた日時を管理サーバ101に送信することで、管理サーバ101においてテレワーカの勤務時間(勤務中である旨の指示を受け付けてから、勤務外である旨の指示を受け付けるまでの時間)を管理することが可能となる。また、作業時間についても、同様に開始時刻・終了時刻を管理サーバに送信することで、管理サーバ101においてテレワーカの作業時間を管理することが可能となる。
具体的には、図18(A)(B)に示すデータ構成により、勤務開始日時と勤務終了日時、作業開始時刻と作業終了時刻を管理することで、テレワーカの勤務状況を管理する。
次に、図14を用いて、第2の実施例におけるステップS411の処理の詳細について説明する。
図14は、テレワーカ用PC111のCPU201が所定の制御プログラムを読み出して実行する処理であり、テレワーカの勤務状況において何らかの異常(注意が必要な状態)が発生したことを検知する処理を示すフローチャートである。
ステップS1401では、テレワーカ用PC111のCPU201は、テレワーカが勤務中であるか勤務外であるかを判定する。具体的には、図13のフローチャートにおける処理(図19に示す画面において、勤務中が選択されているか勤務外が選択されているか)に基づき判断する。
勤務中である場合(ステップS1401:TRUE)は、処理をステップS1402に移行する。
勤務外である場合(ステップS1401:FALSE)は、処理をステップS1408に移行する。
ステップS1402では、テレワーカ用PC111のCPU201は、テレワーカが作業中であるかを判定する。
作業中である場合(ステップS1402:TRUE)は、処理をステップS1403に移行する。
作業外である場合(ステップS1402:FALSE)は、処理をステップS1411に移行する。
ステップS1403では、テレワーカ用PC111のCPU201は、テレワーカが在席中であるかを判定する。
在席中であれば処理をステップS1404に移行し、離席中であれば処理をステップS1413に移行する。
ステップS1404では、テレワーカ用PC111のCPU201は、在席時間が所定の時間よりも長く(所定時間以上)続いているか否かを判断する。
在席時間が所定の時間よりも長く(所定時間以上)続いている場合(ステップS1404:TRUE)は、処理をステップS1405に移行する。
在席時間が所定の時間よりも長く(所定時間以上)続いていない場合(ステップS1404:FALSE)は、本フローチャートの処理を終了する。
なお、在席中であるか否かは、図4のステップS402の処理の結果により判断する。所定の時間については、予め「60分」といった時間が定められているものとし、在席時間が所定時間継続しているかは、現在時刻と在席状態が開始された時刻とに従い在席時間を算出することで判断する。
ステップS1405では、テレワーカ用PC111のCPU201は、テレワーカに対して休憩を取るべき旨を通知する。
このように、所定時間以上在席状態が続いている場合に、休憩を取得すべき旨を通知することで、管理者と離れた場所で勤務するテレワーカについても、適切な労働環境を維持することが可能となる。
ステップS1406では、テレワーカ用PC111のCPU201は、テレワーカが休憩に入ったか否かを判断する。休憩に入ったか否かは、離席状態になったことや、勤務外ボタン1002が選択されたことにより判断する。
休憩に入った場合(ステップS1406:TRUE)は、処理をステップS1407に移行する。
休憩に入っていない場合(ステップS1406:FALSE)は、本フローチャートに示す処理を終了する。
ステップS1407では、テレワーカ用PC111のCPU201は、テレワーカが利用しているテレワーカ用PC111をロックし、パスワード等を入力しなければ利用できない状態にする。これにより、テレワーカが休憩中に第三者がテレワーカ用PC111を利用できないように制御することが可能となる。
次に、ステップS501でFALSEと判断された場合(勤務外である場合)の処理について説明する。
ステップS1408では、テレワーカ用PC111のCPU201は、テレワーカが在席中であるか否かを判定する。
在席中である場合(ステップS1408:TRUE)は、処理をステップS1409に移行する。
在籍中ではない場合(ステップS1408:FALSE)は、本フローチャートの処理を終了する。
ステップS1409では、テレワーカ用PC111のCPU201は、在席時間が所定の時間よりも長く(所定時間以上)続いているか否かを判断する。
在席時間が所定の時間よりも長く(所定時間以上)続いている場合(ステップS1409:TRUE)は、処理をステップS1410に移行する。
在席時間が所定の時間よりも長く(所定時間以上)続いていない場合(ステップS1409:FALSE)は、本フローチャートの処理を終了する。
在席中であるか否かは、図4のステップS402の処理の結果により判断する。所定の時間については、予め「60分」といった時間が定められているものとし、在席時間が所定時間継続しているかは、現在時刻と在席状態が開始された時刻とに従い在席時間を算出することで判断する。
ステップS1410では、テレワーカ用PC111のCPU201は、テレワーカに対して、勤務外の時間であるにもかかわらず長時間在席している理由(コメント)について、入力を要求する。コメントの入力画面の一例を図12に示す。
そして、処理をステップS1415に移行する。
次にステップS1402でFALSEと判定された場合(すなわち、勤務中であるにもかかわらず作業中ではない場合)の処理について説明する。
ステップS1411では、テレワーカ用PC111のCPU201は、作業外の時間が所定の時間よりも長く(所定時間以上)続いているかを判定する。
所定の時間については、予め「60分」といった時間が定められているものとし、作業外の時間が所定時間継続しているかは、現在時刻と作業外の状態が開始された時刻とに従い作業外時間を算出することで判断する。
作業外時間が所定時間以上続いている場合(ステップS1411:TRUE)は、処理をステップS1412に移行する。
作業外時間が所定時間以上続いていない場合(ステップS1411:FALSE)は、本フローチャートの処理を終了する。
ステップS1412では、テレワーカ用PC111のCPU201は、長時間作業外である理由(コメント)の入力(登録)を要求する。コメント入力画面の一例を図20に示す。
そして、処理をステップS1415に移行する。
次に、ステップS1403でFALSEと判断された場合(在席中ではない場合)の処理について説明する。
ステップS1413では、テレワーカ用PC111のCPU201は、テレワーカの離席している時間が所定の時間よりも長く(所定時間以上)続いているか否かを判断する。
離席中でありかつ離席時間が所定の時間よりも長く(所定時間以上)続いている場合(ステップS1413:TRUE)は、処理をステップS1414に移行する。
離席中ではない場合や、離席時間が所定の時間よりも長く(所定時間以上)続いていない場合(ステップS1413:FALSE)は、本フローチャートの処理を終了する。
ステップS1414では、テレワーカ用PC111のCPU201は、テレワーカに対して、勤務時間中であるにもかかわらず長時間離席している理由(コメント)について、入力を要求する。コメントの入力画面の一例を図11に示す。
ステップS1415では、テレワーカ用PC111のCPU201は、テレワーカからコメント(勤務時間外であるにもかかわらず長時間在席している理由、勤務時間中であるにもかかわらず長時間離席している理由、勤務時間中であるにもかかわらず作業外である理由)の入力を受け付ける。
ステップS1416では、テレワーカ用PC111のCPU201は、図11、図12、図20の画面における登録ボタンが押下されると、入力を受け付けたコメントを管理サーバ101に送信する。
管理サーバ101では、ステップS511でテレワーカ用PC111のCPU201から送信されたコメントを管理する。管理サーバ101では、図9に示すように、ユーザの在席状態とともに、コメントを管理する。
このように、在席していなければならない時間帯(勤務時間中)に長時間離席している場合や、在席していてはならない時間帯(勤務時間外)に長時間在席している場合や、勤務時間中にも関らず作業中ではない場合には、仕事をサボっている可能性や、サービス残業をしている可能性がある。また、処理すべきタスクを処理していない可能性がある。そのため、なぜそのような勤務状況になったのかをテレワーカに説明させることで、テレワーカの勤務状況を適切に管理することが可能となる。
本実施形態においては図5のフローチャートで示す処理をテレワーカ用PC111で実行する構成として説明した。これに対して、上述の通り、テレワーカの在席・離席状況の検出や勤務時間、作業時間の記録等を管理サーバ101で実行してもよい。
次に、図15のフローチャートを用いて、管理者用PC121、管理サーバ101が実行する集計結果表示処理について説明する。
図6のフローチャートで示す処理のうち、ステップS1501、S1512の処理は管理者用PC121のCPU201が、ステップS1502~S1511の処理は管理サーバ101が、それぞれ所定の制御プログラムを読み出して実行する処理である。
ステップS1501では、管理者用PC121のCPU201は、管理者から表示対象テレワーカと検索期間の指定を受け付ける。
例えば、表示対象テレワーカとしてA、B、Cの3名が指定され、検索期間として2016年3月7日~2016年3月11日が指定された場合、A、B、Cの3名の2016年3月7日~2016年3月11日の勤務状況が表示される。
ステップS1502では、管理者用PC121のCPU201は、ステップS1501で指定されたテレワーカ全員の勤務状況の検索・集計処理が終了したかを判断する。
全テレワーカについて検索・集計処理が終了している場合(ステップS1501:TRUE)は、処理をステップS1512に移行する。
検索・集計処理が終了していないテレワーカがいる場合(ステップS1501:FALSE)は、処理をステップS1503に移行する。
ステップS1503では、管理者用PC121のCPU201は、検索・集計処理が行われていないテレワーカのうち一人を指定する。
ステップS1504では、管理者用PC121のCPU201は、ステップS1503で選出したテレワーカについて、ステップS1501で指定された期間の勤務状況の検索・集計処理が終了したかを判断する。
終了している場合(ステップS1504:TRUE)は、処理をステップS1502に移行する。
終了してない場合(ステップS1504:FALSE)は、処理をステップS1505に移行する。
ステップS1505では、管理者用PC121のCPU201は、指定された期間のうち、検索・集計処理が行われていない日を一日指定する。
ステップS1506では、管理者用PC121のCPU201は、ステップS1505で指定された日におけるステップS1503で指定されたテレワーカの勤務時間を検索する。
例えば、ステップS1503でテレワーカAが指定され、ステップS1505で3月7日が指定された場合は、図18(A)においてユーザIDがテレワーカAであり、開始日時と終了日時のいずれかが3月7日のデータを検索する。
ステップS1507では、管理者用PC121のCPU201は、図18(B)に示すテーブルに登録されたデータから、S1503と同様に指定された日の作業時間を検索する。
ステップS1508では、管理者用PC121のCPU201は、ステップS1505で指定された日におけるステップS1503で指定したテレワーカの在席時間・離席時間を検索する。
例えば、ステップS1503でテレワーカAが指定され、ステップS1505で3月7日が指定された場合は、図18(C)においてユーザIDがテレワーカAであり、開始日時と終了日時のいずれかが3月7日のデータを検索する。この際、コメントが登録されている場合は、当該コメントも取得する。
ステップS1509では、管理者用PC121のCPU201は、ステップS1506で検索されたデータから、当該指定された日における総勤務時間を算出する。具体的には、検索されたデータ毎に開始日時から終了日時までの時間を算出し、検索されたデータ全ての合計値を算出する。なお、開始日時と終了日時の日付が異なる場合は、指定された日における勤務時間として午前0時から終了日時まで、または開始日時から午後12時までの時間を算出する。
ステップS1510では、管理者用PC121のCPU201は、ステップS1508で検索された在席・離席時間から、当該指定された日における総在席時間・総離席時間を算出する。具体的には、検索されたデータ毎に開始日時から終了日時までの時間を算出し、検索されたデータ全ての合計値を在席状態・離席状態それぞれ算出する。
ステップS1511では、管理者用PC121のCPU201は、ステップS1510で算出した総在席時間・総離席時間のうち、勤務時間中における総在席時間・総離席時間を算出する。
具体的には、図18(A)における開始日時から終了日時と、図18(C)における開始日時から終了日時とが重なる時間の合計値を算出する。算出された値には、図18(D)に示すデータにより管理サーバ101において管理される。
ステップS1512では、管理者用PC121のCPU201は、図18(B)のデータを集計することで、各ユーザの各日の作業時間を集計する。
そして、処理をステップS1504に戻す。
ステップS1501で受け付けた表示対象テレワーカの全員について、指定された全期間の勤務状況について検索・集計処理が終了すると(ステップS1502:TRUE)、処理をステップS1513の処理に移行する。
ステップS1513では、管理者用PC121のCPU201は、ステップS1506~S1512で検索されたデータおよび算出された値に基づき、テレワーカの勤務状態をディスプレイ212に表示する。
集計結果の表示画面については、図16を用いて説明する。
図16は、管理者用PC121のディスプレイ212に表示される画面の一例である。
図16に示す画面は、テレワーカAの3月7日~3月11日の勤務状況を示している。
図16において、斜線で示した領域(例えば701など)は、勤務時間中の時間帯を示している。
勤務時間と並べて、在席中の時間帯(縦線で示した領域。例えば702など。)を表示する。また、離席中の時間帯(薄墨色で示した領域。例えば703など。)も勤務時間と並べて表示する。
さらに作業中の時間帯(縦線で示した領域。例えば1601など。)を表示する。不図示であるが、作業中の時間帯に、いずれの作業をしていたのか(作業内容)が認識できるように表示しても良い。当該作業内容は、図18(B)に示すデータテーブルに登録された作業IDに基づき特定可能である。
図16の例では、3月7日は、9時から12時と13時から17時30分が勤務時間であり、午前中に1回、午後に3回、12時から13時の間にそれぞれ離席していることを示している。
このように、テレワーカにより申告された勤務中の時間帯を示す情報と、撮影された映像から解析した在席・離席していた時間帯を示す情報とを比較可能に表示することで、管理者は勤務時間中と勤務時間外それぞれにおけるテレワーカの在席・離席状況を把握することが可能になるため、適切な労務管理が可能となる。
703に示す数値は、3月7日における総勤務時間が7.5時間であったことを示している。
704に示す数値は、3月7日の総在席時間と、勤務時間中における在席時間を示している。3月7日はいずれも6.5時間である。3月10日は、総在席時間が8.5時間であり、勤務時間中における在席時間は6.5時間であったことを示している。
このように総在席時間と勤務時間中における在席時間とを表示することで、勤務時間外に2時間在席していたことや、休憩等を除いた実質的な勤務時間(勤務中かつ在席の時間)を認識することができる。
705に示す数値は、3月7日における総離席時間と、勤務時間中における離席時間とを示している。3月7日においては、総離席時間が2時間であり、勤務時間中における離席時間が1時間であったこと(すなわち勤務時間外に1時間離席していたこと)を認識することができる。
なお、3月7日において、17時30分以降の記録がないのは、17時30分の時点でステップS301でTRUEと判断されたためである。
707は、図18に示すコメント項目にデータが登録されている場合に表示されるコメントであり、勤務時間中に所定時間以上離席していた理由である。
708は、図18に示すコメント項目にデータが登録されている場合に表示されるコメントであり、勤務時間外に所定時間以上在席していた理由である。
1602に示す数値は、3月7日の総作業時間を示す数値である。図16の例では、6時間となっている。
このように、勤務状況を表示する領域にコメントを表示することで、管理者は、不適切な勤務状況が発生した理由を一目で確認することができるため、適切な労務管理が可能となる。
また、コメント内容やコメントの有無を確認することにより、不適切な勤務を行ったテレワーカに対して理由を問い合わせることも可能となる。
図17は、テレワーカA、テレワーカB、テレワーカCの当日の勤務状況を表示した画面であり、管理者用PC121のディスプレイ212に表示される画面である。
図17の例では、テレワーカAは現在在席中(801)、テレワーカBは現在離席中(802)、テレワーカCは現在勤務時間外(803)であることを示している。
また、テレワーカAは作業中であることを示している。
テレワーカAについては、勤務時間中に所定時間以上離席していた時間帯があるため、その理由が登録されている場合には、当該時間帯を示す領域が選択されることで、当該理由が表示される(804)。
このように、複数のテレワーカの勤務状況と作業中か否かをリアルタイムで表示することで、同じ部署のメンバーがそれぞれどのような状況にあるのかを一目で把握することが可能となる。
図17の画面は、各テレワーカが用いるテレワーカ用PC111のディスプレイ212に表示されても良い。各テレワーカは、図17の画面を見ることで他のテレワーカの勤務状況を確認することができるため、他のテレワーカに連絡を取りたいといった場合にも、連絡を取れる状況にあるのか、離席していたり勤務時間外で連絡を取れない状況なのかを把握することが可能となる。これにより、テレワーカ間でのコミュニケーションが円滑となり、業務の効率化を図ることが可能となる。
また、本発明におけるプログラムは、図3~図6、図13~図15の処理をコンピュータに実行させるプログラムである。なお、本発明におけるプログラムは、図3~図6、図13~図15の各処理ごとのプログラムであってもよい。
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムを読み出し、実行することによっても本発明の目的が達成されることは言うまでもない。
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記録した記録媒体は本発明を構成することになる。
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD-ROM、CD-R、DVD-ROM、磁気テープ、不揮発性のメモリカード、ROM、EEPROM、シリコンディスク等を用いることが出来る。
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
また、本発明は、複数の機器から構成されるシステムに適用しても、ひとつの機器から成る装置に適用しても良い。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。