JP5045787B2 - 情報処理装置、情報処理方法およびプログラム - Google Patents

情報処理装置、情報処理方法およびプログラム Download PDF

Info

Publication number
JP5045787B2
JP5045787B2 JP2010129848A JP2010129848A JP5045787B2 JP 5045787 B2 JP5045787 B2 JP 5045787B2 JP 2010129848 A JP2010129848 A JP 2010129848A JP 2010129848 A JP2010129848 A JP 2010129848A JP 5045787 B2 JP5045787 B2 JP 5045787B2
Authority
JP
Japan
Prior art keywords
function
program
user
information processing
restriction information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2010129848A
Other languages
English (en)
Other versions
JP2011257833A (ja
Inventor
信弥 加來
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Konica Minolta Business Technologies Inc
Original Assignee
Konica Minolta Business Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Konica Minolta Business Technologies Inc filed Critical Konica Minolta Business Technologies Inc
Priority to JP2010129848A priority Critical patent/JP5045787B2/ja
Priority to US13/151,592 priority patent/US8789038B2/en
Publication of JP2011257833A publication Critical patent/JP2011257833A/ja
Application granted granted Critical
Publication of JP5045787B2 publication Critical patent/JP5045787B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/44Secrecy systems
    • H04N1/4406Restricting access, e.g. according to user identity
    • H04N1/4433Restricting access, e.g. according to user identity to an apparatus, part of an apparatus or an apparatus function
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • G06F9/4451User profiles; Roaming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/44Secrecy systems
    • H04N1/4406Restricting access, e.g. according to user identity
    • H04N1/4413Restricting access, e.g. according to user identity involving the use of passwords, ID codes or the like, e.g. PIN
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1204Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • G06F3/123Software or firmware update, e.g. device firmware management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1239Restricting the usage of resources, e.g. usage or user levels, credit limit, consumables, special fonts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1279Controller construction, e.g. aspects of the interface hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00204Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server
    • H04N1/00244Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server with a server, e.g. an internet server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00912Arrangements for controlling a still picture apparatus or components thereof not otherwise provided for
    • H04N1/00938Software related arrangements, e.g. loading applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/44Secrecy systems
    • H04N1/4406Restricting access, e.g. according to user identity
    • H04N1/4426Restricting access, e.g. according to user identity involving separate means, e.g. a server, a magnetic card
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0094Multifunctional device, i.e. a device capable of all of reading, reproducing, copying, facsimile transception, file transception

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Facsimiles In General (AREA)

Description

本発明は、情報処理装置、情報処理方法およびプログラムに関し、特に情報処理機能を利用するためのプログラムをインストールして実行するための技術に関する。
オフィス環境などに設置されるMFP(Multifunction Peripheral)などのような情報処理装置は、コピー機能、プリンタ機能、スキャン機能、FAX機能、メール送信機能といった各種情報処理機能を備えている。従来、この種の情報処理装置には各種情報処理機能を動作させるための標準的なアプリケーションプログラムが予めインストールされており、ユーザが機能の選択操作を行うと、情報処理装置においてその標準的なアプリケーションプログラムが実行され、ユーザによって選択された情報処理機能が動作して指定されたジョブが実行されるようになる。
ところで、近年は、情報処理装置において実行可能なアプレケーションプログラムを多様化してユーザの利便性を向上させるべく、情報処理装置に対して予め搭載されている標準的なアプリケーションプログラムとは異なる種々のアプリケーションプログラムを別途インストールすることができるようになってきている(例えば特許文献1,2)。特に近年は、スクリプト言語などを用いることによって比較的簡単にプログラム開発を行うことが可能である。そのため、例えば情報処理装置のユーザがアプリケーションプログラムを作成して情報処理装置にインストールすることも行われる。
特開2004−129246号公報 特開2009−93228号公報
一方、オフィス環境などに設置される情報処理装置は、情報流出を防止できるようにセキュリティの向上が求められている。そのため、近年の情報処理装置は、ユーザごとに、外部サーバへのアクセスを制限したり、電子メールによるデータ送信を制限したりすることが行われる。このような情報処理装置には、ユーザごとに各種情報処理機能を利用する際の機能制限が設定された機能制限情報が予め登録されている。そしてユーザが情報処理装置にログインすると、情報処理装置は、そのログインユーザに対応した機能制限情報に基づいて各種情報処理機能を利用可能な状態へと移行させるようになっている。
ところが、上述したように例えば情報処理装置のユーザが、各種情報処理機能を動作させるためのアプリケーションプログラムを作成して情報処理装置にインストールする場合、そのアプリケーションプログラムは、ユーザごとに設定される機能制限情報を適切に反映させた状態で各種の処理を実行させるプログラムとして作成される必要がある。そのため、プログラム作成者は、情報処理装置に予め登録されている機能制限情報がどのような情報であるかを十分に考慮しながらプログラムを作成していかなければならない。また、情報処理装置に登録されているユーザごとの機能制限情報は、管理者によって適宜更新される。そのため、情報処理装置にインストールされるアプリケーションプログラムは、情報処理装置に登録されている機能制限情報が更新された場合には、その更新された内容を速やかに且つ適切に反映するようなプログラムとして作成される必要がある。このように従来は、プログラム作成者が情報処理装置にインストールするためのアプリケーションプログラムを作成する際、各種情報処理機能を動作させるための処理手順を構築するだけでなく、ユーザごとに設定される機能制限情報を正確に反映させるための処理手順を構築する必要があり、効率的なプログラム作成が行えないという問題がある。
またプログラム作成者によって作成されたアプリケーションプログラムに欠陥がある場合、機能制限情報によって利用が制限された機能であるにもかかわらず、その機能が利用可能な状態となってしまう可能性がある。これを防止するため、従来は、管理者がプログラム作成者によって作成されたアプリケーションプログラムの試験運用などを行うことによって、アプリケーションプログラムがユーザごとの機能制限情報に基づいて適切な動作を実現するか否かを検証しなければならない。それ故、管理者の作業負担も大きいという問題がある。
そこで本発明は、上記従来の問題点を解決することを目的としてなされたものであり、インストールするためのプログラムを作成する際のプログラム作成者の作業負担を軽減して効率的なプログラム作成を可能にすると共に、管理者による作業負担も軽減するようにした情報処理装置、情報処理方法およびプログラムを提供するものである。
上記目的を達成するため、請求項1にかかる発明は、情報処理機能を利用するためのプログラムをインストールして実行する情報処理装置であって、複数のユーザのそれぞれに対して前記情報処理機能を利用する際の機能制限が設定された機能制限情報を記憶する記憶手段と、前記機能制限情報に基づき、複数のユーザの全てが共通して利用可能な機能を除いて前記情報処理機能の利用を制限するための共通機能制限情報を取得する取得手段と、前記プログラムをインストールする際、前記プログラムに含まれるコマンドを解析することによって前記共通機能制限情報で制限された機能を利用するか否かを判定する判定手段と、前記プログラムが前記共通機能制限情報によって制限された機能を利用する場合、前記プログラムに含まれるコマンドを書き換えることによって前記共通機能制限情報で制限された機能を利用不可能な状態に書き換える書換手段と、前記書換手段によりコマンドの書き換えられた前記プログラムをインストールするインストール手段と、を備えることを特徴とする構成である。
このような構成によれば、情報処理装置にプログラムをインストールする際に、そのプログラムに含まれるコマンドであって、共通機能制限情報で制限された機能を利用するためのコマンドが書き換えられる。そして共通機能制限情報で制限された機能を利用不可能な状態に書き換えられたプログラムがインストールされる。そのため、プログラム作成者は、ユーザごとに設定される機能制限情報や、共通機能制限情報の内容を考慮することなく、プログラムを作成することができるようになる。
請求項2にかかる発明は、請求項1に記載の情報処理装置において、特定のユーザによる指示に基づいて、前記インストール手段によりインストールされた前記プログラムを読み出して実行する実行手段をさらに備え、前記判定手段は、前記実行手段が前記プログラムを実行する際、前記特定のユーザに対応する前記機能制限情報を読み出し、前記プログラムに含まれるコマンドを解析することによって前記特定のユーザの利用可能な機能が前記書換手段によって利用不可能な状態に書き換えられているか否かを判定し、前記書換手段は、前記特定のユーザの利用可能な機能が利用不可能な状態に書き換えられている場合、前記プログラムに含まれるコマンドを書き換えることによって前記特定のユーザが利用可能な状態に書き換え、前記実行手段は、前記書換手段により前記特定のユーザが利用可能な状態にコマンドの書き換えられた前記プログラムを実行することを特徴とする構成である。
このような構成によれば、情報処理装置にインストールされたプログラムを、特定のユーザによる指示に基づいて実行する際、その特定のユーザの利用可能な機能が利用不可能な状態に書き換えられていれば、その特定のユーザが利用可能な状態に書き換えられる。そのため、プログラム作成者は、ユーザごとに設定される機能制限情報の内容を考慮することなく、プログラムを作成することができるようになる。
請求項3にかかる発明は、請求項2に記載の情報処理装置において、前記記憶手段は、複数のユーザが共通して利用可能な共通記憶領域と、複数のユーザのそれぞれに対して個別に設定された各ユーザ専用のユーザ記憶領域とを有し、前記インストール手段は、前記書換手段により前記共通機能制限情報で制限された機能を利用不可能な状態に書き換えられた前記プログラムを前記共通記憶領域にインストールし、前記実行手段は、前記書換手段により前記特定のユーザが利用可能な状態に書き換えられた前記プログラムを前記特定のユーザに対応する前記ユーザ記憶領域に記憶して実行することを特徴とする構成である。
請求項4にかかる発明は、請求項3に記載の情報処理装置において、前記共通記憶領域には、前記情報処理機能を有効に利用するための機能処理を行うことが定義されたライブラリと、前記情報処理機能を利用せずに前記機能処理に代わるダミー処理を行うことが定義されたダミーライブラリと、が記憶されており、前記書換手段は、インストール対象である前記プログラムが前記共通機能制限情報によって制限された機能を利用する場合、前記プログラムに含まれる前記ライブラリを実行させるコマンドを、前記ダミーライブラリを実行させるコマンドに書き換えることによって前記共通機能制限情報で制限された機能を利用不可能な状態に書き換えることを特徴とする構成である。
請求項5にかかる発明は、請求項4に記載の情報処理装置において、前記ユーザ記憶領域には、前記情報処理機能を有効に利用するための機能処理を行うことが定義されたライブラリと、前記情報処理機能を利用せずに前記機能処理に代わるダミー処理を行うことが定義されたダミーライブラリと、が記憶されており、前記書換手段は、前記特定のユーザの利用可能な機能が利用不可能な状態に書き換えられている場合、前記プログラムに含まれる前記ダミーライブラリを実行させるコマンドを、前記ライブラリを実行させるコマンドに書き換えることによって前記特定のユーザが利用可能な状態に書き換えることを特徴とする構成である。
請求項6にかかる発明は、請求項3乃至5のいずれかに記載の情報処理装置において、前記記憶手段に記憶されている前記機能制限情報を更新する更新手段を更に備え、前記書換手段は、前記更新手段によって複数のユーザのうちの少なくとも一のユーザに対応する前記機能制限情報が更新された場合、当該一のユーザに対応する前記ユーザ記憶領域に記憶されている前記プログラムを読み出し、前記更新手段によって更新された前記機能制限情報に基づいて前記プログラムに含まれるコマンドを書き換えることを特徴とする構成である。
請求項7にかかる発明は、情報処理機能を利用するためのプログラムをインストールして実行する情報処理装置であって、複数のユーザのそれぞれに対して前記情報処理機能を利用する際の機能制限が設定された機能制限情報をユーザごとに設けられたユーザ記憶領域に記憶する記憶手段と、前記プログラムを特定のユーザの前記ユーザ記憶領域にインストールする際、前記特定のユーザの前記ユーザ記憶領域に記憶された前記機能制限情報を読み出し、前記プログラムに含まれるコマンドを解析することにより前記特定のユーザに対応する前記機能制限情報において制限された機能を利用するか否かを判定する判定手段と、前記プログラムが前記特定のユーザに対応する前記機能制限情報によって制限された機能を利用する場合、前記プログラムに含まれるコマンドを書き換えることによって前記機能制限情報で制限された機能を利用不可能な状態に書き換える書換手段と、前記書換手段によりコマンドの書き換えられた前記プログラムを前記特定のユーザの前記ユーザ記憶領域にインストールするインストール手段と、を備えることを特徴とする構成である。
請求項8にかかる発明は、請求項7に記載の情報処理装置において、前記プログラムは、前記情報処理機能を有効に動作させるための処理手順が定義されたライブラリであることを特徴とする構成である。
請求項9にかかる発明は、情報処理装置が、情報処理機能を利用するためのプログラムをインストールして実行する情報処理方法であって、複数のユーザのそれぞれに対して前記情報処理機能を利用する際の機能制限が設定された機能制限情報を記憶するステップと、前記機能制限情報に基づき、複数のユーザの全てが共通して利用可能な機能を除いて前記情報処理機能の利用を制限するための共通機能制限情報を取得するステップと、前記プログラムをインストールする際、前記プログラムに含まれるコマンドを解析することによって前記共通機能制限情報で制限された機能を利用するか否かを判定するステップと、前記プログラムが前記共通機能制限情報によって制限された機能を利用する場合、前記プログラムに含まれるコマンドを書き換えることによって前記共通機能制限情報で制限された機能を利用不可能な状態に書き換えるステップと、前記共通機能制限情報で制限された機能を利用不可能な状態に書き換えられた前記プログラムをインストールするステップと、を有することを特徴とする構成である。
請求項10にかかる発明は、請求項9に記載の情報処理方法において、インストールされた前記プログラムを特定のユーザによる実行指示に基づいて読み出すステップと、前記特定のユーザに対応する前記機能制限情報を読み出し、前記プログラムに含まれるコマンドを解析することによって前記特定のユーザの利用可能な機能が利用不可能な状態に書き換えられているか否かを判定するステップと、前記特定のユーザの利用可能な機能が利用不可能な状態に書き換えられている場合、前記プログラムに含まれるコマンドを書き換えることによって前記特定のユーザが利用可能な状態に書き換えるステップと、前記特定のユーザが利用可能な状態にコマンドの書き換えられた前記プログラムを実行するステップと、を更に有することを特徴とする構成である。
請求項11にかかる発明は、情報処理装置が、情報処理機能を利用するためのプログラムをインストールして実行する情報処理方法であって、複数のユーザのそれぞれに対して前記情報処理機能を利用する際の機能制限が設定された機能制限情報をユーザごとに設けられたユーザ記憶領域に記憶するステップと、前記プログラムを特定のユーザの前記ユーザ記憶領域にインストールする際、前記特定のユーザの前記ユーザ記憶領域に記憶された前記機能制限情報を読み出し、前記プログラムに含まれるコマンドを解析することにより前記特定のユーザに対応する前記機能制限情報において制限された機能を利用するか否かを判定するステップと、前記プログラムが前記特定のユーザに対応する前記機能制限情報によって制限された機能を利用する場合、前記プログラムに含まれるコマンドを書き換えることによって前記機能制限情報で制限された機能を利用不可能な状態に書き換えるステップと、前記機能制限情報で制限された機能を利用不可能な状態に書き換えられた前記プログラムを前記特定のユーザの前記ユーザ記憶領域にインストールするステップと、を有することを特徴とする構成である。
請求項12にかかる発明は、情報処理機能を利用するためのプログラムをインストールして実行させるプログラムであって、情報処理装置に、複数のユーザのそれぞれに対して前記情報処理機能を利用する際の機能制限が設定された機能制限情報を記憶するステップと、前記機能制限情報に基づき、複数のユーザの全てが共通して利用可能な機能を除いて前記情報処理機能の利用を制限するための共通機能制限情報を取得するステップと、前記プログラムをインストールする際、前記プログラムに含まれるコマンドを解析することによって前記共通機能制限情報で制限された機能を利用するか否かを判定するステップと、前記プログラムが前記共通機能制限情報によって制限された機能を利用する場合、前記プログラムに含まれるコマンドを書き換えることによって前記共通機能制限情報で制限された機能を利用不可能な状態に書き換えるステップと、前記共通機能制限情報で制限された機能を利用不可能な状態に書き換えられた前記プログラムをインストールするステップと、を実行させることを特徴とする構成である。
請求項13にかかる発明は、請求項12に記載のプログラムにおいて、前記情報処理装置に、インストールされた前記プログラムを特定のユーザによる実行指示に基づいて読み出すステップと、前記特定のユーザに対応する前記機能制限情報を読み出し、前記プログラムに含まれるコマンドを解析することによって前記特定のユーザの利用可能な機能が利用不可能な状態に書き換えられているか否かを判定するステップと、前記特定のユーザの利用可能な機能が利用不可能な状態に書き換えられている場合、前記プログラムに含まれるコマンドを書き換えることによって前記特定のユーザが利用可能な状態に書き換えるステップと、前記特定のユーザが利用可能な状態にコマンドの書き換えられた前記プログラムを実行するステップと、をさらに実行させることを特徴とする構成である。
請求項14にかかる発明は、情報処理機能を利用するためのプログラムをインストールして実行させるプログラムであって、情報処理装置に、複数のユーザのそれぞれに対して前記情報処理機能を利用する際の機能制限が設定された機能制限情報をユーザごとに設けられたユーザ記憶領域に記憶するステップと、前記プログラムを特定のユーザの前記ユーザ記憶領域にインストールする際、前記特定のユーザの前記ユーザ記憶領域に記憶された前記機能制限情報を読み出し、前記プログラムに含まれるコマンドを解析することにより前記特定のユーザに対応する前記機能制限情報において制限された機能を利用するか否かを判定するステップと、前記プログラムが前記特定のユーザに対応する前記機能制限情報によって制限された機能を利用する場合、前記プログラムに含まれるコマンドを書き換えることによって前記機能制限情報で制限された機能を利用不可能な状態に書き換えるステップと、前記機能制限情報で制限された機能を利用不可能な状態に書き換えられた前記プログラムを前記特定のユーザの前記ユーザ記憶領域にインストールするステップと、を実行させることを特徴とする構成である。
本発明によれば、情報処理装置にインストールするためのプログラムを作成する際のプログラム作成者の作業負担を軽減して効率的なプログラム作成を可能にすると共に、管理者による作業負担も軽減することができるようになる。
情報処理装置が含まれるネットワーク構成の一例を示す図である。 情報処理装置のハードウェア構成の一例を示す図である。 ユーザごとに設定される機能制限情報と各ユーザに共通した共通機能制限情報との関係を示す図である。 CPUがアプリケーション管理プログラムを実行することによって実現される機能構成の一例を示すブロック図である。 アプリケーションプログラムのインストール時における判定部および書換部の動作の一例を示す図である。 アプリケーションプログラムの実行時における判定部および書換部の動作の一例を示す図である。 アプリケーションプログラムのインストール時における書き換え処理の一例を示す図である。 アプリケーションプログラムの実行時における書き換え処理の一例を示す図である。 第1の実施の形態において情報処理装置で行われる処理手順の一例を示すフローチャートである。 インストール処理の詳細な処理手順の一例を示すフローチャートである。 アプリケーション実行処理の詳細な処理手順の一例を示すフローチャートである。 機能制限情報更新処理の詳細な処理手順の一例を示すフローチャートである。 第2の実施の形態において情報処理装置のCPUがライブラリをインストールする際の機能構成の一例を示すブロック図である。 ユーザAのユーザフォルダにインストールされるライブラリの概念を示す図である。 ユーザBのユーザフォルダにインストールされるライブラリの概念を示す図である。 ユーザCのユーザフォルダにインストールされるライブラリの概念を示す図である。 第2の実施の形態において情報処理装置のCPUがアプリケーションプログラムをインストールする際および実行する際の機能構成の一例を示すブロック図である。 第2の実施の形態における情報処理装置で行われる処理手順の一例を示すフローチャートである。
以下、本発明に関する好ましい実施形態について図面を参照しつつ詳細に説明する。尚、以下に説明する実施形態において互いに共通する部材には同一符号を付しており、それらについての重複する説明は省略する。
(第1の実施の形態)
図1は、オフィス環境などに設置される情報処理装置1が含まれるネットワーク構成の一例を示す図である。情報処理装置1は、コンピュータ2およびサーバ3に対し、LANなどのネットワーク4を介して接続されている。尚、ネットワーク4にはコンピュータ2およびサーバ3以外の装置が接続されていても良い。
情報処理装置1は、例えばMFP(Multifunction Peripheral)などと呼ばれる装置であり、コピー機能、プリンタ機能、スキャン機能、FAX機能、メール送信機能などの複数の情報処理機能(以下、単に「機能」とも言う。)を備えている。これら各機能は、情報処理装置1において予めインストールされているアプリケーションプログラムが実行されることによって作動する。例えば、ユーザがログイン操作を行って情報処理装置1にログインし、情報処理装置1に予めインストールされているアプリケーションプログラムを選択して実行指示を行うことにより、情報処理装置1はユーザによって選択されたアプリケーションプログラムを実行し、そのアプリケーションプログラムに対応する機能を作動させる。
このような情報処理装置1は、例えばコンピュータ2又はサーバ3からネットワーク4経由で送信されるアプリケーションプログラム8を受信し、その受信したアプリケーションプログラム8をインストールするように構成される。このようなアプリケーションプログラム8は、例えば情報処理装置1のユーザやその他のプログラム作成者により、スクリプト言語などを用いて作成されるプログラムである。また、このようなアプリケーションプログラム8は、情報処理装置1に搭載されている複数の情報処理機能のうちの少なくとも1つの機能を動作させるためのプログラムとして作成される。
このようなアプリケーションプログラム8には種々のプログラムがある。その一例を挙げると、スキャン機能を動作させて原稿を読み取った後、メール送信機能を動作させてスキャン機能により得られた画像データを添付した電子メールを特定の送信宛先に送信する処理手順が定められたプログラムがある。情報処理装置1のユーザがそのようなアプリケーションプログラム8を作成して予め情報処理装置1にインストールしておき、情報処理装置1を使用する際にはそのアプリケーションプログラム8を選択して実行指示を行えば、原稿を読み取る動作と電子メールの送信動作とが一連の動作で行われるようになるので、情報処理装置1の利便性が向上する。ただし、アプリケーションプログラム8は、上記例示したものに限られない。また情報処理装置1には、それぞれ異なる複数のアプリケーションプログラム8がインストールされることもある。
図2は、情報処理装置1のハードウェア構成の一例を示す図である。情報処理装置1は、各種プログラムを実行するCPU10と、CPU10によるプログラム実行に伴って一時的なデータなどを記憶するメモリ11と、ユーザが情報処理装置1を操作する際のユーザインタフェースとなる操作パネル12と、原稿を読み取るスキャナ部15と、印刷物を出力するプリンタ部16と、FAXデータの送受信を行うFAX部17と、ネットワーク4に接続するためのネットワークインタフェース18と、ハードディスク装置などの不揮発性記憶手段で構成された記憶装置19とを備えており、これら各部がデータバス20を介して相互にデータの入出力を行う構成である。また操作パネル12は、ユーザに対して各種情報を表示するための液晶ディスプレイなどで構成される表示部13と、ユーザによる各種入力操作を受け付ける操作部14とを備えている。操作部14は、例えば表示部13の表示画面上に配置されるタッチパネルキーと、表示画面の周囲に配置される押しボタンキーとを備えている。
記憶装置19には、情報処理装置1の出荷時に予めインストールされているアプリケーション管理プログラム21が記憶されている。また記憶装置19には、情報処理装置1を使用する複数のユーザが共通して利用可能な共通記憶領域である共有フォルダ22と、複数のユーザのそれぞれに対して個別に設定された各ユーザ専用のユーザ記憶領域であるユーザフォルダ23とが設けられている。
本実施形態では説明を簡単にするため、ユーザA,B,Cの3人のユーザが情報処理装置1のユーザとして登録されている場合を例示する。共有フォルダ22は、それらユーザA,B,Cのそれぞれが自由にアクセス可能な記憶領域となっている。そのため、各ユーザは、共有フォルダ22に記憶されているプログラム、データ、および情報などにアクセスしてそれらを利用することができる。
ユーザフォルダ23は、ユーザAに対応するユーザフォルダ23aと、ユーザBに対応するユーザフォルダ23bと、ユーザCに対応するユーザフォルダ23cとで構成される。このうち、ユーザフォルダ23aは、ユーザAのみがアクセス可能な記憶領域となっている。そのため、ユーザAは、ユーザフォルダ23aに記憶されているプログラム、データ、および情報などにアクセスしてそれらを自由に利用することができる。これに対し、ユーザB,Cは、ユーザフォルダ23aに記憶されているプログラム、データ、および情報などにアクセスすることはできず、それらを利用することもできない。他のユーザフォルダ23b,23cについても同様であり、ユーザB又はCだけがアクセス可能な記憶領域となっている。
またユーザフォルダ23a,23b,23cには、ユーザA,B,Cのそれぞれに対応する機能制限情報25a,25b,25cが記憶されている。これら機能制限情報25a,25b,25cは、例えば情報処理装置1の管理者によってユーザA,B,Cのそれぞれに対して個別に設定される情報であり、情報処理装置1における情報処理機能を利用する際の機能制限が定義された情報である。すなわち、機能制限情報25aは、ユーザAが情報処理装置1の情報処理機能を利用する際の機能制限が定義された情報である。同様に、機能制限情報25bは、ユーザBが情報処理装置1の情報処理機能を利用する際の機能制限が定義された情報であり、機能制限情報25cは、ユーザCが情報処理装置1の情報処理機能を利用する際の機能制限が定義された情報である。
また共有フォルダ22には、各ユーザA,B,Cに共通する共通機能制限情報24が記憶されている。この共通機能制限情報24は、例えば各ユーザA,B,Cに対応する機能制限情報25a,25b,25cに基づいて自動的に設定される情報であり、各ユーザA,B,Cが共有フォルダ22にアクセスして情報処理装置1における情報処理機能を利用する際の機能制限が定義された情報である。このような共通機能制限情報24は、複数のユーザA,B,Cの全てが共通して利用可能な機能を除いて情報処理装置1の情報処理機能の利用を制限するための情報となっている
図3は、ユーザごとの機能制限情報25a,25b,25cと各ユーザに共通した共通機能制限情報24との関係を示す図である。図3に示す例では、ユーザフォルダ23aに記憶されるユーザAの機能制限情報25aは、コピー機能、スキャン機能およびメール送信機能のそれぞれが利用可能であることを示す情報となっている。また、ユーザフォルダ23bに記憶されるユーザBの機能制限情報25bは、コピー機能およびメール送信機能が利用可能であるが、スキャン機能の利用が制限されており、スキャン機能が利用不可能であることを示す情報となっている。さらに、ユーザフォルダ23cに記憶されるユーザCの機能制限情報25cは、コピー機能およびスキャン機能が利用可能であるが、メール送信機能の利用が制限されており、メール送信機能が利用不可能であることを示す情報となっている。尚、このような機能制限情報25a,25b,25cには、実際には情報処理装置1に搭載されている複数の情報処理機能のそれぞれについて利用可能又は利用不可能であることを示す情報が設定されるが、図3では説明を簡単にするため、コピー機能、スキャン機能およびメール送信機能の3つの機能のみを示している。
共有フォルダ22には、上記のような各ユーザA,B,Cに対して個別に設定された機能性情報25a,25b,25cに基づいて生成される共通機能制限情報24が記憶される。上述したように、共通機能制限情報24は、複数のユーザA,B,Cの全てが共通して利用可能な機能を除いて情報処理装置1の情報処理機能の利用を制限するための情報として生成される。図3の例では、各ユーザA,B,Cの機能制限情報25a,25b,25cを参照すると、全てのユーザA,B,Cが共通して利用可能な機能はコピー機能のみである。それ故、共通機能制限情報24は、コピー機能のみが利用可能であり、それ以外のスキャン機能およびメール送信機能の利用が制限された情報となる。すなわち、共通機能制限情報24は、スキャン機能およびメール送信機能が利用不可能であることを示す情報となる。
上記のように構成される情報処理装置1は、電源投入時にCPU10がアプリケーション管理プログラム21を読み出して実行する。図4は、CPU10がアプリケーション管理プログラム21を実行することによって実現されるCPU10の機能構成の一例を示すブロック図である。尚、図4では、ユーザAに対応するユーザフォルダ23aのみを示しており、ユーザB,Cに対応するユーザフォルダ23b,23cは図示を省略している。
図4に示すように、CPU10は、アプリケーション管理プログラム21を実行することにより、アプリケーション管理部30として機能する。このアプリケーション管理部30は、例えば情報処理装置1に電源が投入されている間、常駐した状態で機能する処理部である。このアプリケーション管理部30は、図4に示すように、さらに、機能制限管理部31、インストール部32、判定部33、書換部34および実行部35として機能する。以下、これら各部について詳しく説明する。
機能制限管理部31は、各ユーザA,B,Cのユーザフォルダ23a,23b,23cに記憶される機能制限情報25a,25b,25cを管理する処理部である。例えば、情報処理装置1の管理者が各ユーザA,B,Cに対応する機能制限情報23a,23b,23cを新たに設定した場合、機能制限管理部31は、管理者による設定操作に基づいて各ユーザA,B,Cに対応するユーザフォルダ23a,23b,23cに機能制限情報25a,25b,25cを新規に登録する。また機能制限管理部31は、ユーザフォルダ23a,23b,23cに機能制限情報25a,25b,25cを登録すると、それに伴い、共通機能制限情報24を生成する。そして共通機能制限情報24を共有フォルダ22に保存する。
また各ユーザA,B,Cに対して予め設定されている機能制限情報25a,25b,25cは、管理者によって更新されることがある。この場合、機能制限管理部31は、管理者による更新操作に基づいて更新対象となるユーザを特定し、そのユーザのユーザフォルダに記憶されている機能制限情報を更新する。例えば、管理者がユーザAの機能制限情報25aを更新した場合、機能制限管理部31は、ユーザフォルダ23aの機能制限情報25aを更新する。また機能制限管理部31は、ユーザフォルダ23a,23b又は23cに記憶されている機能制限情報25a,25b又は25cを更新した場合、それに伴って、共有フォルダ22の共通機能制限情報24を更新する。
このように機能制限管理部31は、各ユーザA,B,Cに対して個別に設定される機能制限情報25a,25b,25cが更新される都度、それに対応して共有フォルダ22に記憶される共通機能制限情報24を更新する。したがって、共有フォルダ22には、常に、各ユーザA,B,Cに対して個別に設定される機能制限情報25a,25b,25cが反映された共通機能制限情報24が保持される。
尚、管理者による機能制限情報25a,25b又は25cの登録操作や更新操作は、情報処理装置1の操作パネル12に対して直接行われるものであっても良いし、また管理者が使用するコンピュータ2などから遠隔操作で行われるものであっても良い。
次にインストール部32は、情報処理装置1に対して新たなアプリケーションプログラム8をインストールする処理部である。このインストール部32は、例えばネットワークインタフェース18を介して受信するアプリケーションプログラム8を全てのユーザが利用可能なように、共有フォルダ22にインストールする。インストール部32は、インストール対象となるアプリケーションプログラム8を取得すると、判定部33を機能させる。
判定部33は、アプリケーションプログラムに含まれるコマンドを解析することにより、そのアプリケーションプログラムが共通機能制限情報24又は機能制限情報25a,25b,25cで制限された機能を利用するか否かを判定する処理部である。この判定部33は、アプリケーションプログラム8のインストール時において、インストール対象となるアプリケーションプログラム8に含まれるコマンドを解析することにより、そのアプリケーションプログラム8が共通機能制限情報24で制限された機能を利用するか否かを判定する。そしてインストール対象であるアプリケーションプログラム8が共通機能制限情報24で制限された機能を利用する場合、判定部33は、書換部34を機能させる。
書換部34は、アプリケーションプログラムに含まれるコマンドを書き換える処理部である。この書換部34は、アプリケーションプログラム8のインストール時において、インストール対象となるアプリケーションプログラム8に含まれるコマンドを書き換える。具体的に説明すると、書換部34は、インストール対象であるアプリケーションプログラム8に含まれるコマンドであって共通機能制限情報24で制限された機能を利用するためのコマンドを、共通機能制限情報24で制限された機能を利用しない別のコマンドに書き換える。したがって、インストール対象となるアプリケーションプログラム8は、複数のユーザA,B,Cの全てが共通して利用可能な機能だけを利用するプログラムに書き換えられる。
インストール部32は、上記のようにして書換部34によりコマンドの書き換えられたアプリケーションプログラム8aを共有フォルダ22にインストールする。したがって、共有フォルダ22にインストールされるアプリケーションプログラム8aは、複数のユーザA,B,Cの全てが共通して利用可能な機能だけを利用することが可能なプログラムとしてインストールされる。
図5は、アプリケーションプログラム8のインストール時における判定部33および書換部34の動作の一例を示す図である。ここでは、図5に示すように、インストール対象であるアプリケーションプログラム8が、コピー機能、スキャン機能およびメール送信機能を利用するプログラムである場合を例示する。この場合、判定部33は、アプリケーションプログラム8を解析することにより、コピー機能、スキャン機能およびメール送信機能の3つの機能を利用するプログラムであることを把握する。そして判定部33は、共有フォルダ22に記憶されている共通機能制限情報24を取得し、アプリケーションプログラム8で利用される機能が共通機能制限情報24によって制限されている機能であるか否かを判定する。図5の例の場合は、アプリケーションプログラム8で利用されるスキャン機能とメール送信機能とが、共通機能制限情報24によって制限された機能に該当する。
このような場合、判定部33に続いて書換部34が機能し、書換部34は、アプリケーションプログラム8が共通機能制限情報24に適合するように、プログラムに含まれるコマンドを書き換える。すなわち、スキャン機能を実行させるためのコマンドを、スキャン機能を実行させない別のコマンドに書き換える。またメール送信機能を実行させるためのコマンドを、メール送信機能を実行させない別のコマンドに書き換える。このような書き換えにより、コピー機能、スキャン機能およびメール送信機能の3つの機能を利用するアプリケーションプログラム8は、そのインストール時にコピー機能のみを利用するアプリケーションプログラム8aに書き換えられる。そして図5に示すように、スキャン機能とメール送信機能とを利用することができなくなったアプリケーションプログラム8aが共有フォルダ22にインストールされる。
尚、判定部33による判定の結果、インストール対象であるアプリケーションプログラム8が共通機能制限情報24で制限された機能を利用しない場合、書換部34によるプログラムの書き換えは行われない。この場合、共有フォルダ22にインストールされるアプリケーションプログラム8aは、インストール部32がインストール対象として取得したアプリケーションプログラム8と同じプログラムとなる。
このようにして共有フォルダ22にインストールされるアプリケーションプログラム8aは、各ユーザが選択して実行することができるように操作パネル12の表示部13に一覧表示される。具体的に説明すると、アプリケーション管理部30は、情報処理装置1に誰もログインしていない状態では、操作パネル12の表示部13に、ユーザに対してログイン操作を促す画面を表示している。そしてユーザA,B,Cのいずれかがログイン操作を行って情報処理装置1にログインすると、アプリケーション管理部30は、情報処理装置1に予めインストールされているアプリケーションプログラムの中からログインユーザが利用可能なアプリケーションプログラムのリストを作成し、表示部13に一覧表示する。このとき、アプリケーション管理部30は、共有フォルダ22に記憶されているアプリケーションプログラム8aと、ログインユーザに対応するユーザフォルダ23に記憶されているアプリケーションプログラムとに基づいてリストを作成し、表示部13に表示する。したがって、各ユーザA,B,Cは、情報処理装置1にログインすることにより、情報処理装置1に予めインストールされている少なくとも1つのアプリケーションプログラムの中から所望のアプリケーションプログラムを選択してその実行を指示することができる。
ログインユーザによるアプリケーションプログラムの実行指示が行われると、アプリケーション管理部30において実行部35が機能する。実行部35は、ログインユーザによって選択されたアプリケーションプログラムを読み出して実行する処理部である。この実行部35は、ログインユーザによって選択されたアプリケーションプログラムが、共有フォルダ22に記憶されているアプリケーションプログラム8aである場合、そのアプリケーションプログラム8aをログインユーザに対応するユーザフォルダ23に格納する。このとき、インストール時と同様に、実行部33は、判定部33および書換部34を機能させる。
判定部33は、共有フォルダ22に記憶されているアプリケーションプログラム8aの実行時において、ログインユーザに対応するユーザフォルダ23に格納されている機能制限情報を取得する。そして判定部33は、実行対象となるアプリケーションプログラム8aに含まれるコマンドを解析することにより、ログインユーザによって利用可能な機能が利用不可能な状態に書き換えられているか否かを判定する。そして実行対象であるアプリケーションプログラム8aにおいて、ログインユーザの利用可能な機能が利用不可能な状態に書き換えられている場合、判定部33は、書換部34を機能させる。
書換部34は、アプリケーションプログラム8aの実行時において、実行対象となるアプリケーションプログラム8aに含まれるコマンドを書き換える。具体的に説明すると、書換部34は、実行対象であるアプリケーションプログラム8aに含まれるコマンドであって共通機能制限情報24に従って書き換えられたコマンドを、ログインユーザに対応する機能制限情報に基づいてログインユーザが利用可能な元のコマンドに書き換える。つまり、共有フォルダ22に記憶されたアプリケーションプログラム8aは、ログインユーザの指示に基づいて実行されるタイミングで、そのログインユーザが利用可能な機能を利用できる状態に書き換えられる。
実行部35は、上記のようにして書換部34によりコマンドの書き換えられたアプリケーションプログラム8bをログインユーザに対応するユーザフォルダ23に保存する。そしてユーザフォルダ23に保存されたアプリケーションプログラム8bを読み出して実行する。
図6は、アプリケーションプログラム8aの実行時における判定部33および書換部34の動作の一例を示す図である。ここでは、図6に示すように、共有フォルダ22にインストールされたアプリケーションプログラム8aが、コピー機能、スキャン機能およびメール送信機能の3つの機能のうち、スキャン機能とメール送信機能との2つの機能が利用不可能な状態に書き換えられており、ユーザAがログインユーザとなってそのアプリケーションプログラム8aの実行を指示した場合を例示する。
図6に示すように、判定部33は、アプリケーションプログラム8aの実行時に、アプリケーションプログラム8aに含まれるコマンドを解析することにより、コピー機能、スキャン機能およびメール送信機能の3つの機能のうち、スキャン機能とメール送信機能との2つの機能が利用不可能な状態に書き換えられていることを把握する。そして判定部33は、ユーザAのユーザフォルダ23aに記憶されている機能制限情報25aを取得し、アプリケーションプログラム8aで利用不可能な状態に書き換えられた機能が機能制限情報25aによって利用可能とされている機能であるか否かを判定する。図6の例の場合は、アプリケーションプログラム8aで利用不可能な状態に書き換えられたスキャン機能とメール送信機能とが、ユーザAの機能制限情報25aにおいて利用可能とされている機能に該当する。
このような場合、判定部33に続いて書換部34が機能する。そして書換部34は、アプリケーションプログラム8aがユーザAの機能制限情報25aに適合するように、プログラムに含まれるコマンドを書き換える。すなわち、スキャン機能を実行させないように書き換えられたコマンドを、元のスキャン機能を実行させるためのコマンドに書き換える。またメール送信機能を実行させないように書き換えられたコマンドを、元のメール送信機能を実行させるためのコマンドに書き換える。このような書き換えによって得られるアプリケーションプログラム8bは、ユーザAの機能制限情報25aに対応して、コピー機能、スキャン機能およびメール送信機能の3つの機能を利用することが可能なプログラムとなる。そして、このようなアプリケーションプログラム8bは、ユーザAに対応するユーザフォルダ23aに格納される。
尚、判定部33による判定の結果、実行対象であるアプリケーションプログラム8aにおいて利用不可能な状態となっている機能が、ログインユーザの機能制限情報において制限されている機能と一致する場合、書換部34によるプログラムの書き換えは行われない。この場合、ユーザフォルダ23に保存されるアプリケーションプログラム8bは、共有フォルダ22にインストールされているアプリケーションプログラム8aと同じプログラムとなる。
そして実行部35は、ログインユーザのユーザフォルダ23に保存されたアプリケーションプログラム8bを読み出して実行することにより、ログインユーザに対して予め設定された機能制限情報に適合した動作を行うようになる。尚、ログインユーザによって実行指示の与えられたアプリケーションプログラム8bが既にログインユーザのユーザフォルダ23に保存されている場合は、上記のような判定部33や書換部34による処理は行う必要がなく、そのログインユーザのユーザフォルダ23に保存されているアプリケーションプログラム8bを読み出してそのまま実行すれば良い。
ここで、判定部33および書換部34によるアプリケーションプログラムの書き換えの一例について説明する。図7は、アプリケーションプログラム8のインストール時における書き換えの一例を示す図である。本実施形態では、図7に示すように、共有フォルダ22に、情報処理装置1の各種情報処理機能を動作させるための具体的な処理手順が定義された複数のライブラリ40が予め格納されている。例えばライブラリ40aは、コピー機能を動作させるためのライブラリである。このライブラリ40aには、スキャナ部15とプリンタ部16とを連携して動作させるための処理手順が定義されている。またライブラリ40bは、スキャン機能を動作させるためのライブラリである。このライブラリ40bには、スキャナ部15とネットワークインタフェース18とを連携して動作させるための処理手順が定義されている。さらにライブラリ40cは、メール送信機能を動作させるためのライブラリである。このライブラリ40cには、ネットワークインタフェース18を介して電子メールを送信するための処理手順が定義されている。
このようなライブラリ40a,40b,40cは、アプリケーションプログラムと同様に情報処理装置1において実行されるプログラムの一種であるが、それ単独で実行されるプログラムではない。すなわち、ライブラリ40a,40b,40cは、情報処理装置1に搭載された各種情報処理機能のうちの特定の機能を動作させるための一部の処理だけを実行するプログラムである。このようなライブラリ40a,40b,40cは、CPU10で実行されるアプリケーションプログラムによって呼び出されて実行されるようになっている。これにより、ライブラリ40a,40b,40cによって実現される処理は、アプリケーションプログラムによる全体的な処理の一部に組み込まれ、情報処理装置1はアプリケーションプログラムによって利用される情報処理機能を正常に動作させるようになる。
尚、このようなライブラリ40は、例えば情報処理装置1に搭載された複数の情報処理機能のそれぞれに対して予め設定され、共有フォルダ22に保存されている。また、このようなライブラリ40は、共有フォルダ22だけでなく、各ユーザのユーザフォルダ23にも格納されている。
また本実施形態では、図7に示すように、共有フォルダ22に、複数のライブラリ40のそれぞれに対応するダミーライブラリ41が予め格納されている。ダミーライブラリ41は、情報処理装置1の各種情報処理機能を実際に動作させるためものではなく、それら実際の動作に代わる代替処理が定義されたライブラリである。例えばダミーライブラリ41aは、コピー機能に対応するダミーライブラリである。このダミーライブラリ41aには、スキャナ部15やプリンタ部16を実際に動作させることなく、それに代わる代替処理が定義されている。またダミーライブラリ41bは、スキャン機能に対応するダミーライブラリである。このダミーライブラリ41bには、スキャナ部15やネットワークインタフェース18を実際に動作させることなく、それに代わる代替処理が定義されている。さらにダミーライブラリ41cは、メール送信機能に対応するダミーライブラリである。このダミーライブラリ41cには、実際に電子メールを送信することなく、それに代わる代替処理が定義されている。
尚、このようなダミーライブラリ41は、共有フォルダ22に格納されるライブラリ40のそれぞれに対応して設けられる。また、このようなダミーライブラリ41は、共有フォルダ22だけでなく、各ユーザのユーザフォルダ23にも格納されている。
プログラム作成者などが、コピー機能、スキャナ機能およびメール送信機能を利用するアプリケーションプログラム8を作成する場合、上述したライブラリ40a,40b,40cを呼び出して実行させるようなプログラムが作成される。そのため、情報処理装置1においてインストール対象となるアプリケーションプログラム8には、ライブラリ40a,40b,40cを呼び出して実行するコマンドが含まれる。特に、アプリケーションプログラム8がスクリプト言語などで作成される場合、各種コマンドはテキスト形式で表記されており、それら各種コマンドの中に、ライブラリ40a,40b,40cを呼び出して実行するためのコマンドが含まれる。
そのため、判定部33は、アプリケーションプログラム8のインストール時に、そのアプリケーションプログラム8に含まれるコマンドをライン毎に解析していき、共通機能制限情報24で規制されている機能を動作させるためのライブラリ40を呼び出して実行させるライブラリ実行コマンドが含まれているか否かを判定する。その結果、インストール対象であるアプリケーションプログラム8に規制されている機能を動作させるライブラリ実行コマンドが含まれている場合、図7に示すように、書換部34が、そのライブラリ実行コマンドを、それに対応したダミーライブラリ実行コマンドに書き換える。例えば、アプリケーションプログラム8が共通機能制限情報24で制限されているスキャン機能およびメール送信機能のそれぞれを動作させるライブラリ実行コマンドを含んでいる場合、書換部34は、それらのライブラリ実行コマンドをダミーライブラリ実行コマンドに書き換える。この場合、スキャン機能に対応したライブラリ実行コマンドは、スキャン機能に対応したダミーライブラリ実行コマンドに書き換えられ、メール送信機能に対応したライブラリ実行コマンドは、メール送信機能に対応したダミーライブラリ実行コマンドに書き換えられる。
このような書き換え処理により、コピー機能、スキャン機能およびメール送信機能の3つの機能が利用可能なアプリケーションプログラム8は、コピー機能のみが利用可能であってスキャン機能およびメール送信機能の2つの機能が利用不可能な状態に書き換えられたアプリケーションプログラム8aが生成される。そして上述したようにアプリケーションプログラム8aは、共有フォルダ22にインストールされる。
したがって、仮に、実行部35が、共有フォルダ22にインストールされたアプリケーションプログラム8aを読み出してそのまま実行する場合には、全てのユーザが共通して利用可能な機能のみが動作することとなり、それ以外の機能は動作しない。それ故、各ユーザA,B,Cは、全てのユーザが共通して利用可能な機能のみを利用することができ、自身が利用できない機能はこの状態でも利用することができない。
ただし、この状態では、各ユーザA,B,Cは、自身が利用可能な機能でも利用することができないことがある。そのため、各ユーザA,B,Cが情報処理装置1にログインしてアプリケーションプログラム8aの実行を指示したときには、上述したように書換部34によってログインユーザの利用可能な機能が利用可能な状態に書き換えられたアプリケーションプログラム8bが生成され、そのアプリケーションプログラム8bがログインユーザのユーザフォルダ23に保存される。
図8は、アプリケーションプログラム8aの実行時における書き換えの一例を示す図である。例えばユーザAがアプリケーションプログラム8aの実行を指示した場合、判定部33は、そのアプリケーションプログラム8aに含まれるコマンドをライン毎に解析していき、ダミーライブラリ実行コマンドが含まれているか否かを判定する。その結果、ダミーライブラリ実行コマンドが含まれている場合、図8に示すように、書換部34は、ユーザAの機能制限情報25aに基づいてダミーライブラリ実行コマンドを、それに対応するライブラリ実行コマンドに書き換える。
このような書き換え処理により、コピー機能、スキャン機能およびメール送信機能の3つの機能のうちのスキャン機能およびメール送信機能の2つの機能が利用不可能な状態に書き換えられたアプリケーションプログラム8aは、スキャン機能およびメール送信機能の2つの機能が利用可能な状態に書き換えられ、ユーザAの機能制限情報25aに適合して3つの機能の全てが利用可能なアプリケーションプログラム8bが生成される。そしてこのようなアプリケーションプログラム8bは、ユーザAのユーザフォルダ23aに保存される。
したがって、実行部35が、ユーザフォルダ23aに保存されたアプリケーションプログラム8bを読み出して実行すると、ユーザAの利用可能な機能が全て動作することとなり、それ以外の機能は動作しない。それ故、ユーザAは、管理者によって設定された自身の利用可能な機能を全て正常に利用することができるようになる。
また、ユーザAのユーザフォルダ23aにアプリケーションプログラム8bが保存されると、その保存状態は継続される。そのため、ユーザAがその後再びアプリケーションプログラム8bの実行を指示した場合には、上記のような書き換え処理を行う必要はなく、実行部35は速やかにアプリケーションプログラム8bを実行することができる。それ故、アプリケーションプログラム8bを実行する際の処理効率が向上する。
また本実施形態では、共有フォルダ22に保存されたアプリケーションプログラム8aおよびユーザフォルダ23に保存されたアプリケーションプログラム8bは、共有フォルダ22に格納されている共通機能制限情報24又は各ユーザのユーザフォルダ23に格納されている機能制限情報25a,25b又は25cが更新されると、必要に応じて再び書き換えられる。すなわち、管理者によって機能制限情報25a,25b,25cのいずれかを更新する操作が行われると、機能制限管理部31は、それに応じてユーザフォルダ23a,23b,23cに格納されている機能制限情報25a,25b,25cのいずれかを更新する。これに伴い、機能制限管理部31は、必要に応じて共有フォルダ22の共通機能制限情報24を更新する。このように機能制限管理部31によって機能制限情報25a,25b,25c又は共通機能制限情報24が更新されると、判定部33および書換部34が機能する。そして判定部33は、各ユーザのユーザフォルダ23に保存されているアプリケーションプログラム8bが、管理者によって更新された機能制限情報25a,25b又は25cに適合するか否かを判定する。また判定部33は、共有フォルダ22に保存されているアプリケーションプログラム8aが共通機能制限情報24に適合するか否かを判定する。そして書換部34は、その判定結果に基づいて、ユーザフォルダ23に保存されているアプリケーションプログラム8b又は共有フォルダ22に保存されているアプリケーションプログラム8aを書き換える。これにより、共有フォルダ22又はユーザフォルダ23に保存されるアプリケーションプログラム8a,8bは、各ユーザA,B,Cに対して個別に設定される機能制限情報25a,25b,25cに適合するプログラムとして管理される。
次に情報処理装置1における処理手順について詳しく説明する。図9乃至図12は、第1の実施の形態における情報処理装置1で行われる処理手順の一例を示すフローチャートである。この処理は、CPU10がアプリケーション管理プログラム21を起動することによって行われる。つまり、この処理は、CPU10が上述したアプリケーション管理部30として機能する場合の処理手順である。
CPU10は、アプリケーション管理プログラム21を起動すると、まず、アプリケーションプログラム8のインストールを行うか否かを判断する(ステップS1)。ここでは、例えばネットワーク4を介してコンピュータ2又はサーバ3からアプリケーションプログラム8のインストール指示を受信したか否かが判断される。そしてインストール指示を受信していれば(ステップS1でYES)、アプリケーションプログラム8のインストール処理を実行する(ステップS2)。そしてインストール処理の終了後、ステップS3に進む。またインストール指示がない場合(ステップS1でNO)、ステップS2をスキップして、そのままステップS3に進む。
次にCPU10は、情報処理装置1にインストールされているアプリケーションプログラムの実行指示をあったか否かを判断する(ステップS3)。ここでは、例えば情報処理装置1にログインしたログインユーザが、情報処理装置1にインストールされている一のアプリケーションプログラムを選択して実行指示を行ったか否かが判断される。そしてアプリケーションプログラムの実行指示があれば(ステップS3でYES)、アプリケーション実行処理を実行する(ステップS4)。そしてアプリケーション実行処理の終了後、ステップS5に進む。またアプリケーションプログラムの実行指示がない場合(ステップS3でNO)、ステップS4をスキップして、そのままステップS5に進む。
次にCPU10は、機能制限情報25a,25b又は25cを更新するか否かを判断する(ステップS5)。ここでは、例えば管理者による機能制限情報25a,25b又は25cの更新指示が行われたか否かが判断される。そして機能制限情報25a,25b又は25cの更新を行う場合(ステップS5でYES)、機能制限情報更新処理を実行する(ステップS6)。そして機能制限情報更新処理の終了後、ステップS1に戻る。また機能制限情報25a,25b又は25cの更新を行わない場合(ステップS5でNO)、ステップS6をスキップして、そのままステップS1に戻る。
それ以後、CPU10は上述した処理を繰り返す。したがって、情報処理装置1に電源が投入されると、CPU10は、アプリケーション管理プログラム21を起動して上記処理を繰り返し実行することになる。そのため、情報処理装置1に電源が投入されている状態で、新規なアプリケーションプログラム8のインストール指示があれば、CPU10はそれに伴ってインストール処理(ステップS2)を実行する。またログインユーザによるアプリケーションプログラムの実行指示があれば、CPU10はそれに伴ってアプリケーション実行処理(ステップS4)を実行する。さらに、管理者によって機能制限情報25a,25c又は25cが更新されると、CPU10はそれに伴って機能制限情報更新処理(ステップS6)を実行するので、管理者による更新がリアルタイムに反映されることとなる。以下、これらの処理について詳しく説明する。
図10は、インストール処理(ステップS2)の詳細な処理手順の一例を示すフローチャートである。このインストール処理に伴い、CPU10は上述したインストール部32、判定部33および書換部34として機能する。CPU10は、インストール処理を開始すると、まずインストール対象であるアプリケーションプログラム8を取得する(ステップS10)。ここでは、例えばネットワークインタフェース18がコンピュータ2又はサーバ3から受信したアプリケーションプログラム8がインストール対象として取得される。そしてCPU10は、共有フォルダ22に記憶されている共通機能制限情報24を取得し(ステップS11)、その後、インストール対象であるアプリケーションプログラム8に含まれるコマンドを解析する(ステップS12)。ここでは、インストール対象であるアプリケーションプログラム8に、共通機能制限情報24で制限されている機能を利用するためのコマンドが含まれているか否かが解析される。そして共通機能制限情報24で制限されている機能を利用するためのコマンドが含まれている場合、そのようなコマンドは全て抽出される。
次にCPU10は、上記解析結果に基づき、インストール対象であるアプリケーションプログラム8に、共通機能制限情報24で制限されている機能を利用するためのコマンドが含まれているか否かを判断する(ステップS13)。そして共通機能制限情報24で制限されている機能を利用するためのコマンドが含まれていれば(ステップS13でYES)、そのようなコマンドを全て書き換える(ステップS14)。ここでは、アプリケーションプログラム8に含まれている利用制限された機能を利用するためのコマンド(例えばライブラリ実行コマンド)を、その機能を利用しないコマンド(例えばダミーライブラリ実行コマンド)に書き換える。この書き換えにより、インストール対象として取得されたアプリケーションプログラム8は、共通機能制限情報24で制限されている機能を利用しないアプリケーションプログラム8aに書き換えられる。そしてコマンドの書き換えられたアプリケーションプログラム8aがインストール対象となる。尚、インストール対象であるアプリケーションプログラム8に、共通機能制限情報24で制限されている機能を利用するためのコマンドが含まれていない場合(ステップS13でNO)、そのアプリケーションプログラム8がそのままインストール対象のアプリケーションプログラム8aとなる。
次にCPU10は、上記のような処理によってインストール対象として得られるアプリケーションプログラム8aを共有フォルダ22にインストールする(ステップS15)。これにより、アプリケーションプログラム8aは、各ユーザA,B,Cが共通して利用可能な機能だけを利用可能なプログラムとして共有フォルダ22にインストールされる。以上で、インストール処理が終了する。
次に図11は、アプリケーション実行処理(ステップS4)の詳細な処理手順の一例を示すフローチャートである。このアプリケーション実行処理に伴い、CPU10は上述した実行部35、判定部33および書換部34として機能する。CPU10は、アプリケーション実行処理を開始すると、まずユーザを特定する(ステップS20)。ここでは、情報処理装置1にログインしているログインユーザが特定される。そしてCPU10は、その特定したユーザに対応するユーザフォルダ23を特定する(ステップS21)。例えばログインユーザがユーザAである場合、CPU10は、ユーザAに対応するユーザフォルダ23aを特定する。
次にCPU10は、その特定したユーザフォルダ23に実行対象であるアプリケーションプログラム8bが保存されていないかどうか確認する(ステップS22)。特定したユーザフォルダ23にアプリケーションプログラム8bが保存されていない場合(ステップS22でYES)、CPU10は、その特定したユーザフォルダ23からログインユーザに対応する機能制限情報25a,25b又は25cを読み出す(ステップS23)。例えばログインユーザがユーザAである場合、ここでは、ユーザAに対応するユーザフォルダ23aからユーザAに対して予め設定されている機能制限情報25aが読み出される。
そしてCPU10は、共有フォルダ22から実行対象であるアプリケーションプログラム8aを読み出し(ステップS24)、そのアプリケーションプログラム8aに含まれるコマンドを解析する(ステップS25)。ここでは、ログインユーザの機能制限情報25a,25b又は25cで利用可能となっている機能が、実行対象であるアプリケーションプログラム8aにおいて利用不可能な状態に書き換えられているか否かが解析される。例えば、ログインユーザの機能制限情報25a,25b又は25cで利用可能となっている機能に対応するコマンドがダミーライブラリ実行コマンドに書き換えられていれば、そのようなコマンドは全て抽出される。
そしてCPU10は、上記解析結果に基づき、実行対象であるアプリケーションプログラム8aに含まれるコマンドのうち、ログインユーザの機能制限情報25a,25b又は25cで利用可能となっている機能に対応するコマンドが利用不可能なコマンドに書き換えられているか否かを判断する(ステップS26)。そして利用不可能なコマンドに書き換えられていれば(ステップS26でYES)、そのようなコマンドを全て書き換える(ステップS27)。ここでは、アプリケーションプログラム8aにおいて利用不可能な状態に書き換えられているコマンド(例えばダミーライブラリ実行コマンド)を、ログインユーザの機能制限情報25a,25b又は25cに基づいて有効に利用可能なコマンド(例えばライブラリ実行コマンド)に書き換える。この書き換えにより、実行対象として共有フォルダ22から読み出されたアプリケーションプログラム8aは、ログインユーザの機能制限情報25a,25b又は25cに基づいてログインユーザが適切に利用可能なアプリケーションプログラム8bに書き換えられる。そしてコマンドの書き換えられたアプリケーションプログラム8bが実行対象となる。CPU10は、そのアプリケーションプログラム8bの実行を開始する前に、そのアプリケーションプログラム8bをログインユーザのユーザフォルダ23に保存する(ステップS28)。
尚、共有フォルダ22から読み出されたアプリケーションプログラム8aに、ログインユーザが利用可能な機能であるにもかかわらず、その機能が利用不可能な状態に書き換えられているコマンドが含まれていない場合(ステップS26でNO)、そのアプリケーションプログラム8aがそのまま実行対象となる。
一方、ステップS22において、ログインユーザのユーザフォルダ23に既に実行対象であるアプリケーションプログラム8bが保存されている場合(ステップS22でNO)、CPU10は、そのユーザフォルダ23からアプリケーションプログラム8bを実行対象として読み出す(ステップS29)。
そしてCPU10は、上記のような処理によって実行対象として得られるアプリケーションプログラム8b(又は8a)の実行を開始する(ステップS30)。これにより、ログインユーザは、自身に予め設定されている機能制限情報25a,25b又は25cに対応する機能を利用することができるようになる。例えばログインユーザがユーザAである場合、CPU10はアプリケーションプログラム8bを実行することにより、そのアプリケーションプログラム8bに含まれるコピー機能、スキャン機能およびメール送信機能の全ての機能を有効に利用することができるように、情報処理装置1を動作させる。またログインユーザがユーザBである場合、CPU10はアプリケーションプログラム8bを実行することにより、そのアプリケーションプログラム8bに含まれるスキャン機能は利用することができないが、他のコピー機能およびメール送信機能は有効に利用することができるように、情報処理装置1を動作させる。さらに、ログインユーザがユーザCである場合、CPU10はアプリケーションプログラム8bを実行することにより、そのアプリケーションプログラム8bに含まれるメール送信機能は利用する事ができないが、他のコピー機能およびスキャン機能は有効に利用することができるように、情報処理装置1を動作させる。したがって、このようなアプリケーション実行処理により、情報処理装置1は、管理者によって予め設定されるユーザごとの機能制限情報を適切に反映させた状態で各種の情報処理機能を動作させるようになる。
次に図12は、機能制限情報更新処理(ステップS6)の詳細な処理手順の一例を示すフローチャートである。この機能制限情報更新処理に伴い、CPU10は上述した機能制限管理部31、判定部33および書換部34として機能する。CPU10は、機能制限情報更新処理を開始すると、まず管理者によって入力される機能制限情報25a,25b又は25cを取得する(ステップS40)。この機能制限情報25a,25b又は25cには、例えばユーザを特定するための情報が含まれる。そのため、CPU10は、機能制限情報25a,25b又は25cを取得すると、それに伴い、機能制限情報25a,25b又は25cの更新対象であるユーザを特定し(ステップS41)、更にその特定したユーザのユーザフォルダ23を特定する(ステップS42)。そしてCPU10は、取得した機能制限情報25a,25b又は25cを、特定したユーザフォルダ23に上書き保存することによって機能制限情報25a,25b又は25cを更新する(ステップS43)。
次にCPU10は、特定したユーザフォルダ23にアプリケーションプログラム8bが保存されているか否かを判断する(ステップS44)。ユーザフォルダ23にアプリケーションプログラム8bが保存されている場合(ステップS44でYES)、CPU10は、更新した機能制限情報25a,25b又は25cに基づいて、そのアプリケーションプログラム8bに含まれるコマンドを書き換える(ステップS45)。ここでは、例えば、機能制限情報25a,25b又は25cの更新によって、特定のユーザによる利用可能な機能が追加される場合、アプリケーションプログラム8bに含まれるその追加機能に対応するコマンドが、ダミーライブラリ実行コマンドからライブラリ実行コマンドに書き換えられる。これとは反対に、例えば機能制限情報25a,25b又は25cの更新によって、特定のユーザによる利用可能な機能が削減される場合、アプリケーションプログラム8bに含まれるその削減機能に対応するコマンドが、ライブラリ実行コマンドからダミーライブラリ実行コマンドに書き換えられる。尚、ユーザフォルダ23にアプリケーションプログラム8bが保存されていない場合(ステップS44でNO)、ステップS45の処理は行われない。
次にCPU10は、共有フォルダ22から共通機能制限情報24を読み出す(ステップS46)。そしてユーザフォルダ23の機能制限情報25a,25b又は25cを更新したことに伴い、共通機能制限情報24を更新する必要があるか否かを判断する(ステップS47)。その結果、共通機能制限情報24を更新する必要がない場合(ステップS47でNO)、機能制限情報更新処理は終了する。
一方、共通機能制限情報24を更新する必要がある場合(ステップS47でYES)、CPU10は、共通機能制限情報24を更新する(ステップS48)。そして共有フォルダ22からアプリケーションプログラム8aを読み出し(ステップS49)、更新された共通機能制限情報24との整合性を保つために、更新された共通機能制限情報24に基づいてアプリケーションプログラム8aに含まれるコマンドを書き換える(ステップS50)。ここでは、例えば、共通機能制限情報24の更新によって、各ユーザが共通して利用が可能な機能が追加される場合、アプリケーションプログラム8aに含まれるその追加機能に対応するコマンドが、ダミーライブラリ実行コマンドからライブラリ実行コマンドに書き換えられる。これとは反対に、例えば共通機能制限情報24の更新によって、各ユーザが共通して利用可能な機能が削減される場合、アプリケーションプログラム8aに含まれるその削減機能に対応するコマンドが、ライブラリ実行コマンドからダミーライブラリ実行コマンドに書き換えられる。そして機能制限情報更新処理が終了する。
このような機能制限情報更新処理により、複数のユーザA,B,Cのいずれかの機能制限情報25a,25b又は25cが更新されると、それに伴い、共有フォルダ22又はユーザフォルダ23に保存されているアプリケーションプログラム8a,8bが必要に応じて書き換えられる。つまり、情報処理装置1にアプリケーションプログラム8がインストールされた後でも、管理者によって機能制限情報25a,25b又は25cが更新されると、それに伴い、情報処理装置1に保存されているアプリケーションプログラム8a,8bは、その更新された機能制限情報25a,25b又は25cに対応するようにリアルタイムで書き換えられる。そのため、各ユーザA,B,Cが情報処理装置1を利用する際には、常に最新の機能制限情報25a,25bおよび25cが適切に反映された状態で各種情報処理機能が動作するようになる。
以上のように本実施形態の情報処理装置1は、プログラム作成者などによって作成されたアプリケーションプログラム8をインストールする際、アプリケーションプログラム8に含まれるコマンドを解析することによって、共通機能制限情報24で制限された機能を利用するか否かを判定する。そしてアプリケーションプログラム8が共通機能制限情報24によって制限された機能を利用する場合、そのアプリケーションプログラム8に含まれるコマンドを書き換えることによって共通機能制限情報24で制限された機能を利用不可能な状態に書き換えてインストールする。したがって、情報処理装置1にインストールされるアプリケーションプログラム8は、複数のユーザA,B,Cの全てが共通して利用可能な機能を除いて情報処理装置1に搭載された各種情報処理機能の利用を制限するアプリケーションプログラム8aとしてインストールされる。
このようなインストール形態によれば、情報処理装置1のユーザやその他のプログラム作成者は、情報処理装置1にインストールするためのアプリケーションプログラム8を作成する際、ユーザごとに設定される機能制限情報25a,25b,25cがどのような情報であるかを考慮することなく、アプリケーションプログラム8を作成することができるようになる。よって、プログラム作成者などがアプリケーションプログラム8を作成する際の作業負担が著しく軽減されるので、効率的なプログラム作成が可能となり、情報処理装置1の利便性が向上する。また管理者にとっても、プログラム作成者などによって作成されたアプリケーションプログラム8の試験運用などを行う必要がなくなるので、管理者の作業負担も軽減することができるようになる。
また、本実施形態の情報処理装置1は、特定のユーザの指示に基づいて、インストールされたアプリケーションプログラム8aを実行する際、その特定のユーザに対応する機能制限情報25a,25b又は25cを読み出し、アプリケーションプログラム8aに含まれるコマンドを解析することによってその特定のユーザの利用可能な機能が利用不可能な状態に書き換えられているか否かを判定する。そして特定のユーザの利用可能な機能が利用不可能な状態に書き換えられている場合、アプリケーションプログラム8aに含まれるコマンドを書き換えることによってその特定のユーザが利用可能な状態に書き換えて実行する。したがって、情報処理装置1において実行されるアプリケーションプログラム8aは、特定のユーザが利用可能な機能の全てが正常に利用できる状態に書き換えられたアプリケーションプログラム8bとなって実行される。
このようなアプリケーション実行形態によれば、情報処理装置1のユーザやその他のプログラム作成者は、情報処理装置1において実行されるアプリケーションプログラム8を作成する際、ユーザごとに設定される機能制限情報25a,25b,25cがどのような情報であるかを考慮することなく、アプリケーションプログラム8を作成することができるようになる。よって、この場合にも、プログラム作成者などがアプリケーションプログラム8を作成する際の作業負担が著しく軽減されるので、効率的なプログラム作成が可能となり、情報処理装置1の利便性が向上する。また管理者にとっても、プログラム作成者などによって作成されたアプリケーションプログラム8の試験運用などを行う必要がなくなるので、管理者の作業負担も軽減することができるようになる。
また情報処理装置1は、アプリケーションプログラム8をインストールする際には、共通機能制限情報24で制限された機能を利用不可能な状態に書き換えたアプリケーションプログラム8aを共有フォルダ22にインストールする。共有フォルダ22は複数のユーザが共通して利用可能な共通記憶領域であるため、共有フォルダ22にインストールされるアプリケーションプログラム8aは、複数のユーザのそれぞれが利用できる状態となる。そのため、情報処理装置1に対してインストールを1回だけ行えば、それによって共有フォルダ22にインストールされるアプリケーションプログラム8aを各ユーザが自由に利用できるようになる。ただし、共有フォルダ22にインストールされるアプリケーションプログラム8aは、複数のユーザA,B,Cの全てが共通して利用可能な機能を除いて情報処理装置1に搭載された各種情報処理機能の利用が制限されたプログラムとなる。そのため、情報処理装置1においてアプリケーションプログラム8aが実行されることにより、各ユーザが利用可能な機能は、自身の機能制限情報25a,25b,25cで定められた機能と同等或いはそれよりも狭い範囲となる。
そこで情報処理装置1は、特定のユーザの指示に基づいてアプリケーションプログラム8aを実行する際には、その特定のユーザが利用可能な状態に書き換えたアプリケーションプログラム8bを生成し、そのアプリケーションプログラム8bをその特定のユーザに対応するユーザフォルダ23に記憶して実行するようにしている。ユーザフォルダ23は、特定のユーザのみがアクセス可能な特定のユーザ専用の記憶領域であるため、他のユーザは特定のユーザのユーザフォルダ23に記憶されたアプリケーションプログラム8bにアクセスすることはできない。それ故、ユーザフォルダ23に記憶されるアプリケーションプログラム8bは、特定のユーザの専用プログラムとなり、特定のユーザに対応した情報処理機能を有効に動作させるようになる。
(第2の実施の形態)
次に第2の実施の形態について説明する。上述した第1の実施の形態では、プログラム作成者などによって作成されたアプリケーションプログラム8を情報処理装置1にインストールする際に、或いは、情報処理装置1に既にインストールされているアプリケーションプログラム8aを各ユーザからの最初の実行指示に基づいて実行する際に、それらアプリケーションプログラム8,8aに含まれるコマンドが書き換えられる。そのため、アプリケーションプログラム8のインストール時、或いは、アプリケーションプログラム8aの最初の実行時において処理効率が低下する。そこで、この第2の実施の形態では、アプリケーションプログラム8のインストール処理および実行処理を効率的に行うことができるようした構成例について説明する。尚、本実施形態においても、情報処理装置1の主たる構成は、第1の実施の形態で説明したものと同様である。
第2の実施の形態における情報処理装置1は、各ユーザA,B,Cのユーザフォルダ23a,23b,23cのそれぞれにライブラリ40をインストールする際に、そのライブラリ40を書き換える構成である。図13は、第2の実施の形態において情報処理装置1のCPU10がライブラリ40をインストールする際の機能構成の一例を示すブロック図である。尚、図13に示す各ブロックは、本実施形態においても、CPU10がアプリケーション管理プログラム21を実行することによって実現されるものである。また図13では、各ユーザA,B,Cに対応するユーザフォルダ23a,23b,23cのみを示しており、各ユーザA,B,Cが共通して利用する共有フォルダ22は図示を省略している。
図13に示すように、CPU10は、アプリケーション管理プログラム21を実行することにより、アプリケーション管理部30として機能する。このアプリケーション管理部30は、各ユーザA,B,Cのユーザフォルダ23a,23b,23cのそれぞれにライブラリ40をインストールする際、インストール部32、判定部33および書換部34として機能する。以下、これら各部について詳しく説明する。
インストール部32は、ネットワークインタフェース18を介して情報処理装置1に入力する新たなライブラリ40を、各ユーザA,B,Cのユーザフォルダ23a,23b,23cにインストールする処理部である。インストール対象となるライブラリ40は、上述したように、情報処理装置1の各種情報処理機能を動作させるための具体的な処理手順が定義された一種のプログラムであるが、それ単独で実行されるプログラムではなく、情報処理装置1に別途インストールされるアプリケーションプログラムが実行されることによって呼び出されて実行されるプログラムである。そのため、ライブラリ40には、情報処理装置1の各種情報処理機能を動作させるための具体的な処理手順を実行させるための各種のコマンドが含まれる。インストール部32は、上記のようなライブラリ40を取得すると、まず判定部33を機能させる。
判定部33は、ライブラリ40をインストールする際、各ユーザA,B,Cのユーザフォルダ23a,23b,23cに記憶されている機能制限情報25a,25b,25cを読み出す。そして判定部33は、インストール対象となるライブラリ40に含まれるコマンドを解析することにより、そのライブラリ40が各ユーザA,B,Cに対して設定されている機能制限情報25a,25b,25cで制限された機能を動作させるためのライブラリを含んでいるか否かを判定する。この判定は、各ユーザA,B,Cに対して個別に設定された機能制限情報25a,25b,25cごとに行われる。そしてインストール対象であるライブラリ40が各ユーザA,B,Cの機能制限情報25a,25b,25cで制限された機能を利用するライブラリを含んでいる場合、判定部33は、書換部34を機能させる。
書換部34は、ライブラリ40に含まれるコマンドを書き換える処理部である。この書換部34は、ライブラリ40に含まれるコマンドであって、機能制限情報25a,25b,25cで制限された機能を動作させるために定義されている処理手順の実行コマンドを、無効なコマンドに書き換える。このような書き換えは、各ユーザA,B,Cの機能制限情報25a,25b,25cのそれぞれに対応するように個別に行われる。したがって、このような書き換えにより、ユーザAの機能制限情報25aに対応するライブラリ42と、ユーザBの機能制限情報25bに対応するライブラリ43と、ユーザCの機能制限情報25cに対応するライブラリ44とがそれぞれ個別に生成されることになる。
インストール部32は、上記のようにして書換部34によりコマンドの書き換えられたライブラリ42,43,44を、各ユーザA,B,Cのユーザフォルダ23a,23b,23cのそれぞれにインストールする。つまり、ユーザAのユーザフォルダ23aにはユーザAの機能制限情報25aに対応するライブラリ42がインストールされ、ユーザBのユーザフォルダ23bにはユーザBの機能制限情報25bに対応するライブラリ43がインストールされ、更にユーザCのユーザフォルダ23cにはユーザCの機能制限情報25cに対応するライブラリ44がインストールされる。
各ユーザフォルダ23a,23b,23cにインストールされるライブラリ42,43,44について詳しく説明する。図14は、ユーザAのユーザフォルダ23aにインストールされるライブラリ42の概念を示す図である。図14に示すようにインストール対象であるライブラリ40は、情報処理装置1の各種情報処理機能を動作させるための複数のライブラリ40a,40b,40cで構成される。これらライブラリ40a,40b,40cは、第1の実施の形態で説明したものと同様である。例えば、ライブラリ40aはコピー機能を動作させるためのライブラリであり、ライブラリ40bはスキャン機能を動作させるためのライブラリである。またライブラリ40cはメール送信機能を動作させるためのライブラリである。
これらライブラリ40a,40b,40cに定義される処理手順はそれぞれの情報処理機能を動作させるためのものである。このような処理手順は、それを実行させるためのコマンドによって定義されている。そのため、各ライブラリ40a,40b,40cに含まれるコマンドが有効なコマンドであれば、CPU10によって呼び出されて各ライブラリ40a,40b,40cが実行されると、情報処理装置1において各ライブラリ40a,40b,40cに対応する情報処理機能が動作する。一方、各ライブラリ40a,40b,40cに含まれるコマンドが無効なコマンドに書き換えられていれば、CPU10によって呼び出されて各ライブラリ40a,40b,40cが実行された場合でも、情報処理装置1において各ライブラリ40a,40b,40cに対応する情報処理機能は動作しないようになる。
図14に示すように、ライブラリ40をユーザAのユーザフォルダ23aにインストールする場合、判定部33は、ユーザAの機能制限情報25aを読み出す。そして判定部33は、ライブラリ40に含まれるライブラリ40a,40b,40cのそれぞれが、その機能制限情報25aで制限された機能を動作させるためのライブラリであるか否かを判断する。図14の場合、ユーザAの機能制限情報25aにおいてコピー機能、スキャン機能およびメール送信機能の3つの機能の全てが利用可能となっており、ライブラリ40に含まれるライブラリ40a,40b,40cのそれぞれが、その機能制限情報25aで制限された機能を動作させるためのライブラリに該当しない。そのため、ユーザAのユーザフォルダ23aにインストールされるライブラリ42は、インストール対象であるライブラリ40と同じものとなる。すなわち、ユーザフォルダ23aにインストールされるライブラリ42を構成する各ライブラリ42a,42b,42cは、ライブラリ40を構成する各ライブラリ40a,40b,40cと全く同じものとなる。この場合、各ライブラリ42a,42b,42cに含まれるコマンドが有効なコマンドのままでインストールされるので、CPU10によって呼び出されてそれらのライブラリ42a,42b,42cが実行されると、情報処理装置1において各ライブラリ42a,42b,42cに対応する情報処理機能が正常に動作するようになる。
次に図15は、ユーザBのユーザフォルダ23bにインストールされるライブラリ43の概念を示す図である。図15に示すように、ライブラリ40をユーザBのユーザフォルダ23bにインストールする場合、判定部33は、ユーザBの機能制限情報25bを読み出す。そして判定部33は、ライブラリ40に含まれるライブラリ40a,40b,40cのそれぞれが、その機能制限情報25bで制限された機能を動作させるためのライブラリであるか否かを判断する。図15の場合、ユーザBの機能制限情報25bにおいてスキャン機能が利用不可となっているため、スキャン機能に対応するライブラリ40bが機能制限情報25bで制限された機能を動作させるためのライブラリに該当する。
このような場合、書換部34が機能し、ライブラリ40bに含まれるコマンドを書き換える。すなわち、ライブラリ40bで定義された処理手順を実行させるためのコマンドを無効なコマンドに書き換える。例えば、ライブラリ40bで定義された処理手順を実行させるための有効なコマンドを単なるコメントなどに置き換えることにより、無効なコマンドに書き換える。また処理結果として正常終了したことを示す情報をアプリケーションプログラムに返答するコマンドを新たに追加してもよい。これにより、ライブラリ40bは、CPU10によって実行されてもスキャン機能を動作させるための処理手順は実行されなくなる。尚、図15の場合、ライブラリ40a,40cは、ユーザBの利用可能な機能を動作させるためのライブラリであるので、上記のような書き換えは行われない。
そしてユーザBのユーザフォルダ23bにインストールされるライブラリ43は、スキャン機能に対応するライブラリ43bの処理手順が無効となった状態でインストールされる。すなわち、ユーザフォルダ23bにインストールされるライブラリ43a,43cは、インストール対象として取得されたライブラリ40に含まれるライブラリ40a,40cと同じものとなるが、ライブラリ43bは、ライブラリ40bとは異なるものになる。この場合、ライブラリ43a,43cに含まれるコマンドは有効なコマンドのままでインストールされるので、CPU10によって呼び出されてそれらのライブラリ43a,43cが実行されると、情報処理装置1において各ライブラリ43a,43cに対応する情報処理機能(すなわち、コピー機能とメール送信機能)が正常に動作するようになる。これに対し、ライブラリ43bに含まれるコマンドは無効なコマンドに書き換えられてインストールされるので、CPU10によって呼び出されてそのライブラリ43bが実行された場合でも、情報処理装置1においてライブラリ43bに対応する情報処理機能(すなわち、スキャン機能)は動作しない。
次に図16は、ユーザCのユーザフォルダ23cにインストールされるライブラリ44の概念を示す図である。図16に示すように、ライブラリ40をユーザCのユーザフォルダ23cにインストールする場合、判定部33は、ユーザCの機能制限情報25cを読み出す。そして判定部33は、ライブラリ40に含まれるライブラリ40a,40b,40cのそれぞれが、その機能制限情報25cで制限された機能を動作させるためのライブラリであるか否かを判断する。図16の場合、ユーザCの機能制限情報25cにおいてメール送信機能が利用不可となっているため、メール送信機能に対応するライブラリ40cが機能制限情報25cで制限された機能を動作させるためのライブラリに該当する。
このような場合、書換部34が機能し、ライブラリ40cに含まれるコマンドを書き換える。すなわち、ライブラリ40cで定義された処理手順を実行させるためのコマンドを無効なコマンドに書き換える。例えば、ライブラリ40cで定義された処理手順を実行させるための有効なコマンドを単なるコメントなどに置き換えることにより、無効なコマンドに書き換える。また処理結果として正常終了したことを示す情報をアプリケーションプログラムに返答するコマンドを新たに追加してもよい。これにより、ライブラリ40cは、CPU10によって実行されてもメール送信機能を動作させるための処理手順は実行されなくなる。尚、図16の場合、ライブラリ40a,40bは、ユーザCの利用可能な機能を動作させるためのライブラリであるので、上記のような書き換えは行われない。
そしてユーザCのユーザフォルダ23cにインストールされるライブラリ44は、メール送信機能に対応するライブラリ44cの処理手順が無効となった状態でインストールされる。すなわち、ユーザフォルダ23cにインストールされるライブラリ44a,44bは、インストール対象として取得されたライブラリ40に含まれるライブラリ40a,40bと同じものとなるが、ライブラリ44cは、ライブラリ40cとは異なるものになる。この場合、ライブラリ44a,44bに含まれるコマンドは有効なコマンドのままでインストールされるので、CPU10によって呼び出されてそれらのライブラリ44a,44bが実行されると、情報処理装置1において各ライブラリ44a,44bに対応する情報処理機能(すなわち、コピー機能とスキャン機能)が正常に動作するようになる。これに対し、ライブラリ44cに含まれるコマンドは無効なコマンドに書き換えられてインストールされるので、CPU10によって呼び出されてそのライブラリ44cが実行された場合でも、情報処理装置1においてライブラリ44cに対応する情報処理機能(すなわち、メール送信機能)は動作しない。
尚、上記においては、各ユーザA,B,Cのユーザフォルダ23a,23b,23cにライブラリ40をインストールする場合を例示したが、共有フォルダ22にライブラリ
40をインストールする場合も同様である。すなわち、共有フォルダ22にライブラリ
40をインストールする場合は、共通機能制限情報24に適合するようにライブラリ40に含まれるコマンドが書き換えられる。
上記のように本実施形態の情報処理装置1は、各ユーザA,B,Cのユーザフォルダ23a,23b,23cにライブラリ40をインストールする際、各ユーザA,B,Cの機能制限情報25a,25b,25cに適合するようにコマンドを書き換えたライブラリ42,43,44を生成し、それらライブラリ42,43,44をユーザフォルダ23a,23b,23cのそれぞれに個別にインストールする。そのため、本実施形態では、プログラム作成者などが作成したアプリケーションプログラム8をインストールする際には、アプリケーションプログラム8に含まれるコマンドを書き換える必要がなくなる。また情報処理装置1にインストールされたアプリケーションプログラム8を実行する際にも、アプリケーションプログラム8に含まれるコマンドを書き換える必要がなくなる。
図17は、第2の実施の形態において情報処理装置1のCPU10がアプリケーションプログラム8をインストールする際および実行する際の機能構成の一例を示すブロック図である。尚、図17に示す各ブロックは、本実施形態においても、CPU10がアプリケーション管理プログラム21を実行することによって実現されるものである。また図17では、各ユーザA,B,Cに対応するユーザフォルダ23a,23b,23cのみを示しており、各ユーザA,B,Cが共通して利用する共有フォルダ22は図示を省略している。
図17に示すように、CPU10は、アプリケーション管理プログラム21を実行することにより、アプリケーション管理部30として機能する。このアプリケーション管理部30は、アプリケーションプログラム8を情報処理装置1にインストールする際、インストール部32として機能する。また、アプリケーション管理部30は、情報処理装置1にインストールされたアプリケーションプログラム8を実行する際、実行部35として機能する。
インストール部32は、ネットワークインタフェース18を介して情報処理装置1に入力する新たなアプリケーションプログラム8を、そのままの状態で、各ユーザA,B,Cのユーザフォルダ23a,23b,23cにインストールする。すなわち、本実施形態では、各ユーザA,B,Cのユーザフォルダ23a,23b,23cに対し、同じアプリケーションプログラム8がインストールされる。
このようなアプリケーションプログラム8には、情報処理装置1に搭載された各種情報処理機能を利用するためのコマンドが含まれている。このコマンドは、第1の実施の形態でも説明したように、各ユーザフォルダ23a,23b,23cに記憶されているライブラリ42,43,44を呼び出して実行するコマンドとなっている。そして本実施形態では、各ユーザフォルダ23a,23b,23cに記憶されているライブラリ42,43,44は、ユーザごとの機能制限情報25a,25b,25cに対応したライブラリに書き換えられている。そのため、アプリケーションプログラム8をインストールする際には第1の実施の形態のように、アプリケーションプログラム8に含まれるコマンドを書き換える必要がなくなり、効率的にインストール処理を行うことが可能になる。
そしてログインユーザによるアプリケーションプログラム8の実行指示が行われると、アプリケーション管理部30において実行部35が機能する。本実施形態の実行部35は、ログインユーザによって選択されたアプリケーションプログラム8を、そのログインユーザに対応するユーザフォルダ23a,23b又は23cから読み出し、そのままの状態で実行する。
例えば、ログインユーザがユーザAである場合、実行部35は、ユーザAのユーザフォルダ23aからアプリケーションプログラム8を読み出して実行する。そしてユーザフォルダ23aから読み出して実行するアプリケーションプログラム8に、ライブラリ42を読み出して実行するコマンドが含まれていると、そのコマンドに従って同じユーザフォルダ23aからライブラリ42を読み出して実行する。またログインユーザがユーザB又はCである場合も同様であり、それぞれのユーザフォルダ23b,23cにインストールされたアプリケーションプログラム8を実行する際には、それぞれのユーザフォルダ23b,23cに記憶されているライブラリ43,44が呼び出されて実行される。
したがって、実行部35が、ログインユーザに対応するユーザフォルダ23a,23b,23cからアプリケーションプログラム8を読み出して実行すると、情報処理装置1はそのログインユーザの機能制限情報25a,25b又は25cに対応して情報処理機能を動作させる。すなわち、ログインユーザがユーザAである場合は、コピー機能、スキャン機能およびメール送信機能の3つの機能全てが動作するようになる。またログインユーザがユーザBである場合は、スキャン機能を除き、コピー機能とメール送信機能との2つの機能が動作するようになる。さらにログインユーザがユーザCである場合には、メール送信機能を除き、コピー機能とスキャン機能との2つの機能が動作するようになる。
このように本実施形態では、実行部35がアプリケーションプログラム8を実行する際には、第1の実施の形態のように、アプリケーションプログラム8に含まれるコマンドを書き換える必要がなくなるので、効率的にアプリケーションプログラム8の実行を開始することができる。
図18は、第2の実施の形態における情報処理装置1で行われる処理手順の一例を示すフローチャートであり、特にアプリケーション管理部30がライブラリ40をインストールする際の処理手順を示している。CPU10は、この処理を開始すると、インストール対象となるライブラリ40を取得する(ステップS60)。そしてCPU10は、インストール対象となるユーザフォルダ23を一つ特定する(ステップS61)。そして特定したユーザフォルダ23から機能制限情報25a,25b又は25cを読み出し(ステップS62)、その機能制限情報25a,25b又は25cで制限された機能を利用するライブラリであるか否かを判断する(ステップS63)。その判断の結果、インストール対象であるライブラリ40が機能制限情報25a,25b又は25cで制限された機能を利用するライブラリである場合(ステップS63でYES)、そのライブラリ40に定義された処理手順を実行させるためのコマンドを無効なコマンドに書き換える(ステップS64)。尚、インストール対象であるライブラリ40が機能制限情報25a,25b又は25cで制限された機能を利用するライブラリでない場合(ステップS63でNO)、コマンドの書き換えは行われない。
そしてCPU10は、インストール対象のライブラリ40を特定したユーザフォルダ23にインストールする(ステップS65)。このとき、ステップS64でコマンドの書き換え処理が行われた場合は、そのコマンドの書き換えが行われたライブラリをインストールする。その後、CPU10は、同じライブラリ40を他のユーザフォルダ23へもインストールするか否かを判断する(ステップS66)。そして未だインストールされていないユーザフォルダ23が存在すればステップS61に戻って、上述した処理を繰り返す。一方、各ユーザA,B,Cの全てのユーザフォルダ23に対してライブラリ40のインストール処理を終了した場合はこの処理を終了する。尚、共有フォルダ22に対してライブラリ40をインストールする場合には、共通機能制限情報24に基づいてライブラリ40に含まれるコマンドが書き換えられる。
以上のように本実施形態の情報処理装置1は、プログラムの一種であるライブラリ40を特定のユーザのユーザフォルダ23にインストールする際、その特定のユーザのユーザフォルダ23に記憶された機能制限情報25a,25b又は25cを読み出し、ライブラリ40に含まれるコマンドを解析することにより特定のユーザに対応する機能制限情報25a,25b又は25cにおいて制限された機能を利用するか否かを判定する。インストール対象であるライブラリ40が特定のユーザに対応する機能制限情報25a,25b又は25cによって制限された機能を利用する場合、そのライブラリ40に含まれるコマンドを書き換えることによって機能制限情報25a,25b又は25cで制限された機能を利用不可能な状態に書き換える。そして機能制限情報25a,25b又は25cに基づいてコマンドの書き換えられたライブラリを特定のユーザのユーザフォルダ23にインストールする。
したがって、本実施形態の情報処理装置1は、予めインストールされたライブラリ40を呼び出して実行させることにより各種情報処理機能を利用するアプリケーションプログラム8をインストールする際には、そのアプリケーションプログラム8に含まれるコマンドを書き換える必要がなくなる。また情報処理装置1にインストールされたアプリケーションプログラム8を実行する際にも、アプリケーションプログラム8に含まれるコマンドを書き換える必要がなくなる。それ故、アプリケーションプログラム8のインストール時および実行時の処理効率が向上するという利点がある。
また本実施形態においても、第1の実施の形態と同様に、プログラム作成者などがアプリケーションプログラム8を作成する際の作業負担を軽減することができるので、効率的なプログラム作成が可能となり、情報処理装置1の利便性が向上する。また管理者にとっても、プログラム作成者などによって作成されたアプリケーションプログラム8の試験運用などを行う必要がなくなるので、管理者の作業負担を軽減することもできる。
また本実施形態においては、管理者が各ユーザA,B,Cの機能制限情報25a,25b,25cを更新すると、それに伴って判定部34および書換部35が機能し、各ユーザA,B,Cのユーザフォルダ23a,23b,23cに記憶されているライブラリ42,43,44の書き換えが再び行われる。これにより、管理者によって更新された機能制限情報25a,25b,25cが、各ユーザフォルダ23a,23b,23cに記憶されているライブラリ42,43,44に反映されるようになる。
(変形例)
以上、本発明に関する一実施形態について説明したが、本発明は上述した実施形態に限定されるものではない。すなわち、本発明には、上述した実施形態以外にも種々の変形例が適用可能である。
例えば上記実施形態では、情報処理装置1の一例として、コピー機能、プリンタ機能、スキャン機能、FAX機能、メール送信機能などの複数の情報処理機能を備えたMFPを説明したが、本発明における情報処理装置はこれに限られるものではない。例えば、上記複数の情報処理機能のうちの少なくとも1つの機能を備えた装置であっても良い。またコピー機能、プリンタ機能、スキャン機能、FAX機能およびメール送信機能以外の情報処理機能を備えた装置であっても構わない。
また上述した実施形態では、情報処理装置1は、インストール対象となるプログラムを、ネットワーク4を介して入力する場合を例示したが、必ずしもこれに限られない。例えば、インストール対象となるプログラムが記録された記録媒体から、そのプログラムを読み出してインストールするものであっても良い。
さらに、上述した実施形態では、CPU10がアプリケーション管理部30として機能するためのアプリケーション管理プログラム21は、情報処理装置1に予めインストールされている場合を例示したが、このようなアプリケーション管理プログラム21は、例えばコンピュータ読み取り可能な記録媒体に記録された状態で取引されるものであっても良い。
1 情報処理装置
8 アプリケーションプログラム
10 CPU
19 記憶装置(記憶手段)
22 共有フォルダ(共通記憶領域)
23(23a,23b,23c) ユーザフォルダ(ユーザ記憶領域)
24 共通機能制限情報
25a,25b,25c 機能制限情報
32 インストール部(インストール手段)
33 判定部(判定手段)
34 書換部(書換手段)
35 実行部(実行手段)
40 ライブラリ
41 ダミーライブラリ

Claims (14)

  1. 情報処理機能を利用するためのプログラムをインストールして実行する情報処理装置であって、
    複数のユーザのそれぞれに対して前記情報処理機能を利用する際の機能制限が設定された機能制限情報を記憶する記憶手段と、
    前記機能制限情報に基づき、複数のユーザの全てが共通して利用可能な機能を除いて前記情報処理機能の利用を制限するための共通機能制限情報を取得する取得手段と、
    前記プログラムをインストールする際、前記プログラムに含まれるコマンドを解析することによって前記共通機能制限情報で制限された機能を利用するか否かを判定する判定手段と、
    前記プログラムが前記共通機能制限情報によって制限された機能を利用する場合、前記プログラムに含まれるコマンドを書き換えることによって前記共通機能制限情報で制限された機能を利用不可能な状態に書き換える書換手段と、
    前記書換手段によりコマンドの書き換えられた前記プログラムをインストールするインストール手段と、
    を備えることを特徴とする情報処理装置。
  2. 特定のユーザによる指示に基づいて、前記インストール手段によりインストールされた前記プログラムを読み出して実行する実行手段をさらに備え、
    前記判定手段は、前記実行手段が前記プログラムを実行する際、前記特定のユーザに対応する前記機能制限情報を読み出し、前記プログラムに含まれるコマンドを解析することによって前記特定のユーザの利用可能な機能が前記書換手段によって利用不可能な状態に書き換えられているか否かを判定し、
    前記書換手段は、前記特定のユーザの利用可能な機能が利用不可能な状態に書き換えられている場合、前記プログラムに含まれるコマンドを書き換えることによって前記特定のユーザが利用可能な状態に書き換え、
    前記実行手段は、前記書換手段により前記特定のユーザが利用可能な状態にコマンドの書き換えられた前記プログラムを実行することを特徴とする請求項1記載の情報処理装置。
  3. 前記記憶手段は、複数のユーザが共通して利用可能な共通記憶領域と、複数のユーザのそれぞれに対して個別に設定された各ユーザ専用のユーザ記憶領域とを有し、
    前記インストール手段は、前記書換手段により前記共通機能制限情報で制限された機能を利用不可能な状態に書き換えられた前記プログラムを前記共通記憶領域にインストールし、
    前記実行手段は、前記書換手段により前記特定のユーザが利用可能な状態に書き換えられた前記プログラムを前記特定のユーザに対応する前記ユーザ記憶領域に記憶して実行することを特徴とする請求項2記載の情報処理装置。
  4. 前記共通記憶領域には、前記情報処理機能を有効に利用するための機能処理を行うことが定義されたライブラリと、前記情報処理機能を利用せずに前記機能処理に代わるダミー処理を行うことが定義されたダミーライブラリと、が記憶されており、
    前記書換手段は、インストール対象である前記プログラムが前記共通機能制限情報によって制限された機能を利用する場合、前記プログラムに含まれる前記ライブラリを実行させるコマンドを、前記ダミーライブラリを実行させるコマンドに書き換えることによって前記共通機能制限情報で制限された機能を利用不可能な状態に書き換えることを特徴とする請求項3記載の情報処理装置。
  5. 前記ユーザ記憶領域には、前記情報処理機能を有効に利用するための機能処理を行うことが定義されたライブラリと、前記情報処理機能を利用せずに前記機能処理に代わるダミー処理を行うことが定義されたダミーライブラリと、が記憶されており、
    前記書換手段は、前記特定のユーザの利用可能な機能が利用不可能な状態に書き換えられている場合、前記プログラムに含まれる前記ダミーライブラリを実行させるコマンドを、前記ライブラリを実行させるコマンドに書き換えることによって前記特定のユーザが利用可能な状態に書き換えることを特徴とする請求項4記載の情報処理装置。
  6. 前記記憶手段に記憶されている前記機能制限情報を更新する更新手段を更に備え、
    前記書換手段は、前記更新手段によって複数のユーザのうちの少なくとも一のユーザに対応する前記機能制限情報が更新された場合、当該一のユーザに対応する前記ユーザ記憶領域に記憶されている前記プログラムを読み出し、前記更新手段によって更新された前記機能制限情報に基づいて前記プログラムに含まれるコマンドを書き換えることを特徴とする請求項3乃至5のいずれかに記載の情報処理装置。
  7. 情報処理機能を利用するためのプログラムをインストールして実行する情報処理装置であって、
    複数のユーザのそれぞれに対して前記情報処理機能を利用する際の機能制限が設定された機能制限情報をユーザごとに設けられたユーザ記憶領域に記憶する記憶手段と、
    前記プログラムを特定のユーザの前記ユーザ記憶領域にインストールする際、前記特定のユーザの前記ユーザ記憶領域に記憶された前記機能制限情報を読み出し、前記プログラムに含まれるコマンドを解析することにより前記特定のユーザに対応する前記機能制限情報において制限された機能を利用するか否かを判定する判定手段と、
    前記プログラムが前記特定のユーザに対応する前記機能制限情報によって制限された機能を利用する場合、前記プログラムに含まれるコマンドを書き換えることによって前記機能制限情報で制限された機能を利用不可能な状態に書き換える書換手段と、
    前記書換手段によりコマンドの書き換えられた前記プログラムを前記特定のユーザの前記ユーザ記憶領域にインストールするインストール手段と、
    を備えることを特徴とする情報処理装置。
  8. 前記プログラムは、前記情報処理機能を有効に動作させるための処理手順が定義されたライブラリであることを特徴とする請求項7記載の情報処理装置。
  9. 情報処理装置が、情報処理機能を利用するためのプログラムをインストールして実行する情報処理方法であって、
    複数のユーザのそれぞれに対して前記情報処理機能を利用する際の機能制限が設定された機能制限情報を記憶するステップと、
    前記機能制限情報に基づき、複数のユーザの全てが共通して利用可能な機能を除いて前記情報処理機能の利用を制限するための共通機能制限情報を取得するステップと、
    前記プログラムをインストールする際、前記プログラムに含まれるコマンドを解析することによって前記共通機能制限情報で制限された機能を利用するか否かを判定するステップと、
    前記プログラムが前記共通機能制限情報によって制限された機能を利用する場合、前記プログラムに含まれるコマンドを書き換えることによって前記共通機能制限情報で制限された機能を利用不可能な状態に書き換えるステップと、
    前記共通機能制限情報で制限された機能を利用不可能な状態に書き換えられた前記プログラムをインストールするステップと、
    を有することを特徴とする情報処理方法。
  10. インストールされた前記プログラムを特定のユーザによる実行指示に基づいて読み出すステップと、
    前記特定のユーザに対応する前記機能制限情報を読み出し、前記プログラムに含まれるコマンドを解析することによって前記特定のユーザの利用可能な機能が利用不可能な状態に書き換えられているか否かを判定するステップと、
    前記特定のユーザの利用可能な機能が利用不可能な状態に書き換えられている場合、前記プログラムに含まれるコマンドを書き換えることによって前記特定のユーザが利用可能な状態に書き換えるステップと、
    前記特定のユーザが利用可能な状態にコマンドの書き換えられた前記プログラムを実行するステップと、
    を更に有することを特徴とする請求項9記載の情報処理方法。
  11. 情報処理装置が、情報処理機能を利用するためのプログラムをインストールして実行する情報処理方法であって、
    複数のユーザのそれぞれに対して前記情報処理機能を利用する際の機能制限が設定された機能制限情報をユーザごとに設けられたユーザ記憶領域に記憶するステップと、
    前記プログラムを特定のユーザの前記ユーザ記憶領域にインストールする際、前記特定のユーザの前記ユーザ記憶領域に記憶された前記機能制限情報を読み出し、前記プログラムに含まれるコマンドを解析することにより前記特定のユーザに対応する前記機能制限情報において制限された機能を利用するか否かを判定するステップと、
    前記プログラムが前記特定のユーザに対応する前記機能制限情報によって制限された機能を利用する場合、前記プログラムに含まれるコマンドを書き換えることによって前記機能制限情報で制限された機能を利用不可能な状態に書き換えるステップと、
    前記機能制限情報で制限された機能を利用不可能な状態に書き換えられた前記プログラムを前記特定のユーザの前記ユーザ記憶領域にインストールするステップと、
    を有することを特徴とする情報処理方法。
  12. 情報処理機能を利用するためのプログラムをインストールして実行させるプログラムであって、情報処理装置に、
    複数のユーザのそれぞれに対して前記情報処理機能を利用する際の機能制限が設定された機能制限情報を記憶するステップと、
    前記機能制限情報に基づき、複数のユーザの全てが共通して利用可能な機能を除いて前記情報処理機能の利用を制限するための共通機能制限情報を取得するステップと、
    前記プログラムをインストールする際、前記プログラムに含まれるコマンドを解析することによって前記共通機能制限情報で制限された機能を利用するか否かを判定するステップと、
    前記プログラムが前記共通機能制限情報によって制限された機能を利用する場合、前記プログラムに含まれるコマンドを書き換えることによって前記共通機能制限情報で制限された機能を利用不可能な状態に書き換えるステップと、
    前記共通機能制限情報で制限された機能を利用不可能な状態に書き換えられた前記プログラムをインストールするステップと、
    を実行させることを特徴とするプログラム。
  13. 前記情報処理装置に、
    インストールされた前記プログラムを特定のユーザによる実行指示に基づいて読み出すステップと、
    前記特定のユーザに対応する前記機能制限情報を読み出し、前記プログラムに含まれるコマンドを解析することによって前記特定のユーザの利用可能な機能が利用不可能な状態に書き換えられているか否かを判定するステップと、
    前記特定のユーザの利用可能な機能が利用不可能な状態に書き換えられている場合、前記プログラムに含まれるコマンドを書き換えることによって前記特定のユーザが利用可能な状態に書き換えるステップと、
    前記特定のユーザが利用可能な状態にコマンドの書き換えられた前記プログラムを実行するステップと、
    をさらに実行させることを特徴とする請求項12記載のプログラム。
  14. 情報処理機能を利用するためのプログラムをインストールして実行させるプログラムであって、情報処理装置に、
    複数のユーザのそれぞれに対して前記情報処理機能を利用する際の機能制限が設定された機能制限情報をユーザごとに設けられたユーザ記憶領域に記憶するステップと、
    前記プログラムを特定のユーザの前記ユーザ記憶領域にインストールする際、前記特定のユーザの前記ユーザ記憶領域に記憶された前記機能制限情報を読み出し、前記プログラムに含まれるコマンドを解析することにより前記特定のユーザに対応する前記機能制限情報において制限された機能を利用するか否かを判定するステップと、
    前記プログラムが前記特定のユーザに対応する前記機能制限情報によって制限された機能を利用する場合、前記プログラムに含まれるコマンドを書き換えることによって前記機能制限情報で制限された機能を利用不可能な状態に書き換えるステップと、
    前記機能制限情報で制限された機能を利用不可能な状態に書き換えられた前記プログラムを前記特定のユーザの前記ユーザ記憶領域にインストールするステップと、
    を実行させることを特徴とするプログラム。
JP2010129848A 2010-06-07 2010-06-07 情報処理装置、情報処理方法およびプログラム Expired - Fee Related JP5045787B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010129848A JP5045787B2 (ja) 2010-06-07 2010-06-07 情報処理装置、情報処理方法およびプログラム
US13/151,592 US8789038B2 (en) 2010-06-07 2011-06-02 Information processing device, information processing method, and computer readable medium with function disabling

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010129848A JP5045787B2 (ja) 2010-06-07 2010-06-07 情報処理装置、情報処理方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2011257833A JP2011257833A (ja) 2011-12-22
JP5045787B2 true JP5045787B2 (ja) 2012-10-10

Family

ID=45064261

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010129848A Expired - Fee Related JP5045787B2 (ja) 2010-06-07 2010-06-07 情報処理装置、情報処理方法およびプログラム

Country Status (2)

Country Link
US (1) US8789038B2 (ja)
JP (1) JP5045787B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9049176B2 (en) 2011-06-22 2015-06-02 Dropbox, Inc. File sharing via link generation
JP5857859B2 (ja) * 2012-04-16 2016-02-10 コニカミノルタ株式会社 携帯端末装置、ジョブ制御方法及びジョブ制御プログラム
DE102012016164A1 (de) * 2012-08-14 2014-02-20 Giesecke & Devrient Gmbh Sicherheitselement und Verfahren zur Installation von Daten in dem Sicherheitselement
JP6236816B2 (ja) * 2013-03-15 2017-11-29 株式会社リコー 画像処理システム、情報処理装置及びプログラム
JP6036478B2 (ja) * 2013-03-28 2016-11-30 ブラザー工業株式会社 サーバ及びプログラム
CN104102481A (zh) * 2013-04-15 2014-10-15 富泰华工业(深圳)有限公司 程序包整合系统及方法
JP7147323B2 (ja) * 2018-07-25 2022-10-05 コニカミノルタ株式会社 画像形成装置およびプログラム
JP7131343B2 (ja) * 2018-11-30 2022-09-06 コニカミノルタ株式会社 画像処理装置、処理制御方法および処理制御プログラム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6115471A (en) * 1996-11-28 2000-09-05 Fujitsu Limited Member-exclusive service system and method through internet
JP2002196930A (ja) 2000-12-25 2002-07-12 Ricoh Co Ltd ソフトウェア部品管理システム、ソフトウェア部品管理方法およびソフトウェア部品管理プログラムが記憶された記憶媒体
JP4128506B2 (ja) 2002-09-14 2008-07-30 株式会社リコー 画像形成装置およびアプリケーション情報取得方法
EP1398948B1 (en) 2002-09-13 2013-11-06 Ricoh Company, Ltd. Image forming apparatus, methods used therein and a computer readable storage medium
JP2005157411A (ja) * 2003-11-20 2005-06-16 Noritsu Koki Co Ltd データ処理方法及びこの方法を実施する画像データ処理システム
JP4681491B2 (ja) * 2006-03-31 2011-05-11 富士通株式会社 プロファイリングプログラムおよびプロファイリング方法
JP4678342B2 (ja) * 2006-07-12 2011-04-27 コニカミノルタビジネステクノロジーズ株式会社 印刷制御プログラム
JP2009093228A (ja) 2007-10-03 2009-04-30 Canon Inc 画像形成システム及びアプリケーションプログラムのインストール方法
JP2009134610A (ja) * 2007-11-30 2009-06-18 Seiko Epson Corp 周辺機器制御装置、プログラムインストール方法及びプログラム
JP2009140347A (ja) * 2007-12-07 2009-06-25 Ricoh Co Ltd 情報処理装置、画像形成装置、情報処理方法、プログラム、及び記録媒体
JP2009258905A (ja) 2008-04-15 2009-11-05 Mitsubishi Electric Engineering Co Ltd ソフトウェア選択プログラムおよびインストーラ
JP2010009318A (ja) * 2008-06-26 2010-01-14 Canon Inc 画像処理システム、その制御方法、コンピュータプログラム及び記憶媒体
US9665729B2 (en) * 2009-04-13 2017-05-30 Microsoft Technology Licensing, Llc Revocation of application on mobile device

Also Published As

Publication number Publication date
US20110299121A1 (en) 2011-12-08
JP2011257833A (ja) 2011-12-22
US8789038B2 (en) 2014-07-22

Similar Documents

Publication Publication Date Title
JP5045787B2 (ja) 情報処理装置、情報処理方法およびプログラム
JP4969324B2 (ja) 情報処理装置、プログラム及びその記録媒体
JP5609269B2 (ja) 画像処理装置、表示装置、画面制御システム、画面制御方法、画面制御プログラム、及びそのプログラムを記録した記録媒体
JP4597834B2 (ja) 画像形成装置、情報処理方法、情報処理プログラム及び記録媒体
EP2639688A2 (en) Information processing system, user terminal, information processing device and non-transitory computer readable recording medium
JP5732824B2 (ja) 画像形成装置、情報処理システム、及び情報処理方法
JP5608985B2 (ja) 画像処理装置、情報処理装置、ユーザインタフェース提供方法、画像処理システムおよびプログラム
JP5316078B2 (ja) 通信機器、該通信機器の制御方法およびそのプログラムならびにシステム
JP2017204120A (ja) 情報処理装置、インストーラー及びプリンタドライバ
JP4981936B2 (ja) インストーラ及びプリンタドライバのインストール方法
JP5709429B2 (ja) 画像処理装置及びその制御方法、プログラム
JP2009140347A (ja) 情報処理装置、画像形成装置、情報処理方法、プログラム、及び記録媒体
JP2009188940A (ja) 画像処理装置、画像処理方法、及び画像処理システム
JP2009205262A (ja) アプリケーションプログラムインストール装置、アプリケーションプログラムインストール方法、プログラム、および記録媒体
JP2004185593A (ja) 画像形成装置およびアプリケーション実行方法
JP5517487B2 (ja) 画像処理装置、画像処理装置の制御方法、及びプログラム
JP2013101632A (ja) 情報処理装置、画像形成装置、情報処理方法及びシステム
JP6303667B2 (ja) プログラム、情報処理装置および情報処理システム
US10397429B2 (en) Printing software system with dynamic customization capability
JP2019067131A (ja) 画像形成装置及びその制御方法
JP2019192956A (ja) 情報処理装置、画像形成装置、画像形成システム及びウィルスチェック方法
JP2016134117A (ja) 画像形成装置、情報処理装置及び構成情報更新システム
JP2014071789A (ja) 情報処理装置およびプログラム
JP2011039721A (ja) 情報処理装置及びプログラム
JP2010218352A (ja) 機器管理装置、画像形成装置、及び機器管理プログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120410

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120417

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120525

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120619

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120702

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150727

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees