説明

情報処理装置およびシステム

【課題】
アプリケーションがエラーで中途終了した場合には、中途終了前後での処理の連続性を保って処理を再開することが出来ない。
【解決手段】
アプリケーションを実行する制御部と、前記アプリケーションにより生成されるデータを記録する記録部と、を備える情報処理装置において、記録部は、アプリケーションが処理を実行する度にアプリケーションの実行結果を示すデータを記録し、制御部は、アプリケーションが中途終了した後アプリケーションを再起動した場合には、記録部に記録されたアプリケーションの実行結果を示すデータを参照してアプリケーションの再開ポイントを決定し、アプリケーションが中途終了するまでに生成されたデータを用いて処理を再開する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置およびシステムに関し、特に、アプリケーションの再開時の技術に関する。
【背景技術】
【0002】
特許文献1には、リカバリ・リスタート機能を備えたバッチ処理システムとして、業務データベースに対するバッチジョブの中途終了後の再開始を、中途終了前後で処理の連続性を確保するシステムが記載されている。中途終了後の再開始時に、チェックポイントデータベースに記録されているジョブ進行管理情報に基づいてジョブを開始することでこれを実現している。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2003−85021号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記特許文献1に記載のシステムでは、システムは業務データベースの他にチェックポイントデータベースに処理の経過を登録しなくてはならないため、業務データベースとチェックポイントデータベースの間で一定間隔で処理の進捗を同期させている。
【0005】
しかしながら、特許文献1記載の技術では両者の同期を取ることが出来ない場合がある。例えば、当該一定間隔の同期タイミングの間にエラーが発生して強制終了したような場合には、チェックポイントデータベースには、強制終了の時点からみて1つ前の時点でのチェックポイントが記録された状態となる一方、アプリケーションの処理結果を記録する業務データベースには、当該1つ前のチェックポイント以降の処理結果が記録され、両者の間で整合性を取ることができない。このような状態で処理を再開した場合には、間違った処理結果を生ずるおそれがある。 また、複数のクライアントでアプリケーションを実行し、その処理結果をサーバのデータベースで一括して記録するようなシステムにおいては、複数のクライアントから整合性の取れた処理結果と整合性の取れない処理結果がサーバのデータベースに混在することになるためこの問題が更に顕在化する可能性もある。
【0006】
本発明は、上記に鑑み、中途終了前後での処理の連続性を保って処理を再開することを目的とする。
【課題を解決するための手段】
【0007】
本発明は以下の構成を備える。即ち、アプリケーションを実行する制御部と、アプリケーションにより生成されるデータを記録する記録部と、を備える情報処理装置において、記録部は、アプリケーションが処理を実行する度にアプリケーションの実行結果を示すデータを記録し、制御部は、アプリケーションが中途終了した後アプリケーションを再起動した場合には、記録部に記録されたアプリケーションの実行結果を示すデータを参照してアプリケーションの再開ポイントを決定し、アプリケーションが中途終了するまでに生成されたデータを用いて処理を再開する。
【発明の効果】
【0008】
本発明によれば、中途終了前後での処理の連続性を保って処理を再開することができる。
【図面の簡単な説明】
【0009】
【図1】第一の実施形態におけるシステムの構成図。
【図2】業務データベースの具体例を示す構成図。
【図3】システムの業務ファイル群の具体例を示す構成図。
【図4】第一の実施形態における、システムの状態判定を基に業務アプリケーションを実行する処理フロー図。
【図5】第一の実施形態における、システムの状態から処理の進捗度を調査する処理フロー図。
【図6】第一の実施形態における、アプリケーションの実行の処理フロー図。
【図7】第一の実施形態における、処理の進捗と次の操作の指示を示すメニュー表示画面。
【図8】第二の実施形態におけるサーバシステムとクライアントシステムの構成図
【図9】サーバシステムのマスタデータベースの具体例を示す構成図。
【図10】クライアントシステムのクライアント業務データベースの具体例を示す構成図。
【図11】クライアントシステムの業務ファイル群の具体例を示す構成図。
【図12】サーバシステムの履歴データベースの具体例を示す構成図。
【図13】第二の実施形態における、システムの状態判定を基に業務アプリケーションを実行する処理フロー図。
【図14】第二の実施の形態における、システムの状態から処理の進捗度を調査する処理フロー図。
【図15】第二の実施の形態における、アプリケーションの実行の処理フロー図。
【図16】クライアントシステムがサーバシステムからマスタデータを取得する処理フロー図。
【図17】クライアントシステムがサーバシステムに履歴データを登録する処理フロー図。
【図18】第二の実施形態における、処理の進捗と次の操作の指示を示すメニュー表示画面。
【発明を実施するための形態】
【0010】
本発明の実施形態においては、例えば、アプリケーション実行中にエラーが発生するなどして中途終了した後に処理を再開する場合に、業務データベースや業務ファイルに反映されたアプリケーションの処理内容や実行結果を参照することにより、中途終了前後での処理の連続性を保って処理を再開することができる。即ち、実行結果が、業務データベースや業務ファイルにどのように反映されたのかを検索し、それを基にシステムの状態を判定することで、アプリケーションの処理がどこまで進んだか、その進捗度を測定することが可能となる。これが可能となる前提として、アプリケーションの処理が実行されると、その実行結果が業務データベースや業務ファイルに反映されるものとする。ここでいうアプリケーションの処理とは、プロセス単位、スレッド単位、処理内容などに応じて区切られた各処理、アプリケーションの一部または全体の処理等を言う。
【0011】
なお、中途終了というときは、例えば、アプリケーション実行中にエラーが発生するなどして異常終了した場合や、ユーザ動作その他の要因によりアプリケーションが強制終了した場合など、アプリケーションが予期せぬ形で終了した場合を指すものとする。
【実施例1】
【0012】
本発明の一実施形態を図1乃至図7を用いて説明する。本実施の形態においては、ユーザによる業務アプリケーションの立ち上げから業務アプリケーションの終了までにシステムが行う処理方法を想定する。業務アプリケーション立ち上げ時に、システムの状態を判定し、業務アプリケーションがどこまで操作され、ユーザが次に何を操作すれば良いのか、その進捗度をメニューに表示するものである。ただし、これにより本発明が限定されるものではなく、システムがシステム自身の状態判定を行って処理を自動的に進めるようにしても良い。この場合には、進捗度をメニュー画面に表示したり、ユーザからの指示を待つ必要はない。
【0013】
図1は、本発明を実施するための最良の形態において、システムの状態判定を行い、操作の進捗度をメニュー表示するシステム100の一利用形態における構成図である。システム100は、業務名の一覧及び次の操作の指示を示したメニューを生成するメニュー生成部101と、業務アプリケーションの実行を行うアプリ実行部102と、次の操作の指示に必要なシステムの状態判定を行う状態判定部103を備える。なお、これらの機能部は、本実施形態のシステム100の有する機能を実現するプログラム104を構成することで実現できる。このプログラム104はシステムの適宜な記憶装置(メモリなど)105に格納されていて、演算装置たるCPUを含む制御部106が読み出して実行する。以下で説明する本実施形態の各動作処理や、各図のフローチャートで示される処理は、演算装置たるCPUを含む制御部106により適宜プログラムが読み出されて実行される。また、システム100は、ユーザからの入力とユーザへの出力を行う入出力部107と、業務アプリケーションの実行により更新される業務データベース108と、業務ファイル群109も備えている。
【0014】
次に、前記した業務データベース108、業務ファイル群109についてその詳細を説明する。
【0015】
図2に業務データベース108の例を示す。業務データベース108は、主テーブル200と、履歴テーブル210から構成される。主テーブル200は、システム100が業務アプリケーションを動作するために情報源として利用するテーブルで、主キーA201で構成される。主キーA201には業務アプリケーションが必要とする任意のデータ、例えば業務で扱う商品の商品IDなどを格納する。履歴テーブル210は、主キーB211と、属性212で構成される。主キーB211は履歴テーブル210のキーとなるカラムで、例えば商品を個別に識別するための個品IDなどを格納する。属性212は主キーB211で特定された個品の属性を示すもので、例えば商品の個品の状態(輸送開始、輸送終了など)を示す。
【0016】
図3に業務ファイル群109の例を示す。業務ファイル群109は、作業ファイル300から構成される。作業ファイル300は業務を行う際に生成・更新されるファイルで、例えば、商品の個品ID、個品の状態を示す。
【0017】
続いて、本実施の形態における処理動作について説明する。図4は、業務アプリケーションがエラーなどで強制終了されたような場合に、再度業務アプリケーションを再開した際の処理フローを示す。具体的には、業務アプリケーションを起動し、システムの状態を判定して、状態に従って次の操作の指示を示すメニューをユーザに表示し、ユーザの操作を受け付けて前記業務アプリケーションを実行し、前記業務アプリケーションが終了するまでの処理フローである。なお、ここではメニューをユーザに表示し、ユーザの操作を受け付けて業務アプリケーションを実行する例を示すが、ユーザの操作を受け付けることなく業務アプリケーションが自動的に処理を進める構成とすることも出来る。。本処理フローの制御は、演算装置たるCPUを含む制御部106がプログラムを読み出して行うものとする。
【0018】
処理S400では、ユーザがシステム100の入出力部107を操作し、業務アプリケーションを起動する。
【0019】
処理S401では、アプリ実行部102が業務アプリケーションの初期画面をポップアップで入出力部107に表示する。初期画面は、初期スタートボタンと再スタートボタンで構成される。ユーザは初期画面で、初期スタート、再スタートの何れかのボタンを選択して押下する。
【0020】
処理S402では、メニュー生成部101が処理S401で初期スタート、再スタートのどちらのボタンが押下されたのか判定する。初期スタートボタン押下の場合は処理S403に進み、再スタートボタン押下の場合は処理S404に進む。
【0021】
処理S403では、アプリ実行部102がシステムの状態を初期化する。システムの状態の初期化に際しては、業務データベース108、業務ファイル群109の初期化を行う。初期化の具体的な例としては、主テーブル200、履歴テーブル210の全レコードを削除し、作業ファイル300を削除する。処理S405に進む。
【0022】
処理S404では、状態判定部103が業務データベース108や業務ファイル群109を参照し、システムの状態を判定する。システムの状態を判定することで、業務アプリケーションの処理がどこまで進捗しているか調査できる。システムの状態に応じて、記憶装置105に業務アプリケーションの進捗度のパラメータを設定する。
【0023】
処理S405では、メニュー生成部101が業務アプリケーションの進捗度に応じたメニュー画面(図7参照)を生成する。記憶装置105に記憶されている進捗度のパラメータを基に、どこまで処理が終了し、どこから処理が未終了なのかを判定する。生成される前記メニュー画面には、処理が終了した項目に関しては「終了」の文字列を表示し、処理が実施されておらず終了していない項目に関しては、「未終了」の文字列を、入出力部107に表示する。
【0024】
処理S406では、アプリ実行部102がユーザからの操作を受け付け、業務アプリケーションを実行する。業務アプリケーションの実行中に、業務データベース108、業務ファイル群109を参照・更新し、ユーザの業務遂行を支援する。なお、アプリケーションの実行においては、新規に実行された場合以外は、処理進捗調査(処理S404)で記憶装置105に記憶された進捗度のパラメータに応じて、アプリケーションを途中から実行する。
【0025】
処理S407では、アプリ実行部102がユーザからの業務アプリケーションの操作終了の選択を入出力部107で受け付け、業務アプリケーションを終了する。
【0026】
次に、前記フローに含まれる処理のうち、処理S404について詳細フローを示して詳述する。処理S404での状態判定部103の詳細な処理フローを図5に示す。
【0027】
処理S500では、記憶装置105の業務アプリケーションの進捗度のパラメータを初期化する。具体的には、例えば、進捗度のパラメータを「業務処理開始」に変更する。
【0028】
処理S501では、業務データベース108の特定のテーブルにデータが存在するか検索する。例えば、主テーブル200の主キーA201の何れかのレコードにデータが存在するか検索する。データが存在すれば処理S502に進み、データが存在しなければ処理S503に進む。
【0029】
処理S502では、記憶装置105で保持されている業務アプリケーションの進捗度のパラメータを更新する。具体的には、処理S501でデータが存在していることが判明したので、1番目の業務の処理が終了していると判定して、進捗度のパラメータを「業務処理1終了」に更新する。
【0030】
処理S503では、業務データベース108の特定のテーブルの特定のカラムに、特定の文字列があるか検索する。例えば、履歴テーブル210の属性212の全てのレコードが「輸送開始」の文字列かどうか検索する。特定の文字列になっていれば、処理S504に進み、そうでなければ、処理S505に進む。
【0031】
処理S504では、記憶装置105で保持されている進捗度のパラメータを更新する。具体的には、処理S503でカラムの文字列が特定の文字列に一致していることが判明したので、2番目の業務の処理が終了していると判定して、進捗度のパラメータを「業務処理2終了」に更新する。
【0032】
処理S505では、業務ファイル群109に特定のファイルが存在するか検索する。例えば、作業ファイル300が存在するか検索する。特定のファイルが存在すれば処理S506に進み、特定のファイルが存在しなければ処理S507に進む。
【0033】
処理S506では、記憶装置105で保持されている進捗度のパラメータを更新する。具体的には、処理S505で特定のファイルが存在していることが判明したので、3番目の業務の処理が終了していると判定して、進捗度のパラメータを「業務処理3終了」に更新する。
【0034】
処理S507では、業務ファイル群109の特定のファイルに、特定の文字列があるか検索する。例えば、作業ファイル300の最初のカンマの後が「輸送終了」の文字列かどうか検索する。特定の文字列に一致していれば、処理S508に進み、そうでなければ、処理S404を終了する。
【0035】
処理S508では、記憶装置105で保持されている進捗度のパラメータを更新する。具体的には、処理S507でファイルの文字列が特定の文字列に一致していることが判明したので、4番目の業務の処理が終了していると判定して、進捗度のパラメータを「業務処理4終了」に更新する。処理S404を終了する。以上の一連の処理により、中途終了する前に業務アプリケーションにより実行された業務アプリケーションの進捗度が記録装置105に反映される。
【0036】
続いて、図4で述べたフローに含まれる処理のうち、処理S406について詳細フローを示して詳述する。処理S406でのアプリ実行部102の詳細な処理フローを図6に示す。
【0037】
処理S601で、ユーザの業務アプリケーションの操作が、業務データベース108の操作なのか、業務ファイル群109の操作なのか、判別する。判別は、ユーザからの指示を受けて判別処理を行っても良く、また、図4および図5で説明した処理進捗調査(S404)の結果に基づいて業務アプリケーションが自動的に判別処理を行っても良い。業務データベース108の操作の場合、処理S602に進み、業務ファイル群109の操作の場合、処理S603に進む。
【0038】
処理S602では、業務データベース108の任意のテーブルのレコードのカラムに値を書き込む。どのテーブルのレコードのカラムに値を入れるかは、業務に依存する。例えば、輸送開始業務であれば、履歴テーブル210の主キーB211に、輸送業務の対象となる商品の個品IDを書き込み、属性212に「輸送開始」という文字列を書き込む。処理S605に進む。
【0039】
処理S603では、業務ファイル群109に任意のファイルを作成する。どのファイルを作成するかは、業務に依存する。例えば、輸送終了業務であれば、作業ファイル300を作成する。
【0040】
処理S604では、処理S603で作成された前記ファイルに任意のデータを書き込む。どのようなデータを書き込むのか、データの書き込み方法はファイルへの追記か上書きかは、業務に依存する。例えば、輸送終了業務であれば、作業ファイル300に、商品の個品ID・商品の状態「FFC00000 8CF31906 , 輸送終了」を上書きする。
【0041】
処理S605では、業務処理が全て終わったかどうか判定する。業務処理が全て終わっておらず、残りがある場合は、処理S601に戻る。業務処理が全て終わり、残りがない場合は、処理S406を終了する。
【0042】
なお、処理S406でのアプリケーションの実行においては、新規に実行された場合以外は、図4および図5で説明した処理進捗調査(処理S404)で記憶装置105に記憶された進捗度のパラメータに応じて、アプリケーションを途中から実行する。例えば、処理S404で、進捗度のパラメータが「業務処理開始」であれば処理S601から実行するものとし、進捗度のパラメータが「業務処理1終了」であれば処理S602から実行するものとし、進捗度のパラメータが「業務処理2終了」であれば処理S603から実行するものとし、進捗度のパラメータが「業務処理3終了」であれば処理S604から実行するものとし、進捗度のパラメータが「業務処理4終了」であれば処理S605から実行するものとする。つまり、進捗度のパラメータが、アプリケーションの再開のためのポイント(再開ポイント)となる。
【0043】
処理S405で生成・表示するメニュー画面は、例えば図7に示す画面となる。図7のメニュー画面は、業務名701と、進捗状況702で構成される。業務名701は、業務のメニュー一覧を示し、ユーザは上から順に業務名を選択して、業務を遂行していく。進捗状況702は、業務の進捗度を示し、業務名701の業務が終了したものには「終了」と表示し、未実施で終了していないものに関しては「未終了」と表示する。
【0044】
以上のように、実施例1によれば、中途終了前後での処理の連続性を保って処理を再開することができる。
【実施例2】
【0045】
本発明の第2の実施形態を図8乃至図18を用いて説明する。
【0046】
図8は、業務アプリケーションを実行するクライアントシステム800と、クライアントシステムとデータを同期するサーバシステム850で実現するものであり、その構成図を示したものである。サーバシステム850では、業務のマスタデータ(商品情報、業務スケジュールなど)を管理し、クライアントシステム800がマスタデータをダウンロードして業務アプリケーションに利用する。業務アプリケーションは商品の輸送を管理するアプリケーションで、商品や商品を入れる容器に貼付されたRFタグを読み取り、輸送の履歴を残す。輸送の履歴は、輸送が終了した後に、クライアントシステム800からサーバシステム850にアップロードされ、履歴情報としてサーバシステム850に格納される。なお、説明を簡単にするため、ここではクライアントシステム800を1つにしているが、複数のクライアントシステム800は複数存在し、それぞれがサーバシステム800にネットワークを介して接続されるようにしても良い。
【0047】
クライアントシステム800は、RFタグの読み取りを行うRFタグ読取部801と、業務名の一覧及び次の操作の指示を示したメニューを生成するメニュー生成部802と、業務アプリケーションの実行を行うアプリ実行部803と、次の操作の指示に必要なシステムの状態判定を行う状態判定部804を備える。ここで、RFタグ読取部801は、商品の個品820に貼付されたRFタグ821や、複数の個品820を纏めて格納する容器830に貼付されたRFタグ831に格納されたユニークな識別番号などを読み取るものである。なお、これらの機能部は、本実施形態のクライアントシステム800の有する機能を実現するプログラム805を構成するものとできる。このプログラム805はシステムの適宜な記憶装置(メモリなど)806に格納されていて、演算装置たるCPUを含む制御部807が読み出して実行する。以下で説明する本実施形態の各動作処理や、各図のフローチャートで示される処理は、演算装置たるCPUを含む制御部807により適宜プログラムが読み出されて実行される。また、クライアントシステム800は、サーバシステム850と通信回線840を介して通信を行う通信部808と、ユーザからの入力とユーザへの出力を行う入出力部809と、業務アプリケーションの実行により更新されるクライアント業務データベース810と、業務ファイル群811も備えている。
【0048】
一方、サーバシステム850は、クライアントからのアクセス制御を行う認証部851と、マスタデータベース858からマスタ情報を抽出してクライアントに送信するデータ抽出部852と、クライアントから履歴情報を受信し履歴データベース859に登録するデータ登録部853を備える。なお、これらの機能部は、本実施形態のサーバシステム850の有する機能を実現するプログラム854を構成するものとできる。このプログラム854はシステムの適宜な記憶装置(メモリなど)855に格納されていて、演算装置たるCPUを含む制御部856が読み出して実行する。以下で説明する本実施形態の各動作処理や、各図のフローチャートで示される処理は、演算装置たるCPUを含む制御部856により適宜プログラムが読み出されて実行される。また、サーバシステム850は、クライアントシステム800と通信回線840を介して通信を行う通信部857と、業務のマスタ情報を格納するマスタデータベース858と、業務の履歴情報を格納する履歴データベース859も備えている。
【0049】
次に、前記したマスタデータベース858、クライアント業務データベース810、業務ファイル群811、履歴データベース859についてその詳細を説明する。
【0050】
図9にマスタデータベース858の例を示す。マスタデータベース858は、輸送スケジュールテーブル900から構成される。
【0051】
輸送スケジュールテーブル900は、サーバシステム850に輸送スケジュールを格納するためのテーブルで、商品ID901と、個数902と、輸送開始施設903と、輸送開始予定時刻904と、輸送終了施設905と、輸送終了予定時刻906で構成される。商品ID901は、輸送業務で取り扱う商品のIDを示す。個数902は、商品ID901の個数を示す。輸送開始施設903は、商品ID901が輸送される際の輸送の開始地点を示す。輸送開始予定時刻904は、商品ID901が輸送される際の輸送の開始時刻(予定)を示す。輸送終了施設905は、商品ID901が輸送される際の輸送の終了地点を示す。輸送終了予定時刻906は、商品ID901が輸送される際の輸送の終了時刻(予定)を示す。
【0052】
図10にクライアント業務データベース810の例を示す。クライアント業務データベース810は、輸送スケジュールテーブル1000と、容器−個品紐付テーブル1010と、輸送実績テーブル1020から構成される。
【0053】
輸送スケジュールテーブル1000は、クライアントシステム800がサーバシステム850から取得した輸送スケジュールを格納するテーブルで、商品ID1001と、個数1002と、輸送開始施設1003と、輸送開始予定時刻1004と、輸送終了施設1005と、輸送終了予定時刻1006で構成される。商品ID1001は、輸送業務で取り扱う商品のIDを示す。個数1002は、商品ID1001の個数を示す。輸送開始施設1003は、商品ID1001が輸送される際の輸送の開始地点を示す。輸送開始予定時刻1004は、商品ID1001が輸送される際の輸送の開始時刻(予定)を示す。輸送終了施設1005は、商品ID1001が輸送される際の輸送の終了地点を示す。輸送終了予定時刻1006は、商品ID1001が輸送される際の輸送の終了時刻(予定)を示す。
【0054】
容器−個品紐付テーブル1010は、商品の個品820の容器830への格納状況を保持するテーブルで、個品ID1011と、容器ID1012で構成される。個品ID1011は、個品820のRFタグ821に格納されたユニークな識別番号である。また、容器ID1012は、容器830のRFタグ831に格納されたユニークな識別番号である。
【0055】
輸送実績テーブル1020は、輸送業務の履歴情報を格納するテーブルで、個品ID1021と、ステータス1022、輸送開始時刻1023、輸送終了時刻1024で構成される。個品ID1021は、輸送で扱った商品の個品820を示す。個品IDには、輸送業務の作業時にRFタグ読取部801が読み取った容器830のRFタグ831の識別番号を基に、容器−個品紐付テーブル1010を検索して、容器ID1012に紐付いた個品ID1011の値を格納する。ステータス1022は、個品820が輸送業務でどのような状態か(輸送開始か、輸送終了か)を示す。ステータス1022は、前記輸送業務の作業によって容器830に入っている個品820の状態がどのように変化したかを示すもので、輸送開始の作業であれば「輸送開始」を記入し、輸送終了の作業であれば「輸送終了」を記入する。輸送開始時刻1023は、RFタグ831が読み取られ、ステータス1022に「輸送開始」と格納された時刻を記入する。輸送終了時刻1024は、RFタグ831が読み取られ、ステータス1022に「輸送終了」と格納された時刻を記入する。
【0056】
図11に業務ファイル群811の例を示す。業務ファイル群811は、送信ファイル1100から構成される。送信ファイル1100は、輸送業務を行う際の作業の履歴を記録したファイルで、各行は、例えば、個品ID1101、ステータス1102、輸送開始時刻1103、輸送終了時刻1104で構成される。個品ID1101は、輸送で扱った商品の個品820を示し、輸送実績テーブル1020の個品ID1021の値をコピーして作成する。ステータス1102は個品820がどのような状態か(輸送開始か、輸送終了か)を示し、ステータス1022の値をコピーして作成する。輸送開始時刻1103は、個品820の輸送開始の時刻を示し、輸送開始時刻1023の値をコピーして作成する。輸送終了時刻1104は、個品820の輸送終了の時刻を示し、輸送終了時刻1024の値をコピーして作成する。送信ファイル1100は、クライアントシステム800からサーバシステム850に向けて作業履歴を送信するために、アプリ実行部803によって作成される。
【0057】
図12に履歴データベース859の例を示す。履歴データベース859は、輸送実績テーブル1220から構成される。
【0058】
輸送実績テーブル1220は、輸送業務の履歴情報を格納するテーブルで、個品ID1221と、ステータス1222、輸送開始時刻1223、輸送終了時刻1224で構成される。個品ID1221は、輸送で扱った商品の個品820を示す。ステータス1222は、個品820が輸送業務でどのような状態か(輸送開始か、輸送終了か)を示す。輸送開始時刻1223は、個品820の輸送開始の時刻を示す。輸送終了時刻1224は、個品820の輸送終了の時刻を示す。
【0059】
続いて、本実施の形態における処理動作について説明する。図13は、業務アプリケーションがエラーなどで強制終了されたような場合に、再度業務アプリケーションを再開した際の処理フローを示す。具体的には、輸送業務の業務アプリケーションを起動し、システムの状態を判定して、状態に従って次の操作の指示を示すメニューをユーザに表示し、ユーザの操作を受け付けて前記業務アプリケーションを実行し、前記業務アプリケーションが終了するまでの処理フローである。なお、ここではメニューをユーザに表示し、ユーザの操作を受け付けて業務アプリケーションを実行する例を示すが、ユーザの操作を受け付けることなく業務アプリケーションが自動的に処理を進める構成とすることも出来る。本処理フローの制御は制御部807が行うものとする。ただし、処理S1306に関しては、制御部807と制御部856が協調して行うものとする。
【0060】
処理S1300では、ユーザがクライアントシステム800の入出力部809を操作し、業務アプリケーションを起動する。
【0061】
処理S1301では、アプリ実行部803が業務アプリケーションの初期画面をポップアップで入出力部809に表示する。初期画面は、初期スタートボタンと再スタートボタンで構成される。ユーザは初期画面で、初期スタート、再スタートの何れかのボタンを選択して押下する。
【0062】
処理S1302では、メニュー生成部802が処理S1301で初期スタート、再スタートのどちらのボタンが押下されたのか判定する。初期スタートボタン押下の場合は処理S1303に進み、再スタートボタン押下の場合は処理S1304に進む。
【0063】
処理S1303では、アプリ実行部803がシステムの状態を初期化する。システムの状態の初期化に際しては、クライアント業務データベース810、業務ファイル群811の初期化を行う。初期化の具体的な例としては、輸送スケジュールテーブル1000、容器−個品紐付テーブル1010、輸送実績テーブル1020の全レコードを削除し、送信ファイル1100を削除する。処理S1305に進む。
【0064】
処理S1304では、状態判定部804がクライアント業務データベース810や業務ファイル群811を参照し、システムの状態を判定する。システムの状態を判定することで、業務アプリケーションの処理がどこまで進捗しているか調査できる。システムの状態に応じて、記憶装置806に業務アプリケーションの進捗度のパラメータを設定する。
【0065】
処理S1305では、メニュー生成部802が業務アプリケーションの進捗度に応じたメニュー画面(図18参照)を生成する。記憶装置806に記憶されている進捗度のパラメータを基に、どこまで処理が終了し、どこから処理が未終了なのかを判定する。生成される前記メニュー画面には、処理が終了した項目に関しては「終了」の文字列を表示し、処理が実施されておらず終了していない項目に関しては、「未終了」の文字列を、入出力部809に表示する。
【0066】
処理S1306では、アプリ実行部803がユーザからの操作を受け付け、業務アプリケーションを実行する。業務アプリケーションの実行中に、クライアント業務データベース810、業務ファイル群811を参照・更新し、ユーザの業務遂行を支援する。なお、アプリケーションの実行においては、新規に実行された場合以外は、処理進捗調査(処理S1304)で記憶装置806に記憶された進捗度のパラメータに応じて、アプリケーションを途中から実行する。また、サーバシステム850と通信し、マスタデータベース858からのデータ取得や、履歴データベース859へのデータ登録を行う。処理S1306でのクライアントシステム800とサーバシステム850との間で行われる具体的な処理は図15にて後述する。
【0067】
処理S1307では、アプリ実行部803がユーザからの業務アプリケーションの操作終了の選択を入出力部809で受け付け、業務アプリケーションを終了する。
【0068】
次に、前記フローに含まれる処理のうち、処理S1304について詳細フローを示して詳述する。処理S1304での状態判定部804の詳細な処理フローを図14に示す。
【0069】
処理S1400では、記憶装置806の輸送業務の業務アプリケーションの進捗度のパラメータを初期化する。具体的には、例えば、進捗度のパラメータを「業務処理開始」に変更する。
【0070】
処理S1401では、クライアント業務データベース810の特定のテーブルにデータが存在するか検索する。例えば、輸送スケジュールテーブル1000の何れかのレコードにデータ(商品ID1001、個数1002、輸送開始施設1003、輸送開始予定時刻1004、輸送終了施設1005、輸送終了予定時刻1006の何れかのデータ)が存在するか検索する。データが存在すれば処理S1402に進み、何れのレコードにもデータが存在しなければ処理S1403に進む。
【0071】
処理S1402では、記憶装置806で保持されている輸送業務の業務アプリケーションの進捗度のパラメータを更新する。具体的には、処理S1401でデータが存在していることが判明したので、1番目の業務「データダウンロード」の処理が終了していると判定して、進捗度のパラメータを「データダウンロードまで終了」に更新する。
【0072】
処理S1403では、クライアント業務データベース810の特定のテーブルにデータが存在するか検索する。例えば、容器−個品紐付テーブル1010の何れかのレコードにデータ(個品ID1011、容器ID1012の両方のデータ)が存在するか検索する。データが存在すれば処理S1404に進み、何れのレコードにもデータが存在しなければ処理S1405に進む。
【0073】
処理S1404では、記憶装置806で保持されている進捗度のパラメータを更新する。具体的には、処理S1403でデータが存在していることが判明したので、2番目の業務「紐付け」の処理が終了していると判定して、進捗度のパラメータを「紐付けまで終了」に更新する。
【0074】
処理S1405では、クライアント業務データベース810の特定のテーブルの特定のカラムに、特定の文字列があるか検索する。例えば、輸送実績テーブル1020のステータス1022の全てのレコードが「輸送終了」の文字列かどうか検索する。特定の文字列になっていれば、処理S1406に進み、そうでなければ、処理S1407に進む。
【0075】
処理S1406では、記憶装置806で保持されている進捗度のパラメータを更新する。具体的には、処理S1405でカラムの文字列が特定の文字列に一致していることが判明したので、3番目の業務「輸送終了」の処理が終了していると判定して、進捗度のパラメータを「輸送終了まで終了」に更新する。
【0076】
処理S1407では、業務ファイル群811に特定のファイルが存在するか検索する。例えば、送信ファイル1100が存在するか検索する。特定のファイルが存在すれば処理S1408に進み、特定のファイルが存在しなければ処理S1304を終了する。
【0077】
処理S1408では、記憶装置806で保持されている進捗度のパラメータを更新する。具体的には、処理S1407で特定のファイルが存在していることが判明したので、4番目の業務「データアップロード」の処理が終了していると判定して、進捗度のパラメータを「データアップロードまで終了」に更新する。処理S1304を終了する。
【0078】
以上の一連の処理により、中途終了する前に業務アプリケーションにより実行された業務アプリケーションの進捗度が記録装置806に反映される。
【0079】
続いて、図13で述べたフローに含まれる処理のうち、処理S1306について詳細フローを示して詳述する。処理S1306でのアプリ実行部803の詳細な処理フローを図15に示す。なお、処理S1507は、アプリ実行部803の処理フローではなく、サーバシステム850の処理フローである。
【0080】
処理S1501では、アプリ実行部803が通信部808を介して、サーバシステム850からマスタデータを取得する。具体的には、マスタデータベース858の輸送スケジュール900を取得する。
【0081】
処理S1502では、処理S1501で取得したマスタデータをクライアント業務データベース810に格納する。具体的には、輸送スケジュールをクライアント業務データベース810の輸送スケジュールテーブル1000に格納する。格納の際には、サーバシステム850のマスタデータベース858の輸送スケジュール900の商品ID901を輸送スケジュールテーブル1000の商品ID1001に格納し、個数902を個数1002に格納し、輸送開始施設903を輸送開始施設1003に格納し、輸送開始予定時刻904を輸送開始予定時刻1004に格納し、輸送終了施設905を輸送終了施設1005に格納し、輸送終了予定時刻906を輸送終了予定時刻1006に格納する。
【0082】
処理S1503では、RFタグ読取部801が、商品の個品820のRFタグ821や、容器830のRFタグ831に書き込まれているユニークな識別番号を読み取る。
【0083】
処理S1504では、処理S1503で読み取ったデータを基に、クライアント業務データベース810のデータを更新する。具体的には、クライアント業務データベース810の容器−個品紐付テーブル1010の個品ID1011に、RFタグ821の識別番号を格納し、容器ID1012にRFタグ831の識別番号を格納し、個品820と容器830を紐付ける。また、前記RFタグ831の識別番号が、容器−個品紐付テーブル1010の容器ID1012と一致している個品ID1011を検索し、前記個品ID1011をクライアント業務データベース810の輸送実績テーブル1020の個品ID1021に格納するとともに、前記RFタグ831の読み取り作業が輸送開始か輸送終了かをユーザから入出力部809への入力として受け付ける。入力データが輸送開始ならば、ステータス1022に「輸送開始」と格納し、輸送開始時刻1023にその際の時刻を格納する。入力データが輸送終了ならば、ステータス1022に「輸送終了」と格納し、輸送終了時刻1024にその際の時刻を格納する。
【0084】
処理S1505では、クライアント業務データベース810を基に、送信ファイルを作成する。具体的には、クライアント業務データベース810の輸送実績テーブル1020を基に、業務ファイル群811の送信ファイル1100を作成する。送信ファイル1100の個品ID1101は輸送実績テーブル1020の個品ID1021に対応し、ステータス1102はステータス1022に対応し、輸送開始時刻1103は輸送開始時刻1023に対応し、輸送終了時刻1104は輸送終了時刻1024に対応する。
【0085】
処理S1506では、通信部808を介して送信ファイル1100をサーバシステム850に送信する。
【0086】
処理S1507では、サーバシステム850が、クライアントシステム800から取得した送信ファイル1100を、履歴データとして履歴データベース859に登録する。具体的には、履歴データベース859の輸送実績テーブル1220に登録する。
【0087】
なお、図示はしていないが、本処理フロー(S1306の処理フロー)ではS1501の処理を開始する前に、図13の処理進捗調査(S1304)の結果に基づいて、どのステップから処理を開始するかを判定する。例えば、業務アプリケーションの処理が、マスタデータベースから必要なデータのダウンロードまで終了していると判定されたときは、S1501−1502を省略してS1503から処理が開始される。また、RFタグ情報のデータのクライアント業務データベースへの反映まで終了していると判定されたときは、S1501−1504を省略し、S1505から処理が開始される。また、マスタデータベースへデータのアップロードまで終了していると判定されたときは、S1507まで処理が終了していることになるので、そのまま本処理フロー(S1306の処理フロー)を終了するものとする。つまり、処理進捗調査(S1304)の結果(進捗度のパラメータ)が、アプリケーションの再開のためのポイント(再開ポイント)となる。
【0088】
続いて、図15で述べたフローに含まれる処理のうち、処理S1501について詳細フローを示して詳述する。処理S1501でのクライアントシステム800のアプリ実行部803、サーバシステム850の認証部851、データ抽出部852の詳細な処理フローを図16に示す。
【0089】
処理S1601では、アプリ実行部803が通信部808から通信回線840を介してサーバシステム850の通信部857にアクセスする。
【0090】
処理S1602では、認証部851が、通信部857へのアクセスに関して認証を行う。
【0091】
処理S1603では、データ抽出部852が、マスタデータベース858からマスタデータを取得する。具体的には、マスタデータベース858の輸送スケジュールテーブル900から、商品ID901、個数902、輸送開始施設903、輸送開始予定時刻904、輸送終了施設905、輸送終了予定時刻906を抽出する。
【0092】
処理S1604では、データ抽出部852が通信部857から通信回線840を介してクライアントシステム800の通信部808に、マスタデータを送信する。
【0093】
処理S1605では、アプリ実行部803が、通信部808で受け取ったマスタデータを取得する。
【0094】
続いて、図15で述べたフローに含まれる処理のうち、処理S1507について詳細フローを示して詳述する。処理S1507でのクライアントシステム800のアプリ実行部803、サーバシステム850の認証部851、データ登録部853の詳細な処理フローを図17に示す。
【0095】
処理S1701では、アプリ実行部803が通信部808から通信回線840を介してサーバシステム850の通信部857にアクセスする。
【0096】
処理S1702では、認証部851が、通信部857へのアクセスに関して認証を行う。
【0097】
処理S1703では、データ登録部853が、通信部857で受け取った送信ファイル1100を取得する。
【0098】
処理S1704では、データ登録部853が、送信ファイル1100を履歴データベース859の輸送実績テーブル1220に登録する。具体的には、送信ファイル1100の個品ID1101が輸送実績テーブル1220の個品ID1221に対応し、ステータス1102がステータス1222に対応し、輸送開始時刻1103が輸送開始時刻1223に対応し、輸送終了時刻1104が輸送終了時刻1224に対応する。
【0099】
処理S1305で生成・表示するメニュー画面は、例えば図18に示す画面となる。図18のメニュー画面は、業務名1801と、進捗状況1802で構成される。業務名1801は、業務のメニュー一覧を示し、ユーザは上から順に業務名を選択して、業務を遂行していく。進捗状況1802は、業務の進捗度を示し、業務名1801の業務が終了したものには「終了」と表示し、未実施で終了していないものに関しては「未終了」と表示する。
【0100】
以上のように、実施例2によれば、中途終了前後での処理の連続性を保って処理を再開することができる。これはクライアントシステム800が複数存在し、それぞれのクライアントでアプリケーションを実行し、その処理結果をサーバシステム850の履歴データベース859で一括して管理するようなシステムにおいて特に有用である。
【符号の説明】
【0101】
100 システム
101 メニュー生成部
102 アプリ実行部
103 状態判定部
104 プログラム
105 記憶装置
106 制御部
107 入出力部
108 業務データベース
109 業務ファイル群
800 クライアントシステム
801 RFタグ読取部
802 メニュー生成部
803 アプリ実行部
804 状態判定部
805 プログラム
806 記憶装置
807 制御部
808 通信部
809 入出力部
810 クライアント業務データベース
811 業務ファイル群
820 商品の個品
821 (個品の)RFタグ
830 容器
831 (容器の)RFタグ
840 通信回線
850 サーバシステム
851 認証部
852 データ抽出部
853 データ登録部
854 プログラム
855 記憶装置
856 制御部
857 通信部
858 マスタデータベース
859 履歴データベース

