以下、情報処理システム等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態1)
図1は、本実施の形態における情報処理システム1のブロック図である。
情報処理システム1は、クライアント装置10およびサーバ装置50を備える。
クライアント装置10は、アプリケーション格納部101、処理対象情報格納部102、ユーザ認証情報受付部103、入力者管理情報格納部104、操作指示受付部105、処理判断部106、ユーザ認証情報送信部107、認証結果受信部108、処理対象情報送信部109、処理結果受信部110、アプリケーション実行部111、および出力部112を備える。
サーバ装置50は、ユーザ認証情報受信部501、認証判断情報格納部502、認証部503、認証結果送信部504、処理対象情報受信部505、処理実行部506、処理結果送信部507、を備える。
クライアント装置10とサーバ装置50とは、インターネットやLAN等のネットワークや通信回線等を介して、相互に通信可能に接続されている。クライアント装置10を利用するユーザは、個人であっても企業等の法人であっても良い。また、一のクライアント装置10を利用するユーザは一人であっても複数であっても良い。なお、ここでは、クライアント装置10が一つである場合を例に挙げて説明しているが、クライアント装置10は複数であっても良い。サーバ装置50についても同様である。
クライアント装置10は、主としてアプリケーションソフトウェアを利用するユーザが使用する装置である。クライアント装置10は、いわゆるSaaSやクラウドコンピューティング等においてクライアント装置10として機能するクライアント装置と考えても良い。クライアント装置10は、通常、例えばコンピュータ等で実現され得る。
アプリケーション格納部101は、アプリケ−ションソフトウェアが格納され得る。アプリケーションソフトウェアとは、予め指定された処理を行うためのソフトウェアである。アプリケーションソフトウェアは、例えば、コンピュータのユーザがコンピュータ上で実行したい作業を実施する機能を有するソフトウェアである。アプリケーション格納部101に格納されるアプリケーションソフトウェアは、具体的には、後述するアプリケーション実行部111で実行可能なソフトウェアである。
ここで述べるアプリケーションソフトウェアは、例えば、サーバ装置50のなんらかの機能や、サーバ装置50のソフトウェアと協働してユーザがコンピュータ上で実行したい作業を実施するソフトウェアであっても良い。ここで述べるアプリケーションソフトウェアは、例えば、所定の処理を行うためのサーバクライアント型のプログラムである。ここで述べるアプリケーションソフトウェアは、例えば、何らかの形態で、サーバ装置50との間で、データの授受を行ったり、サーバ装置50との間で、データ処理や、認証処理等の処理を分散処理可能なアプリケーションソフトウェアでもよい。サーバクライアント型のプログラムとは、例えば、クライアント装置から送信される要求に応じて、サーバ装置が所定の処理を行い、その処理結果をクライアント装置に返す処理を実現させるためのプログラムである。アプリケーションソフトウェアが、サーバクライアント型のプログラム等である場合、アプリケーション格納部101には、アプリケーションのうちの、クライアント装置10側で実行可能な部分だけが格納されているようにしても良い。
アプリケーションソフトウェア(以下、アプリケーションと称す)により実行される所定の処理は、どのような処理であっても良い。所定の処理は、例えば、企業等の主幹業務等に関する処理である。例えば、アプリケーションは、業務用途で利用されるソフトウェア(以下、ソフトと称す)である業務ソフトである。業務ソフトは、例えば、会計ソフトや、販売管理ソフト、給与管理ソフト、人事管理ソフト等である。会計ソフトは、例えば、会計に関連した処理を行うことが可能なソフトウェアである。例えば、会計ソフトは、金銭や物品の出納に関連したソフトであり、例えば金銭や企業活動に必要な物品の出納に関連した情報の、記録、計算、管理等を行うためのソフトである。また、会計ソフトは、管理会計ソフトや、財務会計ソフト等を含むと考えても良い。財務会計ソフトとは、例えば、財務諸表を中心とする会計情報を、株主、債権者、徴税当局などの企業外部の利害関係者に対して提供することを目的とした会計である。また、会計ソフトは、財務ソフト等を含むと考えても良い。財務ソフトとは、財務に関連した情報の記録、計算、管理等を行うためのソフトであり、例えば、資産、負債、損益、キャッシュフロー等の記録や、計算や、管理等を行うソフトである。販売管理ソフトとは、販売管理に関するソフトである。販売管理とは、いつ、どこで、誰が、誰に、何を、いくらで、どのように、何個販売したのか等を管理することで、具体的には売上管理、仕入管理、在庫管理、3つの業務のことを指す。
また、アプリケーションは、業務ソフト以外の、ワードプロセッサ等の、組織等で導入可能なソフトウェア等であっても良い。
アプリケーション格納部101にアプリケーションが記憶される過程は問わない。例えば、記録媒体を介してアプリケーションがアプリケーション格納部101で記憶されるようになってもよく、通信回線等を介して送信されたアプリケーションがアプリケーション格納部101で記憶されるようになってもよく、あるいは、入力デバイスを介して入力されたアプリケーションがアプリケーション格納部101で記憶されるようになってもよい。
アプリケーション格納部101は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
処理対象情報格納部102は、アプリケーションソフトウェアで処理される情報である処理対象情報が格納され得る。処理対象情報は、アプリケーション格納部101に格納されているアプリケーション等で処理可能な情報であれば、どのようなデータであっても良い。処理対象情報は、例えば帳票等のデータである。帳票とは、例えば、帳簿や伝票等のことである。帳簿は、例えば、取引等に関する事務上の必要事項を記入したもの、例えば、金銭や預金や品物などの動きを記入したもの等である。処理対象情報は、通常、電子データである。また、処理対象情報のデータ形式等は問わない。例えば、テキスト形式のデータであっても良いし、スプレッドシート等のデータであっても良いし、1以上のフィールド(項目)別の情報が判別可能に区切られたCSV形式等のデータであってもよい。ここで述べる格納とは、一時記憶も含む概念と考えても良い。処理対象情報は、例えば、予め指定された科目に関する情報である。予め指定された科目に関する情報とは、例えば、指定された科目についての情報を含む情報であり、例えば、情報の内容に、所定の科目名を含む情報でも良いし、ファイル名や属性等が、所定の科目名を示す情報であっても良い。また、処理対象情報は、予め指定された商品についての情報を含む情報である。予め指定された商品についての情報を含む情報とは、例えば、情報の内容が、商品名や商品番号等の商品識別情報を含む情報であっても良いし、ファイル名や属性等が、所定の商品を示す情報であってもよい。
処理対象情報格納部102に処理対象情報が蓄積される過程は問わない。例えば、記録媒体を介して処理対象情報が処理対象情報格納部102に蓄積されるようになってもよく、通信回線等を介して送信された処理対象情報が処理対象情報格納部102で蓄積されるようになってもよく、あるいは、入力デバイス等を介してユーザ等から入力された処理対象情報が処理対象情報格納部102に蓄積されてもよい。処理対象情報格納部102は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
ユーザ認証情報受付部103は、アプリケーションソフトウェアについてのユーザ認証を行うための情報であるユーザ認証情報を受け付ける。ユーザ認証情報は、例えば、ユーザ識別情報や、ユーザ識別情報とパスワード等の組合せである。ユーザ識別情報はユーザが識別可能な情報であれば良く、例えばユーザの名前や、ユーザの社員番号や、ID番号等である。例えば、ユーザが一のグループや部署等である場合、グループ名や部署名や、グループや部署に割り当てられたID番号等である。ユーザ認証情報として、クライアント装置10へのログイン時に認証のために入力されるユーザIDや、ユーザIDとパスワードとの組合せ等を利用しても良い。また、予め、アプリケーションに対応付けられて図示しない記憶媒体等に格納されているアプリケーションの識別情報を、ユーザ認証情報、あるいはその一部として用いても良い。ユーザ認証情報受付部103は、受け付けたユーザ認証情報を、例えば、図示しない記憶媒体等に一時記憶する。
ここで述べる受け付けとは、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、有線もしくは無線の通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、ハードディスクや半導体メモリなどの記録媒体からの情報の読み出しも含む概念である。
ユーザ認証情報の入力手段は、テンキーやキーボードやマウスやメニュー画面によるもの等、何でも良い。ユーザ認証情報受付部103は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
入力者管理情報格納部104は、処理対象情報と、処理対象情報の入力者とを対応付ける情報である入力者管理情報が格納され得る。入力者管理情報は、具体的には、ユーザにより入力デバイス等を介して入力され、上述した処理対象情報格納部102に蓄積された処理対象情報と、入力を行ったユーザの識別情報とを対応付けて管理する情報である。入力者管理情報は、処理対象情報と入力者とを対応付けて管理可能な情報であれば、処理対象情報自身と、ユーザ識別情報とを対応付けた情報であっても良いし、処理対象情報の識別情報である処理対象情報識別情報と、ユーザ識別情報とを対応付けた情報であっても良い。例えば、処理対象情報の更新や新規作成等の入力が行われた際にクライアント装置10にログインしているユーザのユーザ識別情報が、入力を行ったユーザの識別情報として、入力対象となる処理対象情報と対応付けられて入力者管理情報に蓄積される。具体的には、入力者管理情報の新たなレコードとして追加される。あるいは、外部で作成された処理対応情報に対応付けられた入力者識別情報と、この処理対象情報の識別情報とが、処理対象情報が蓄積される際に入力者管理情報に追加されてもよい。処理対象情報の識別情報とは、例えば、処理対象情報の名称や、ファイル名等である。あるいは、処理対象情報のパス等であっても良い。
入力者管理情報格納部104は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
操作指示受付部105は、上述したアプリケーション格納部101に格納されているアプリケーションに対する操作指示を受け付ける。操作指示や、例えば、アプリケーションに対して与えられる命令等である。操作指示は、例えば、アプリケーションを起動させる起動指示も含むと考えて良い。
操作指示の入力手段は、テンキーやキーボードやマウスやメニュー画面によるもの等、何でも良い。操作指示受付部105は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
処理判断部106は、アプリケーションが実行する処理が、予め許可された所定の処理であるか否かを判断する。所定の処理とは、例えば、予め許可された処理対象情報に対する処理、あるいは、予め許可された動作である。予め許可された動作とは、予め許可された動作を伴う処理のことであり、例えば、予め許可されたコマンドに応じた動作、あるいは、予め許可された実行モジュールによる動作等である。あるいは、予め許可された識別情報で識別される処理である。
この実施の形態においては、所定の処理が、予め許可された処理対象情報に対する処理であるか否かを判断する場合について説明する。即ち、処理判断部106は、アプリケーションソフトウェアを用いて実行する処理が、予め許可された処理対象情報に対する処理であるか否かを判断する。ここで述べる許可された処理対象情報とは、例えば、サーバ装置50に対する送信を許可された処理対象情報、あるいはサーバ装置50による処理を許可された処理対象情報を意味する。例えば、許可された処理対象情報とは、秘密にする必要がない、もしくは秘密にする必要性が高くない情報である。
処理判断部106は、予め許可された処理対象情報に対する処理であるか否かをどのように判断しても良い。例えば、処理判断部106は、アプリケーションを用いて実行される処理の対象となる情報が、予め用意された許可可能な処理対象情報を示す条件を満たすか否かを判断する。予め用意された許可可能な処理対象情報を示す条件とは、許可可能な処理対象情報だけを選択的に指定可能な条件であれば、どのような条件であっても良い。例えば、予め用意された1以上の処理対象情報の識別情報のいずれかと一致する、と言う条件であっても良い。また、アプリケーションを用いて実行される処理の対象となる情報が、予め指定された文字列等の情報と一致する情報を含む情報、または、情報のファイル名等の識別情報が予め指定された文字列等の情報を含む情報、あるいは予め指定された属性(ファイル形式や、ラベルや、パーミッション等)を有する情報である、という条件であってもよい。
例えば、処理判断部106は、アプリケーションソフトウェアを用いて実行する処理が、予め指定された入力者と対応付けられた処理対象情報に対する処理であるか否かを、入力者管理情報を用いて判断し、予め指定された入力者と対応付けられた処理対象情報である場合に、許可された処理対象情報に対する処理であると判断する。
具体的には、上述した入力者管理情報格納部104に格納されている入力者管理情報において、アプリケーションソフトウェアを用いて実行する処理が処理対象とする情報のファイル名等の識別情報と一致する処理対象情報の識別情報を検出し、この処理対処得情報の識別情報と対応付けられた入力者の識別情報を、入力者管理情報から取得する。そして、取得した入力者の識別情報が、予めユーザ等により図示しない記憶媒体等に用意された1以上の許可可能な入力者の識別情報の表のうちの1つと一致するか否かを判断し、一致するものがある場合、アプリケーションを用いて実行する処理が、許可された処理対象情報に対する処理であると判断する。他の場合は、許可されていないと判断する。ただし、予め用意された入力者の識別情報の表が、許可されない入力者の識別情報の表である場合、この表に一致するものがない場合に、許可された処理対象情報に対する処理であると判断するようにしても良い。
また、例えば、処理判断部106は、アプリケーションが、会計ソフトである場合、アプリケーションを用いて実行する処理が、予め指定された科目についての情報を含む処理対象情報に対する処理であるか否かを判断し、予め指定された科目についての情報を含む処理対象情報である場合に、許可された処理対象情報に対する処理であると判断する。科目とは、例えば、複式簿記の仕訳や財務諸表等に用いる表示金額の名目をあらわす。科目は、勘定科目を含む概念である。
具体的には、アプリケーションを用いて実行する処理において処理の対象とする情報内に、予め用意された許可可能な処理対象情報に含まれ得る1以上の科目を指定する表である科目指定表に含まれる科目と一致する科目が、1以上含まれるか否かを検索し、含まれる場合、アプリケーションを用いて実行する処理が、許可された処理対象情報に対する処理であると判断する。他の場合は、許可されていないと判断する。ただし、科目指定表に含まれる科目の全てと一致する科目が含まれる場合のみ、許可された処理対象情報に対する処理であると判断してもよい。また、予め用意された科目指定表が、許可されない科目の科目指定表である場合、この表に一致するものがない場合に、許可された処理対象情報に対する処理であると判断するようにしても良い。科目指定表は、図示しない記憶媒体に格納しておくようにすればよい。
また、例えば、処理判断部106は、アプリケーションが、販売管理ソフトである場合、アプリケーションソフトウェアを用いて実行する処理が、予め指定された商品についての情報を含む処理対象情報に対する処理であるか否かを判断し、予め指定された商品についての情報を含む処理対象情報である場合に、許可された処理対象情報に対する処理であると判断する。商品についての情報とは、例えば、商品を識別可能な識別情報である。例えば、商品の識別情報は、商品名、商品の商品番号、製造番号、型番、バージョン番号や、これらの情報と製造年月日等の情報との組合せ等である。ここでは、商品についての情報を、商品情報と呼ぶ。
具体的には、アプリケーションを用いて実行する処理において処理の対象とする情報内に、予め用意された許可可能な処理対象情報に含まれ得る1以上の商品情報を指定する表である商品指定表に含まれる情報と一致する商品情報が、1以上含まれるか否かを検索し、含まれる場合、アプリケーションを用いて実行する処理が、許可された処理対象情報に対する処理であると判断する。他の場合は、許可されていないと判断する。ただし、商品指定表に含まれる商品情報の全てと一致する商品情報が含まれる場合のみ、許可された処理対象情報に対する処理であると判断してもよい。また、予め用意された商品指定表が、許可されない処理対象情報に含まれる商品情報の商品指定表である場合、この商品指定表に一致するものがない場合に、許可された処理対象情報に対する処理であると判断するようにしても良い。商品指定表は、図示しない記憶媒体に格納しておくようにすればよい。
処理判断部106は、実行される処理が処理対象とする情報をどのように取得しても良い。例えば、処理判断部106は、操作指示受付部105が受け付けた操作指示が、処理の対象となる情報の指定を含む命令等である場合、この命令により指定される処理の対象となる情報を取得する。また、後述するアプリケーション実行部111が、処理対象情報格納部102に格納されている1以上の処理対象情報を処理の対象とする処理を実行する際に、処理対象となる処理対象情報の識別情報等を、処理判断部106に出力するようにし、処理判断部106がこの処理対象情報の識別情報等が示す処理対象情報を取得しても良い。
処理判断部106が、上記の判断を行うタイミングやトリガー等は問わない。例えば、アプリケーションソフトウェアを用いて実行する処理が実行される直前や直後に、上記の判断を行っても良い。また、上記の処理の操作指示を受け付けたことをトリガーとして上記の判断を行っても良い。また、実行モジュールや関数等が読み出されたときに、上記の判断を行っても良い。
処理判断部106は、アプリケーションソフトウェアを用いて実行する処理を、予め許可された処理対象情報に対する処理であると判断した場合、例えば、許可された処理対象情報に対する処理であるとする判断結果を、例えば、処理対象情報送信部109等に出力する。
処理判断部106は、通常、MPUやメモリ等から実現され得る。処理判断部106の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
ユーザ認証情報送信部107は、ユーザ認証情報受付部103が受け付けたユーザ認証情報を、サーバ装置50に送信する。ユーザ認証情報をサーバ装置50に送信するタイミングやトリガーは問わない。例えば、アプリケーションの起動時に、ユーザ認証情報を送信しても良い。また、ユーザ認証情報受付部103がユーザ認証情報を受けつけた直後に、ユーザ認証情報を送信しても良い。なお、アプリケーション格納部101に複数のアプリケーションが格納されている場合、アプリケーションを識別できるように、ユーザ認証情報送信部107は、ユーザが利用するアプリケーションの識別情報であるアプリケーション識別情報を、ユーザ認証情報と対応付けてサーバ装置50に送信しても良い。例えば、アプリケーションの起動時にユーザ識別情報がサーバ装置50に送信される場合、この起動対象となるアプリケーションの識別情報をユーザ認証情報とともにサーバ装置50に送信しても良い。
ユーザ認証情報送信部107は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
認証結果受信部108は、サーバ装置50による認証の結果を示す情報である認証結果情報を受信する。認証結果情報は、結果的に認証が許可されたことを示す情報であればよく、具体的には、認証が許可されたか否かを示す情報や、認証が許可されたことを示す情報である。認証が許可された、とは、例えば、アプリケーションの実行が許可されたことを意味すると考えて良い。また、ユーザ認証情報送信部107が、ユーザ認証情報とともにアプリケーション識別情報をサーバ装置50に送信した場合、認証結果受信部108は、例えば、このアプリケーション識別情報を含む認証結果情報を受信してもよい。アプリケーション識別情報を含む認証結果情報は、例えば、このアプリケーション識別情報が示すアプリケーションの認証が許可されたことを示す情報である。
認証結果受信部108は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
処理対象情報送信部109は、処理判断部106が、許可された処理対象情報に対する処理と判断した場合に、許可された処理対象情報を、サーバ装置50に送信する。具体的には、処理判断部106が出力する処理対象情報についての処理の判断結果が、許可された処理対象情報についての処理であることを示す情報である場合、許可された処理対象情報をサーバ装置50に送信する。また、アプリケーション格納部101に複数のアプリケーションが格納されている場合においては、処理対象情報送信部109は、許可された処理対象情報を処理の実行対象としたアプリケーションのアプリケーション識別情報を、処理対象情報とともに送信しても良い。また、サーバ装置50が、許可された処理対象情報に対して実行する処理を識別できるように、操作指示により指示されたアプリケーションが実行する処理内容を示す情報である処理内容情報を、処理対象情報とともにサーバ装置50に送信してもよい。処理対象情報送信部109は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
処理結果受信部110は、サーバ装置50で処理された、処理対象情報送信部109が送信した処理対象情報の処理結果を受信する。処理結果受信部110は、処理対象情報送信部109が処理対象情報と対応付けて送信したアプリケーション識別情報や、処理内容情報と対応付けられた処理対象情報を受信しても良い。
処理結果受信部110は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
アプリケーション実行部111は、認証結果受信部108が受信した認証結果情報が、認証が許可されていることを示す場合に、操作指示受付部105が受け付けた操作指示に応じて、アプリケーション格納部101に格納されているアプリケーションソフトウェアを実行させて、処理対象情報を処理する。具体的には、操作指示受付部105が受け付けた操作指示が指示するアプリケーションに、操作指示が指示する処理を実行させる。この処理は、例えば、操作指示が指示する処理対象情報や、アプリケーション自身に予め指定されている所定の処理対象情報を処理する処理である。アプリケーション実行部111が実行する処理はどのような処理であっても良く、処理対象情報に対して演算等を行う処理等である。認証結果情報が、認証が許可されていることを示していない場合、アプリケーション実行部111は、アプリケーションを実行できず、当然、上述した処理対象情報を処理する動作等の、操作指示に応じたアプリケーションの実行に伴う動作も行われない。
また、アプリケーション実行部111は、処理対象情報送信部109が送信した処理対象情報に対するサーバ装置50による処理結果を、処理結果受信部110が受信した場合、例えば、アプリケーションを実行させて、受信した処理結果に対して、処理対象情報送信部109が処理対象情報を送信した際に操作指示により指示されていた、この処理対象情報を処理対象とした処理の続きを続行する。アプリケーション実行部111により、複数のアプリケーションを実行している場合等においては、処理結果受信部110が受信した処理結果が、どのアプリケーションに対応した処理の処理結果であるかは、例えば、処理結果とともに受信されたアプリケーション識別情報により判断するようにしてもよい。また、処理結果受信部110が受信した処理結果が、どのような処理に対応した処理結果であるかは、例えば、処理結果とともに受信された処理内容情報から判断するようにしてもよい。この場合の、アプリケーション実行部111が実行する処理もどのような処理であっても良く、例えば、受信した処理結果を図示しない記憶媒体等に蓄積する処理であっても良いし、処理結果から出力用の情報を生成する処理であっても良い。
アプリケーション実行部111は、通常、MPUやメモリ等から実現され得る。アプリケーション実行部111の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
出力部112は、アプリケーション実行部111の処理結果を出力する。出力部112が、出力を行うタイミングやトリガー等は問わない。ここで述べる出力とは、出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタへの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。
出力部112は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。出力部112は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
サーバ装置50は、クライアント装置10から送信された情報を用いて、予め指定された処理を行い、処理の結果をクライアント装置10に送信する。予め指定された処理は、例えば、送信される情報に応じて実行される処理である。サーバ装置50は、例えば、クライアント装置10で行われる処理の少なくとも一部の処理を実行する。サーバ装置50は、例えば、コンピュータ等で実現され得る。
ユーザ認証情報受信部501は、クライアント装置10から送信されるユーザ認証情報を受信する。ユーザ認証情報受信部501は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
認証判断情報格納部502は、認証可能なユーザ認証情報を示す情報である認証判断情報が格納され得る。認証判断情報は、例えば、ユーザ認証に利用可能な、ユーザ識別情報や、ユーザ識別情報とパスワードとの組合せ等の情報である。認証判断情報格納部502に認証判断情報が記憶される過程は問わない。認証判断情報格納部502は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
認証部503は、ユーザ認証情報受信部501が受信したユーザ認証情報と一致するユーザ認証情報が、認証判断情報に含まれるか否かにより、認証可能であるか否かを判断する。通常、一致する場合、認証可能であると判断する。認証部503は、結果的に認証可能であるか否かを示すことができる判断結果を取得できれば良く、例えば、認証可能であるという判断結果であっても良いし、認証できないという判断結果であっても良い。認証部503が判断の結果取得する情報を、ここでは、判断結果情報と呼ぶ。認証部503は、認証処理の結果を、例えばユーザ認証情報に含まれるユーザ識別情報と対応付けて図示しない記憶媒体等に蓄積するようにしてもよい。
認証部503は、通常、MPUやメモリ等から実現され得る。認証部503の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
認証結果送信部504は、認証部503による認証の結果を示す情報である認証結果情報をクライアント装置10に送信する。認証結果送信部504は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
処理対象情報受信部505は、クライアント装置10から送信される処理対象情報を受信する。また、処理対象情報受信部505は、クライアント装置10から処理対象情報とともに送信されたアプリケーション識別情報や処理内容情報等を受信しても良い。処理対象情報受信部505は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
処理実行部506は、処理対象情報受信部505が受信した処理対象情報に対して、予め指定された処理を行う。予め指定された処理は、どのような処理であっても良く、例えば、演算を行う処理等である。処理実行部506は、例えば、上述したアプリケーション識別情報や処理内容情報等と、処理対象情報受信部505が処理すべき内容を示す情報等を対応付けた情報を予め図示しない記憶馬体等に用意しておき、この情報を用いて、処理対象情報受信部505が処理対象情報とともに受信したアプリケーション識別情報や処理内容情報等と一致するアプリケーション識別情報や処理内容情報等と対応付けられた処理すべき内容を示す情報が示す処理を、処理対象情報受信部505が実行するようにしても良い。あるいは、処理対象情報受信部505が処理対象情報とともに受信した処理内容情報が示す処理を、処理対象情報受信部505が実行するようにしても良い。
処理実行部506は、通常、MPUやメモリ等から実現され得る。処理実行部506の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
処理結果送信部507は、処理実行部506で処理された処理対象情報の処理結果を、クライアント装置10に送信する。処理結果送信部507は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
次に、情報処理システム1のクライアント装置10の動作について図2のフローチャートを用いて説明する。ここでは、一例として、アプリケーションの起動時に、ユーザ認証の処理を行う場合について、説明を行う。
(ステップS201)操作指示受付部105は、アプリケーション格納部101に格納されている一のアプリケーションに対する起動指示を受け付けたか否かを判断する。受け付けた場合、ステップS202に進み、受け付けていない場合、ステップS201に戻る。
(ステップS202)ユーザ認証情報受付部103は、ユーザ認証情報を受け付けたか否かを判断する。例えば、ステップS201で起動指示を受け付けた場合に、ユーザ認証情報を受け付ける入力画面等を画面に表示する。受け付けた場合、ステップS203に進み、受け付けていない場合、ステップS202に戻る。
(ステップS203)ユーザ認証情報送信部107は、ステップS202において受け付けたユーザ認証情報を、サーバ装置50に送信する。
(ステップS204)認証結果受信部108は、認証結果を受信したか否かを判断する。受信した場合、ステップS205に進み、受信していない場合、ステップS204に戻る。
(ステップS205)アプリケーション実行部111は、ステップS204において受信した認証結果が、認証許可を示すか否かを判断する。認証許可を示す場合、ステップS206に進み、認証許可を示さない場合、ステップS201に戻る。
(ステップS206)操作指示受付部105は、操作指示を受け付けたか否かを判断する。受け付けた場合、ステップS207に進み、操作指示を受け付けていない場合、ステップS206に戻る。
(ステップS207)処理判断部106は、操作指示が、処理対象情報の入力を示す操作の指示であるか否かを判断する。処理対象情報の入力とは、例えば、処理対象情報を作成することであっても良いし、処理対象情報内の情報を更新することであってもよい。処理対象情報の入力を示す操作の指示である場合、ステップS208に進み、入力を示す操作以外の操作の指示である場合、ステップS209に進む。
(ステップS208)アプリケーション実行部111は、処理対象情報の内容を更新し、入力者管理情報格納部104に格納されている入力者管理情報を、ユーザ認証情報に含まれるユーザ識別情報等を用いて更新する。例えば、ユーザ認証情報に含まれるユーザ識別情報と、更新された処理対象情報とを対応付けた入力者管理情報を作成したり、変更したりする。そして、ステップS206に戻る。
(ステップS209)処理判断部106は、ステップS206において受け付けた操作指示が、予め指定された入力者が入力した処理対象情報に対する処理の指示であるか否かを判断する。例えば、操作指示が処理の対象に指定する処理対象情報に対応する入力者を示す情報である入力者識別情報を、入力者管理情報格納部104に格納されている、処理対象情報を示す情報である処理対象情報識別情報と入力者識別情報とを対応付けて管理する入力者管理情報から、処理の対象に指定された処理対象情報の処理対象情報識別情報を検索キーとして用いて検索により取得する。そして、取得した入力者識別情報と一致するものが、処理対象情報をサーバ装置50に送信してよい入力者を指定するための情報である入力者指定情報(例えば、入力者指定表)内に予め用意された1以上の入力者識別情報内にあるか否かを判断する。そして、ある場合、予め指定された入力者が入力した処理対象情報に対する処理の指示であると判断して、ステップS210に進む。また、ない場合、このような指示でないと判断し、ステップS211に進む。
(ステップS210)処理対象情報送信部109は、ステップS206において受け付けた操作指示が処理の対象に指定する処理対象情報を、サーバ装置50に送信する。そして、ステップS213に進む。
(ステップS211)処理判断部106は、ステップS206において受け付けた操作指示が、予め指定された科目を含む処理対象情報に対する処理の指示であるか否かを判断する。例えば、指定された処理対象情報内に、サーバ装置50に送信してよい処理対象情報が含む1以上の科目を指定するための情報である科目指定情報(例えば、科目指定表)内に予め用意された1以上の科目を示す情報(例えば科目名等の科目識別情報)と一致するものが含まれるか否かを、検索等により判断する。一致するものがある場合、予め指定された科目を含む処理対象情報に対する処理の指示であると判断してステップS210に進み、一致するものがない場合、このような指示でないと判断し、ステップS212に進む。
(ステップS212)処理判断部106は、ステップS206において受け付けた操作指示が、予め指定された商品についての処理対象情報に対する処理の指示であるか否かを判断する。例えば、指定された処理対象情報内に、サーバ装置50に送信してよい処理対象情報が含む1以上の商品を指定するための情報である商品指定情報(例えば、商品指定表)内に予め用意された1以上の商品を示す情報(例えば商品名等の商品識別情報)と一致するものが含まれるか否かを、検索等により判断する。一致するものがある場合、予め指定された商品を含む処理対象情報に対する処理の指示であると判断してステップS210に進み、一致するものがない場合、このような指示でないと判断し、ステップS216に進む。
(ステップS213)処理結果受信部110は、サーバ装置50から送信される処理結果を受信したか否かを判断する。受信した場合、ステップS214に進み、受信していない場合、ステップS213に戻る。
(ステップS214)アプリケーション実行部111は、ステップS213において受信した処理結果を用いて、ステップS206において受け付けた操作指示の処理の続きを実行する。
(ステップS215)出力部112は、アプリケーション実行部111の処理結果を出力する。そして、ステップS206に戻る。
(ステップS216)ステップS206において受け付けた操作指示に従って処理を行う。そして、ステップS215に進む。
なお、図2のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、情報処理システム2のサーバ装置50の動作について図3のフローチャートを用いて説明する。
(ステップS301)ユーザ認証情報受信部501は、クライアント装置10からネットワーク等を経由して送信されるユーザ認証情報を受信する。
(ステップS302)認証部503は、ステップS301において受信したユーザ認証情報を用いて、ユーザ認証を行う。具体的には、認証判断情報格納部502に予め格納されている認証許可可能なユーザのユーザ認証情報の中から、ステップS301において受信したユーザ認証情報と一致するものを検索する。検索により、一致するものが検出された場合、認証許可されたことを示す判断結果を取得する。一致するものが検出されない場合、認証許可されないことを示す判断結果を取得する。なお、認証許可されない判断結果は取得しなくても良い。
(ステップS303)認証結果送信部504は、ステップS302において取得した認証結果を、クライアント装置10にネットワークとを経由して送信する。なお、認証許可されない判断結果は送信しないようにしても良い。そして、ステップS301に戻る。
(ステップS304)処理対象情報受信部505は、処理対象情報を受信したか否かを判断する。受信した場合、ステップS305に進み、受信していない場合、ステップS301に戻る。
(ステップS305)処理実行部506は、ステップS304において受信した処理対象情報に対して予め指定された処理を実行する。なお、予め指定された処理は、例えば、処理対象情報に対応付けられた処理である。あるいは、処理対象情報とともに受信した処理内容を示す情報に対応付けられた処理であっても良い。
(ステップS306)処理結果送信部507は、クライアント装置10にネットワーク等を経由して、ステップS305において得られた処理結果を送信する。そして、ステップS301に戻る。
なお、図3のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
以下、本実施の形態における情報処理システム1の具体的な動作について説明する。情報処理システム1の概念図は図4である。
まず、ユーザが、例えば、クライアント装置10において、マウス等の入力デバイスを用いてダブルクリックの操作等により、「業務管理」というアプリケーションを起動する指示を与えたとする。操作指示受付部105は、「業務管理」というアプリケーションを起動する指示を受け付ける。
ユーザ認証情報受付部103は、業務管理」というアプリケーションを起動する指示に応じて、ユーザ認証情報を受け付ける入力画面を、クライアント装置10のモニタ等に表示する。
図5は、クライアント装置10の、ユーザ認証情報を受けつける入力画面の表示例を示す図である。
ユーザが、入力画面のユーザ識別番号を入力するフィールド51にユーザ識別情報「WYAMAMOTO」を、また、パスワードを入力するフィールド52にパスワード「PA345WS」を入力すると、ユーザ認証情報送信部107は、ユーザ識別情報「WYAMAMOTO」とパスワード「PA345WS」とを含むユーザ認証情報を、ネットワークを介してサーバ装置50に送信する。
サーバ装置50の、ユーザ認証情報受信部501は、クライアント装置10から送信されるユーザ認証情報を受信する。
図6は、認証判断情報格納部502に格納されている認証判断情報を管理する認証判断情報管理表である。認証判断情報管理表は、レコードを管理するための項目である「ID」、ユーザ識別情報を示す項目である「ユーザ識別情報」、およびパスワードを管理する項目である「パスワード」という項目を有している。
認証部503は、ユーザ認証情報受信部501が受信したユーザ認証情報と、認証判断情報格納部502に格納されている認証判断情報とを用いて、認証処理を行う。具体的には、認証部503は、受信したユーザ認証情報内のユーザ識別情報「WYAMAMOTO」とパスワード「PA345WS」とがそれぞれ一致する「ユーザ識別情報」と、「パスワード」とを有するレコードを認証判断情報管理表において検索し、レコードが検出できた場合、認証許可であると判断する。検出できなかった場合、認証が許可されないと判断する。
ここでは、「ID」が「004」であるレコードの「ユーザ識別情報」と「パスワード」の組合せが、ユーザ認証情報のユーザ識別情報とパスワードの組合せと一致するため、認証許可と判断する。
認証結果送信部504は、認証許可を示す情報を、ネットワーク経由でクライアント装置10に送信する。
クライアント装置10の認証結果受信部108は、サーバ装置50から送信される認証許可を示す認証結果を受信する。認証結果が認証許可であるので、アプリケーション実行部111は、アプリケーション「業務管理」を起動する。もし、起動許可でなければ、アプリケーション「業務管理」の起動は行わない。
つぎに、ユーザが、マウスやキーボード等の入力デバイスを操作して、処理対象情報格納部102に格納されている「支店別売上集計」というファイル名のファイルを起動済のアプリケーション「業務管理」で開いて、所定の処理を行う指示を操作指示受付部105に与えたとする。例えば、年間の売上を集計する操作指示を与えたとする。
図7は、入力者管理情報格納部104に格納されている入力者管理情報の一例を示す図である。入力者管理情報は、レコードを管理するための項目である「ID」、入力者識別情報を示す項目である「入力者識別情報」、および処理対象情報をファイル名で管理する情報である「ファイル名」という項目を有している。この入力者管理情報のレコードにおいては、例えば、処理対象情報に格納されている処理対象情報の情報が更新された場合、あるいは新たに格納される処理対象情報が生成された場合等に、その処理対象情報のファイル名と、更新を行った入力者あるいは生成を行った入力者の識別情報とが対応付けられたレコードが追加される。
処理判断部106は、操作指示受付部105が受け付けた操作の操作対象となる処理対象情報である「支店別売上集計」ファイルの入力者が、予め指定された入力者であるか否かを判断する。処理判断部106は、まず、「支店別売上集計」ファイルの入力者の識別情報を、入力者管理情報格納部104に格納されている入力者管理情報から取得する。具体的には、図7に示した入力者管理情報において、「ファイル名」が「支店別売上集計」であるレコードを検索により検出し、検出されたレコードの「入力者識別情報」を取得する。ここでは、処理判断部106は、図7に示した入力者管理情報の「ファイル名」が「支店別売上集計」である「ID」が「01」と「02」のレコードから、「TWADA」と「TYAMADA」という入力者識別情報を取得したとする。
図8は、図示しない記憶媒体等の格納部に予め格納されている入力者指定表である。入力者指定表は、ファイルをサーバ装置50に送信して処理することを許可する入力者のリストと考えても良い。入力者指定表は、1以上の「入力者識別情報」を有している。「入力者識別情報」は、図7の「入力者識別情報」と同様の情報である。
処理判断部106は、入力者管理情報から取得した「TWADA」と「TYAMADA」という入力者識別情報と一致する「入力者識別情報」が入力者指定表に存在するか否かを判断する。ここでは、「TWADA」と「TYAMADA」という全ての入力者識別情報と完全一致する「入力者識別情報」が入力者指定表に存在するか否かを判断し、全てに完全一致するものが存在した場合、処理対象情報である「支店別売上集計」ファイルをサーバ装置50で処理させて良い処理対象情報であると判断する。ここでは、処理判断部106は、「TWADA」と「TYAMADA」とにそれぞれ完全一致する「入力者識別情報」が入力者指定表に存在すると判断する。このため、処理判断部106は、操作指示により操作対象に指定されている処理対象情報である「支店別売上集計」ファイルを、サーバ装置50に送信して、サーバ装置50で処理させて良い処理対象情報であるとする判断結果を取得する。
処理対象情報送信部109は、処理判断部106の判断結果を受けて、操作指示が指定する処理対象情報である「支店別売上集計」というファイル名をネットワーク経由でサーバ装置50に送信する。
サーバ装置50の処理対象情報受信部505は、処理対象情報送信部109から送信される処理対象情報を受信する。
処理実行部506は、処理対象情報受信部505が受信した処理対象情報に対して、予め指定されている処理を実行する。ここでは、例として、処理対象情報のファイル名である「支店別売上集計」に含まれる「売上集計」というキーワードに対応付けられて予め用意された処理である集計を行う処理を、予め指定された処理の中から選択して実行する。そして、処理結果送信部507は、処理結果として得られた処理対象情報である「支店別売上集計」ファイルを、クライアント装置10に送信する。
クライアント装置10の処理結果受信部110がサーバ装置50から送信される処理結果の情報を受信すると、「業務管理」アプリケーションを実行しているアプリケーション実行部111は、受信した処理結果である「支店別売上集計」ファイルで、処理対象情報格納部102に格納されている「支店別売上集計」ファイルを上書きする処理を続きの処理として行う。
出力部112は、アプリケーション実行部111が上書きした処理対象情報である「支店別売上集計」ファイルをモニタ90に表示する。
図9は、「支店別売上集計」ファイルの処理結果の表示例を示す図である。図において、点線枠81で囲った集計の欄の値が、サーバ装置50で集計されて入力された値である。
ここで、「業務処理」アプリケーションが、会計ソフトウェアの一つであり、操作指示が指示する操作が、処理対象情報格納部102に格納されている会計上の科目に関する情報を含む「科目内訳表」というファイル名のファイルについて、値の合計を算出させる操作であったとする。そして、上記と同様の処理によって、この「科目内訳表0765」ファイルの入力者が、予め指定された入力者でなかったとする。
図10は、図示しない記憶媒体等の格納部に予め格納されている科目指定表(科目指定情報)である。科目指定表は、サーバ装置50に送信して処理することを許可するファイルが含む科目を指定するためのリストと考えても良い。科目指定表は、1以上の「科目名」を有している。「科目名」は、科目の名称を示す情報である。
処理判断部106は、「科目内訳表0765」内に、科目指定表に存在する「科目名」の少なくともいずれかと一致する文字列が、1以上含まれているか否かを判断する。1以上存在した場合、処理対象情報である「科目内訳表0765」ファイルは、秘密にする必要のないファイルであると判断されたこととなり、このファイルはサーバ装置50で処理させて良い処理対象情報であると判断される。ここでは、処理判断部106は、図10に示した科目指定表の各科目名を順番に取り出し、取り出した科目名と一致する文字列が、「科目内訳表0765」ファイル内に含まれるか否かを検索により検出していく。
図11は、処理対象情報格納部102に格納されている処理対象情報である「科目内訳表0765」ファイルの内容の一例を示す図である。
例えば、図11に示す処理対象情報である「科目内訳表0765」ファイルにおいては、図10に示した科目指定表の一番目のレコードの値である「交通費」と一致する文字列が検出される。このため、科目指定表が指定する科目名を含むファイルであるため、「科目内訳表0765」ファイルを、ファイルをサーバ装置50に送信して処理することを許可するファイルと判断する。
その後、上記の入力者が、予め指定された入力者であると判断した場合と同様の処理が行われる。例えば、処理対象情報である「科目内訳表0765」ファイルをサーバ装置50に送信して、サーバ装置50において、処理対象情報の処理が行われる。例えば、図11に示した「科目内訳表0765」ファイル内の合計欄の値の集計等が行われる。
ここで、「業務処理」アプリケーションが、販売管理ソフトウェアの一つであり、操作指示が指示する操作が、処理対象情報格納部102に格納されている商品に関する情報を含む「商品別在庫0723」というファイル名のファイルについて、在庫合計が、1000以下の商品名を取得する処理であったとする。そして、上記と同様の処理によって、この「商品別在庫0723」ファイルの入力者が、予め指定された入力者でなく、また、この「商品別在庫0723」ファイル内には、図10に示したような科目指定表により指定される科目名と一致する文字列が一つも検出されなかったとする。
図12は、図示しない記憶媒体等の格納部に予め格納されている商品指定表である。商品指定表は、サーバ装置50に送信して処理することを許可するファイルが含む商品を指定するためのリストと考えても良い。商品指定表は、1以上の「商品名」を有している。「商品名」は、商品の名称を示す情報である。
処理判断部106は、「商品別在庫0723」内に、商品指定表に存在する「商品名」の少なくともいずれかと一致する文字列が、1以上含まれているか否かを判断する。1以上存在した場合、処理対象情報である「商品別在庫0723」ファイルは、秘密にする必要のないファイルであると判断されたこととなり、このファイルはサーバ装置50で処理させて良い処理対象情報であると判断される。ここでは、処理判断部106は、図12に示した科目指定表の各科目名を順番に取り出し、取り出した科目名と一致する文字列が、「商品別在庫0723」ファイル内に含まれるか否かを検索により検出していく。
図13は、処理対象情報格納部102に格納されている処理対象情報である「商品別在庫0723」ファイルの内容の一例を示す図である。
例えば、図13に示す処理対象情報である「商品別在庫0723」ファイルにおいては、図12に示した科目指定表の一番目のレコードの値である「クリアーファイル」と一致する文字列が検出される。このため、処理判断部106は、科目指定表が指定する科目名を含むファイルであるため、「商品別在庫0723」ファイルを、サーバ装置50に送信して処理することを許可するファイルと判断する。
その後、上記の入力者が、予め指定された入力者であると判断した場合と同様の処理が行われる。例えば、処理対象情報である「商品別在庫0723」ファイルがサーバ装置50に送信され、サーバ装置50において、処理対象情報である「商品別在庫0723」ファイルのうちの、「在庫合計」項目の値が、1000以下であるレコードの「商品名」の情報が順次取得され、リスト化される。そしてリスト化された情報が、クライアント装置10に送信されて、処理対象情報格納部102に蓄積後、モニタ等に表示される。
以上のように、本実施の形態によれば、認証処理をサーバ装置50で行うことで、セキュリティの必要性のある秘密情報等の情報は、クライアント装置10で処理させつつ、サーバ装置50においては、認証処理の結果から、ユーザのアプリケーションの利用状況を把握することができる。
また、本実施の形態によれば、処理対象情報が、サーバ装置で処理してよい情報であるか否か等を、処理対象情報に情報の入力を行ったユーザに応じて、サーバ装置50に送信して処理するか否か判断することができる。これにより、セキュリティに考慮しつつ、例えば、秘密保持の必要性が高くない情報だけを扱う部署にいるユーザが作成、更新した情報については、外部のサーバ装置50で処理させることができ、他の情報は、外部のサーバ装置50に送信しないようにすることができるため、セキュリティに考慮しつつ、セキュリティが不要な処理は外部に負担させることができ、外部のサーバ装置50を有効利用することができる。
また、本実施の形態によれば、予め指定された商品についての処理対象情報を、サーバ装置50に送信して処理することができる。これにより、セキュリティに考慮しつつ、例えば、秘密保持の必要性が高くない商品の情報だけを外部のサーバ装置50で処理させることができる。
また、本実施の形態によれば、予め指定された商品についての処理対象情報を、サーバ装置50に送信して処理することができる。これにより、セキュリティに考慮しつつ、例えば、秘密保持の必要性が高くない商品の情報だけを外部のサーバ装置50で処理させることができる。
なお、上記実施の形態において、クライアント装置10は、アプリケーション実行部111が予め指定された所定の処理を実行する前に、所定の処理を実行する旨を示す実行通知をサーバ装置50に送信するようにし、サーバ装置50は、クライアント装置10から実行通知を受信して、実行通知に関する情報を蓄積し、さらに、実行通知の受信に対応して、実行許可通知をクライアント装置10に送信するようにし、クライアント装置10は、実行許可通知を受信した場合のみ、上述した所定の処理を実行できるようにしてもよい。蓄積された実行通知に関する情報は、ユーザが実行した処理を確認するため等に用いられる情報である。
図14は、このような処理を実現するための情報処理システム1の変形例である情報処理装置3の構成を示すブロック図であり、図において、図1と同一符号は同一又は相当する部分を示す。
クライアント装置30の実行通知部113は、アプリケーション実行部111が所定の処理を実行する前に、所定の処理を実行する旨を示す実行通知を、サーバ装置70に送信する。所定の処理とは、予め指定された1以上の処理であればどのような処理であっても良い。アプリケーションが実行する全ての処理であっても良い。予め指定された処理であるか否かは、例えば、アプリケーションが実行する処理のうちの、実行通知の出力対象となる1以上の所定の処理に、処理を識別するための処理識別情報を対応付けておくようにし、アプリケーションが処理を実行する際に、処理識別情報が対応付けられた処理であるか否かを判断し、処理識別番号が対応付けられた処理であれば、実行通知を出力する。処理識別情報の代わりに、実行通知の出力対象であることを示すフラグ等の情報を付与しておくようにし、フラグの有無で判断しても良い。実行通知は、アプリケーションが実行する所定の処理を通知することが可能な情報であれば良く、例えば、上述したような、処理と対応付けられた処理識別情報を含むであっても良い。処理識別情報は、処理を識別可能な情報であれば良く、例えば、アプリケーション実行部111が操作指示受付部105等から受け付けるコマンド名等の命令の識別情報であっても良い。また、アプリケーション実行部111が実行する処理名や、実行モジュールの識別情報等であってもよい。例えば、実行モジュール等がメモリに読み込まれる際に、この実行モジュールで特製される処理が、所定の処理であれば、実行通知を送信する。また、アプリケーション実行部111が実行する関数の関数名等の識別情報であっても良い。また、実行通知は、アプリケーションを実行させたユーザを示すことが可能な情報を含んでいてもよい。例えば、上述したようなユーザ認証に用いたユーザ識別情報を含んでいても良いし、クライアント装置10の識別情報(シリアル番号や、IPアドレスやMACアドレス)等が含まれていてもよい。
実行通知部113は、通常、MPUやメモリ等から実現され得る。実行通知部113の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
実行許可通知受信部114は、サーバ装置50から送信される実行許可通知を受信する。実行許可通知は、実行通知部113が通知した実行通知に対応する処理を、アプリケーション実行部111が実行することを許可することを示す情報である。なお、結果的に許可されるか否かが判断可能な情報であればよい。実行許可通知受信部114は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
なお、この変形例においては、特に、アプリケーション実行部111は、実行許可通知受信部114が実行許可通知を受け付けた場合にのみ、アプリケーションに、実行通知に対応した処理を実行可能なものとする。
実行通知受信部508は、クライアント装置30から、実行通知を受信する。実行通知受信部508は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
実行通知蓄積部509は、実行通知に関する情報を蓄積する。実行通知に関する情報とは、具体的には、実行通知に関する情報とは、だれが、どのような処理を実行したかが分かる情報である。例えば、実行通知が通知する処理を示す情報や、実行通知に含まれるユーザを示す情報を含む情報である。例えば、実行通知に関する情報とは、上述した実行通知に含まれる処理識別情報やユーザ識別情報等の情報である。実行通知に関する情報を蓄積する格納部等は問わない。通常、ハードディスク等の図示しない記憶媒体に蓄積される。
実行通知蓄積部509は、通常、MPUやメモリ等から実現され得る。実行通知蓄積部509の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。実行通知部はハードディスク等の格納部を含んでいると考えても良いし、含んでいないと考えてもよい。
実行許可通知部510は、実行通知受信部508による実行通知の受信に対応して、実行許可通知を、クライアント装置10に送信する。実行許可通知部510は、実行通知を受信した場合に、常に、実行許可通知をクライアント装置10に送信しても良いし、実行通知を受信した場合に、実行通知が所定の条件を満たすか否かを判断し、満たす場合にのみ、実行許可通知をクライアント装置10に送信してもよい。例えば、実行通知が示す処理が、予め指定された処理のうちのいずれかの処理である場合にのみ実行許可通知を送信しても良い。
実行許可通知部510は、通常、MPUやメモリ等から実現され得る。実行許可通知部510の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
このような構成によって、この変形例においては、アプリケーション実行部111が、予め指定された処理が行われる場合、指定された処理が行われることを示す情報がサーバ装置50側で蓄積されることとなる。このため、この蓄積された情報を図示しない情報出力部等から取り出すことで、ユーザが実行した処理等を確認することができる。また、サーバ装置50の実行許可通知部510が実行許可通知を送信しなければ、アプリケーション実行部111は所定の処理を実行できないため、実行通知に関する情報が、サーバ装置50に受信されなければアプリケーション実行部111は所定の処理を実行できない。つまり、アプリケーション実行部111が実行する所定の処理が常に、確実に実行通知蓄積部509で蓄積されるため、処理の記録漏れ等がなくなる。なお、図14に示すような構成を付加することは、他の実施の形態においても適用可能なものである。
(実施の形態2)
本実施の形態は、上記実施の形態1において、アプリケーションを用いて実行する処理が、予め許可された処理である場合に、処理に用いられる処理対象情報を、サーバ装置50に送信するようにしたものである。
図15は、本実施の形態にかかる情報処理システムの構成を示すブロック図である。
情報処理システム2は、クライアント装置20およびサーバ装置50を備える。
クライアント装置20は、アプリケーション格納部101、処理対象情報格納部102、ユーザ認証情報受付部103、操作指示受付部105、処理判断部1506、ユーザ認証情報送信部107、認証結果受信部108、処理対象情報送信部1509、処理結果受信部110、アプリケーション実行部111、および出力部112を備える。
この情報処理システム2は、上記実施の形態1にかかる情報処理システムにおいて、処理判断部106および109の代わりに、アプリケーションソフトウェアを用いて実行する処理が、予め許可された処理対象情報に対する処理であるか否かを判断する処理判断部1506と、処理判断部1506が、許可された処理対象情報に対する処理と判断した場合に、当該許可された処理対象情報を、サーバ装置50に送信する処理対象情報送信部1509と、を備えるようにしたものである。
アプリケーション格納部101、処理対象情報格納部102、ユーザ認証情報受付部103、操作指示受付部105、ユーザ認証情報送信部107、認証結果受信部108、処理結果受信部110、アプリケーション実行部111、出力部112、およびサーバ装置50の構成については上記実施の形態1と同様であるので、ここでは説明を省略する。
処理判断部1506、アプリケーションが実行する処理が、予め許可された所定の処理であるか否かを判断する。この実施の形態においては、特に、処理判断部1506は、アプリケーション実行部111が、アプリケーションを用いて実行する処理が、予め許可された処理であるか否かを判断する。
例えば、処理判断部1506は、アプリケーションが実行する実行モジュールや、関数が、予め指定された許可の対象となる実行モジュールあるいは関数のいずれかと一致するか否かにより、予め許可された所定の処理であるか否かを判断する。あるいは、アプリケーションに対して与えられた操作指示が示す命令や、ユーザの操作により発生したイベント等が、予め指定された所定の命令やイベントと一致するか否かにより、アプリケーションが実行する処理が、予め許可された所定の処理であるか否かを判断しても良い。具体的には、許可の対象となる1以上の実行モジュールや、関数、命令、イベント等を示す情報である動作指定情報(例えば動作指定表)を、図示しない記憶媒体等に予め用意し、アプリケーションが実行する関数や、実行モジュール、命令、イベント等の情報をアプリケーション実行部111や操作指示受付部105等から取得し、これらの情報が、動作指定情報に含まれる実行モジュール等のいずれかと一致するか否かを判断し、一致するものがある場合に、予め許可された所定の処理であると判断し、一致するものがない場合、予め許可された所定の処理でないと判断する。動作指定情報は、例えば、許可の対象となる1以上の実行モジュールや、関数、命令、イベント等の識別情報の群である。実行モジュールや、関数、命令、イベント等の識別情報とは、例えば実行モジュール名や、関数名、命令名、イベント名等である。処理判断部1506は、アプリケーションが実行される際に、アプリケーションから、実行される動作についての実行モジュールや、関数、命令、イベント等の識別情報を取得し、動作指定情報との比較を行う。
処理判断部1506による判断は、例えば、アプリケーションに対する命令を操作指示受付部105が受け付けた場合や、操作指示受付部105が、イベントを受け付けた場合や、実行モジュールや関数等がメモリ等に読み込まれた時等に実行される。
処理判断部106は、通常、MPUやメモリ等から実現され得る。処理判断部106の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
処理対象情報送信部1509は、アプリケーションソフトウェアを用いて実行する処理が、予め許可された処理であると判断された場合に、処理に用いられる処理対象情報格納部102に格納されている処理対象情報内の少なくとも一部を、サーバ装置50に送信する。処理対象情報送信部1509が送信する処理対象情報内の少なくとも一部は、例えば、処理対象情報内のアプリケーションの実行により処理される部分であり、処理対象情報内の全ての情報であっても良い。なお、処理対象情報を送信するトリガー等が異なる点を除けば、処理対象情報送信部1509の構成は、処理対象情報送信部109と同様であるので、ここでは説明を省略する。
なお、本実施の形態において、アプリケーション実行部111は、実行しようとする動作の直前に、実行しようとする動作を示す情報、例えば、上述したような動作識別情報を処理判断部106等に出力するようにしても良い。
図16は、本実施の形態の情報処理システム2のクライアント装置20の動作を示すフローチャートである。
以下、本実施の形態の情報処理システム2のクライアント装置20の動作について、図16を用いて説明する。なお、図16において、図2と同一符号は同一又は相当する処理ステップを示している。
(ステップS1601)処理判断部1506は、ステップS206において受け付けた操作指示に応じてアプリケーション実行部111がアプリケーションを実行して行う処理が、予め許可された動作であるか否かを判断する。例えば、アプリケーションが実行する動作の識別情報を、アプリケーション実行部111等から取得し、取得した動作の識別情報が、予め用意された、許可された1以上の動作の識別情報で構成される動作指定情報に含まれるか否かを判断し、含まれる場合、許可された動作であると判断し、含まれない場合、許可されていない動作であると判断する。許可された動作であると判断された場合、ステップS1602に進み、許可された動作でないと判断された場合、ステップS216に進む。
(ステップS1602)処理に用いられる処理対象情報格納部102に格納されている処理対象情報内の少なくとも一部を、サーバ装置50に送信する。そして、ステップS213に進む。
なお、図16のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
以下、本実施の形態の具体例について説明する。起動時にユーザ認証処理等については、上記実施の形態1と同様であるので、ここでは説明を省略する。
操作指示受付部105が、処理対象情報格納部102に格納されている一の処理対象情報に対して、当該処理対象情報内の所定の範囲の数値を集計する操作指示をユーザから受け付けたとする。
アプリケーション実行部111は、操作指示に応じて、一の処理対象情報に対して集計処理を行うための関数を実行するために、当該関数をメモリ等に読み出そうとする。集計処理を行う関数名を、ここでは、「SUM」とする。ここで、アプリケーション実行部111は、集計処理を行う関数を読み出す直前に、この関数名である「SUM」を、処理判断部106に出力する。
図17は、図示しない記憶媒体等の格納部に格納されている動作指定表(科目指定情報)の一例を示す図である。ここでの動作指定表は、処理対象情報の少なくとも一部をサーバ装置50に送信して処理することを許可する動作において実行される1以上の関数名を指定する情報である。関数名のリストと考えても良い。「関数」は、1以上の関数名を示している。
処理判断部1506は、アプリケーション実行部111が出力する関数名である「SUM」を受け取り、受け取った「SUM」と一致する関数名が、図17に示した動作指定表内に存在するか否かを判断する。ここでは、一致するものがあるため、存在すると判断する。このため、処理対象情報の送信が許可された動作であるとする判断結果を、処理対象情報送信部1509に送信する。
処理対象情報送信部1509は、処理判断部1506の判断結果が、処理対象情報の送信が許可された動作であるとする判断結果であるため、アプリケーション実行部111がアプリケーションによる処理の対象となる一の処理対象情報の少なくとも一部をサーバ装置50に送信する。具体的には、アプリケーション実行部111が実行する関数名が「SUM」である関数で処理される部分の情報、即ちここでは、一の処理対象情報の集計の対象となる数値の情報をサーバ装置50に送信する。
その後のサーバ装置50の処理や、サーバ装置50の処理結果を用いたクライアント装置20による処理等については、上記実施の形態1の具体例等と同様であるので、ここでは説明を省略する。
以上のように、本実施の形態によれば、予め指定された動作の場合に、処理対象情報を、サーバ装置50に送信して処理することができる。これにより、例えば、秘密保持の必要性が高くない処理の場合にだけ、処理対象情報を外部のサーバ装置50で処理させることができ、セキュリティに考慮しつつ、処理の分散化や、サーバ装置を用いて情報処理の利便性の向上を図ることができる。
なお、本発明の情報処理システムの構成を、本実施の形態2の構成と、上述した実施の形態1の構成と組み合わせた構成としても良い。また、本発明の情報処理システムの構成に、例えば、本実施の形態2の構成に対し、図14に示したような実行通知部113や、実行許可通知受信部114等を追加した構成としても良い。
なお、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
また、上記各実施の形態において、一の装置に存在する2以上の通信手段(情報送信部など)は、物理的に一の媒体で実現されても良いことは言うまでもない。
また、上記実施の形態において、各構成要素が実行する処理に関係する情報、例えば、各構成要素が受け付けたり、取得したり、選択したり、生成したり、送信したり、受信したりする情報や、各構成要素が処理で用いるしきい値や数式、アドレス等の情報等は、上記説明で明記していない場合であっても、図示しない記録媒体において、一時的に、あるいは長期にわたって保持されていてもよい。また、その図示しない記録媒体への情報の蓄積を、各構成要素、あるいは、図示しない蓄積部が行ってもよい。また、その図示しない記録媒体からの情報の読み出しを、各構成要素、あるいは、図示しない読み出し部が行ってもよい。
また、上記各実施の形態では、情報処理システムがスタンドアロンである場合について説明したが、情報処理システムは、スタンドアロンの装置であってもよく、サーバ・クライアントシステムにおけるサーバ装置であってもよい。後者の場合には、出力部や受付部は、通信回線を介して入力を受け付けたり、画面を出力したりすることになる。
また、上記各実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。
なお、上記各実施の形態における情報処理システムを実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、アプリケーション格納部に格納されているアプリケーションソフトウェアについてのユーザ認証を行うための情報であるユーザ認証情報を受け付けるユーザ認証情報受付部と、アプリケーションソフトウェアに対する操作指示を受け付ける操作指示受付部と、ユーザ認証情報を、サーバ装置に送信するユーザ認証用情報送信部と、サーバ装置による認証の結果を示す情報である認証結果情報を受信する認証結果受信部と、認証結果情報が、認証が許可されていることを示す場合に、操作指示に応じて、アプリケーションソフトウェアを実行させて、処理対象情報格納部に格納されているアプリケーションソフトウェアで処理される情報である処理対象情報を処理するアプリケーション実行部と、アプリケーション実行部の実行結果を出力する出力部として機能させるためのプログラムである。
なお、上記プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。例えば、情報を取得する取得部や、情報を出力する出力部などにおけるモデムやインターフェースカードなどのハードウェアでしか実現できない機能は、上記プログラムが実現する機能には含まれない。
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
図18は、上記プログラムを実行して、上記実施の形態による情報処理システムを実現するコンピュータの外観の一例を示す模式図である。上記実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムによって実現されうる。
図18において、コンピュータシステム900は、CD−ROM(Compact Disk Read Only Memory)ドライブ905、FD(Floppy(登録商標) Disk)ドライブ906を含むコンピュータ901と、キーボード902と、マウス903と、モニタ904とを備える。
図19は、コンピュータシステム900の内部構成を示す図である。図19において、コンピュータ901は、CD−ROMドライブ905、FDドライブ906に加えて、MPU(Micro Processing Unit)911と、ブートアッププログラム等のプログラムを記憶するためのROM912と、MPU911に接続され、アプリケーションプログラムの命令を一時的に記憶すると共に、一時記憶空間を提供するRAM(Random Access Memory)913と、アプリケーションプログラム、システムプログラム、及びデータを記憶するハードディスク914と、MPU911、ROM912等を相互に接続するバス915とを備える。なお、コンピュータ901は、LANへの接続を提供する図示しないネットワークカードを含んでいてもよい。
コンピュータシステム900に、上記実施の形態による情報処理システム等の機能を実行させるプログラムは、CD−ROM921、またはFD922に記憶されて、CD−ROMドライブ905、またはFDドライブ906に挿入され、ハードディスク914に転送されてもよい。これに代えて、そのプログラムは、図示しないネットワークを介してコンピュータ901に送信され、ハードディスク914に記憶されてもよい。プログラムは実行の際にRAM913にロードされる。なお、プログラムは、CD−ROM921やFD922、またはネットワークから直接、ロードされてもよい。
プログラムは、コンピュータ901に、上記実施の形態による情報処理システムの機能を実行させるオペレーティングシステム(OS)、またはサードパーティプログラム等を必ずしも含んでいなくてもよい。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいてもよい。コンピュータシステム900がどのように動作するのかについては周知であり、詳細な説明は省略する。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。