【特許請求の範囲】
【請求項1】
アプリケーションを実行する制御部と、前記アプリケーションにより生成されるデータを記録する記録部と、を備える情報処理装置において、
前記記録部は、前記アプリケーションが処理を実行する度に前記アプリケーションの実行結果を示すデータを記録し、
前記制御部は、前記アプリケーションが中途終了した後前記アプリケーションを再起動した場合には、前記記録部に記録されたアプリケーションの実行結果を示すデータを参照して前記アプリケーションの再開ポイントを決定し、前記アプリケーションが中途終了するまでに生成されたデータを用いて処理を再開することを特徴とする情報処理装置。
【請求項2】
請求項1記載の情報処理装置において、
前記記録部は、前記アプリケーションが処理を実行する度に、前記アプリケーションの実行結果を示すデータとして、前記アプリケーションの処理対象物の個品IDおよび個品状態を組として記録し、
前記制御部は、前記記録部に記録された前記アプリケーションの処理対象物の個品IDおよび個品状態を参照して前記アプリケーションの再開ポイントを決定することを特徴とする情報処理装置。
【請求項3】
請求項2記載の情報処理装置において、
前記個品状態は、前記アプリケーションの前記個品に対する進捗状況を示す情報であることを特徴とする情報処理装置。
【請求項4】
請求項1から3の何れか記載の情報処理装置において、
前記制御部は、前記アプリケーションの前記個品に対する進捗状況を示す情報を表示部に出力することを特徴とする情報処理装置。
【請求項5】
アプリケーションを実行する制御部と、前記アプリケーションにより生成されるデータを記録する記録部と、ユーザからの入力を受け付ける入力部と、を備える情報処理装置において、
前記記録部は、前記アプリケーションが処理を実行する度に前記アプリケーションの実行結果を示すデータを記録し、
前記制御部は、前記アプリケーションが中途終了した後前記アプリケーションを再起動した場合には、前記記録部に記録されたアプリケーションの実行結果を示すデータを表示部に出力し、前記入力部からユーザにより入力された情報に基づいて、前記アプリケーションを中途終了時点から再開するか、前記アプリケーションを初期時点から再開するかを決定することを特徴とする情報処理装置。
【請求項6】
請求項5記載の情報処理装置において、
前記制御部は、前記アプリケーションを中途終了時点から再開する場合には、前記アプリケーションが中途終了するまでに生成されたデータを用いて処理を再開することを特徴とする情報処理装置。
【請求項7】
請求項6記載の情報処理装置において、
前記記録部は、前記アプリケーションが処理を実行する度に、前記アプリケーションの実行結果を示すデータとして、前記アプリケーションの処理対象物の個品IDおよび個品状態を組として記録し、
前記制御部は、前記アプリケーションを中途終了時点から再開する場合には、前記記録部に記録された前記アプリケーションの処理対象物の個品IDおよび個品状態を参照して前記アプリケーションの再開ポイントを決定することを特徴とする情報処理装置。
【請求項8】
請求項7記載の情報処理装置において、
前記個品状態は、前記アプリケーションの前記個品に対する進捗状況を示す情報であることを特徴とする情報処理装置。
【請求項9】
情報処理装置および前記情報処理装置とネットワークを介して接続されたサーバを含むシステムにおいて、
前記情報処理装置は、アプリケーションを実行する制御部、前記アプリケーションにより生成されるデータを記録する記録部および前記サーバとネットワークを介してデータを送受信する通信部を備え、
前記サーバは、前記情報処理装置とネットワークを介してデータを送受信する通信部および前記情報処理装置から受信したデータを記録する記録部を備え、
前記情報処理装置の記録部は、前記アプリケーションが処理を実行する度に前記アプリケーションの実行結果を示すデータを記録し、
前記制御部は、前記アプリケーションが中途終了した後前記アプリケーションを再起動した場合には、前記記録部に記録されたアプリケーションの実行結果を示すデータを参照して前記アプリケーションの再開ポイントを決定し、前記アプリケーションが中途終了するまでに生成されたデータを用いて処理を再開し、
前記情報処理装置の通信部は、前記アプリケーションの実行結果を示すデータを前記サーバに送信し、
前記サーバの通信部は、前記情報処理装置から前記アプリケーションの実行結果を示すデータを受信し、
前記サーバの記録部は、前記アプリケーションの実行結果を示すデータを記録することを特徴とするシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate


【公開番号】特開2011−107993(P2011−107993A)
【公開日】平成23年6月2日(2011.6.2)
【国際特許分類】
【出願番号】特願2009−262446(P2009−262446)
【出願日】平成21年11月18日(2009.11.18)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】