JP5644431B2 - 情報処理システム、情報処理装置、方法、プログラムおよび記録媒体 - Google Patents

情報処理システム、情報処理装置、方法、プログラムおよび記録媒体 Download PDF

Info

Publication number
JP5644431B2
JP5644431B2 JP2010268177A JP2010268177A JP5644431B2 JP 5644431 B2 JP5644431 B2 JP 5644431B2 JP 2010268177 A JP2010268177 A JP 2010268177A JP 2010268177 A JP2010268177 A JP 2010268177A JP 5644431 B2 JP5644431 B2 JP 5644431B2
Authority
JP
Japan
Prior art keywords
memory usage
application
information
upper limit
information processing
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
JP2010268177A
Other languages
English (en)
Other versions
JP2012118777A (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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2010268177A priority Critical patent/JP5644431B2/ja
Publication of JP2012118777A publication Critical patent/JP2012118777A/ja
Application granted granted Critical
Publication of JP5644431B2 publication Critical patent/JP5644431B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Description

本発明は、ソフトウェア開発キット(Software Development Kit:SDK)に関し、より詳細には、SDKを使用して動作するソフトウェアの品質を向上させる情報処理システム、情報処理装置、方法、プログラムおよび記録媒体に関する。
近年、ソフトウェア開発においてSDKを利用したソフトウェア製品の開発が行われている。SDKは、ソフトウェア製品に組み込まれるAPI(Application Program Interface)が登録されたライブラリやデバックツール、シミュレータ等を備えており、ソフトウェア開発者は、開発対象のソフトウェア製品が使用するAPIを選択して容易に組み込むことができ、また、デバックツールやシミュレータ等を使用してソフトウェア製品の各種テストを行うことができる。
現在、このようなSDKを使用して様々なソフトウェア製品が開発されている一方、SDKを使用して開発されたソフトウェア製品であるアプリケーションプログラムを検証・評価する技術が提案されている。このような技術の一例として、特許文献1は、AP開発元がSDKを使用して開発したアプリケーションプログラムのソースを、第三者である検証機関がソース解析ツールを用いて解析し、アプリケーションプログラムが使用するAPIの正当性を確認する検証システムを開示する。
しかしながら、特許文献1が開示する検証システムは、アプリケーションが使用を予定するAPIの使用が許可されているか否か判定することによってAPIの正当性を確認するに止まり、SDKを使用して開発されたアプリケーション自体の性能や品質を検証・評価することができない。
一方、現在のアプリケーション開発では、顧客に対して付加価値のある商品を提供すべく、高機能かつ多機能のアプリケーション開発が求められており、アプリケーションの高機能化および多機能化に伴い、その開発規模が増大している。このような規模の大きなアプリケーション開発を行う場合、一つの企業のみでアプリケーション開発をするのではなく、複数のグループ企業や協力会社、ベンダ等に開発を委託することが主流となっている。このため、開発を受託した総てのベンダ等が、開発すべきアプリケーションが実装される様々な機器の仕様や性能等の動作環境を考慮して開発を容易に行うことが困難であり、その結果、アプリケーションの動作環境に不適切な仕様の製品を開発してしまい、製品不具合を生じさせる虞がある。特に、開発されたアプリケーションが、許容されるメモリ使用量を超えて動作する場合には、そのアプリケーションが実装された機器のシステムの動作が不安定になり、またはシステム全体の動作が停止し、重大な不具合を招来する虞がある。
本発明は、上記従来技術の問題に鑑みてなされたものであり、開発対象のアプリケーションの動作環境に適したアプリケーションのメモリ使用量を判定可能な情報処理システム、情報処理装置、方法、プログラムおよび記録媒体を提供することを目的とするものである。
上記課題を解決するために、本発明の情報処理システムに含まれるアプリケーションの開発をする情報処理装置は、当該情報処理装置上でアプリケーションを動作させて、そのメモリの使用量を測定する。そして、情報提供サーバが提供する判定情報を使用して、アプリケーションが許容されるメモリ使用量上限値を決定し、アプリケーションのメモリの使用量がメモリ使用量の上限値を超えているか否か判定し、その判定結果を通知する。これにより、本発明は、開発対象のアプリケーションの動作環境に適したアプリケーションのメモリ使用量を判定することができる。
また、本発明は、開発対象のアプリケーションの動作環境に適したアプリケーションのメモリ使用量を判定可能な方法、プログラムおよび記録媒体を提供する。
本実施形態の情報処理システムを示す概略図。 本実施形態の情報処理システムに含まれる情報処理装置および情報提供サーバの機能構成図。 本実施形態の情報処理システムを使用してターゲットアプリケーションのメモリ使用量を判定する場合に実行される一連の処理を示すシーケンス図。 本実施形態のSDKが実行するターゲットアプリケーションのメモリ使用量の判定処理を示すフローチャート。 本実施形態の情報提供サーバが提供する判定情報であるメモリ使用量判定テーブルの一実施形態を示す図。 本実施形態のSDKが生成するログおよびSDKが有するAPIライブラリに含まれるAPIに実装されるログ出力手段を示す図。 本実施形態のSDKが実行するターゲットアプリケーションのメモリ使用量の判定処理の他の実施形態を示すフローチャート。 図7に示す実施形態において情報提供サーバが提供する判定情報であるメモリ使用量判定テーブルの実施形態を示す図。 本実施形態のSDKが実行するターゲットアプリケーションのメモリ使用量の判定処理のさらに他の実施形態を示すフローチャート。 図9に示す実施形態において情報提供サーバが提供する判定情報である機器種別判定テーブルおよびメモリ使用量判定テーブルの実施形態を示す図。 本実施形態のSDKが実行するターゲットアプリケーションのメモリ使用量の判定処理のさらに他の実施形態を示すフローチャート。 図11に示す実施形態において情報提供サーバが提供する判定情報である機器種別判定テーブルおよびメモリ使用量判定テーブルの実施形態を示す図。 他の実施形態の情報処理システムに含まれる情報処理装置および情報提供サーバの機能構成を示す図。 図13に示す実施形態のSDKが実行する処理を示すフローチャート。 図13に示す実施形態の情報提供サーバが実行する処理を示すフローチャート。 図13に示す実施形態の情報提供サーバがデータベースを更新する際に実行する処理を示すフローチャート。
以下、本発明について実施形態をもって説明するが、本発明は、後述する実施形態に限定されるものではない。図1は、本実施形態の情報処理システム100を示す概略図である。情報処理システム100は、ネットワーク110に接続された情報処理装置112a,112b、情報提供サーバ114およびアプリケーション提供サーバ116と、ネットワーク120に接続された画像形成装置122a,122bとを含んで構成される。
ネットワーク110は、イーサネット(登録商標)およびTCP/IPプロトコルを使用したネットワークとして構成されており、例えば、インターネットやワイドエリアネットワーク(WAN)などの公共ネットワークを適宜含ませて実装することができる。ネットワーク120は、イーサネット(登録商標)およびTCP/IPプロトコルを使用したネットワークとして構成されており、例えば、ローカルエリアネットワーク(LAN)として実装することができる。ネットワーク110および120は、図示しないルータ等の図示しないルータなどを介して相互接続される。
情報処理装置112a,112bは、SDKを使用してメモリ使用量を評価すべきアプリケーションプログラム(以下、「ターゲットアプリケーション」とする。)を動作可能な情報処理装置である。本実施形態では、情報処理装置112a,112bは、ノート型やデスクトップ型等のパーソナルコンピュータ等の情報処理装置を採用することができる。ユーザは、情報処理装置112にインストールされたSDKを使用して、画像形成装置122a,122bに実装すべきターゲットアプリケーションの作成やメモリ使用量の評価を行うことができる。
情報処理装置112は、PENTIUM(登録商標)プロセッサまたは互換プロセッサを搭載し、WINDOWS(登録商標)シリーズ、MAC(登録商標)OS、UNIX(登録商標)、LINUX(登録商標)などのOSの管理下で、アセンブラ、C、C++、Java(登録商標)、Java(登録商標)Script、PERL、RUBY、PYTHONなどのプログラム言語で記述された本実施形態のプログラムを実行する。
また、情報処理装置112は、プログラムを実行するための実行空間を提供するRAM、プログラムやデータなどを持続的に保持するためのハードディスク装置(以下、単に「HDD」とする。)などを含んでおり、本実施形態の各機能手段をプログラムの実行により、当該情報処理装置上に実現する。
情報提供サーバ114は、情報処理装置112に対して、ターゲットアプリケーションのメモリ使用量を判定するのに必要な判定情報を提供する情報処理装置である。本実施形態では、情報提供サーバ114は、情報処理装置112の要求に応じて、情報処理装置112上で動作するアプリケーションのメモリ使用量を判定するメモリ使用量判定テーブル等のメモリ使用量判定情報や当該アプリケーションが実装される機器の種別を判定する機器種別判定情報を、判定情報として情報処理装置112に提供する。
情報提供サーバ114は、PENTIUM(登録商標)プロセッサまたは互換プロセッサを搭載し、WINDOWS(登録商標)シリーズ、MAC(登録商標)OS、UNIX(登録商標)、LINUX(登録商標)などのOSの管理下で、アセンブラ、C、C++、Java(登録商標)、Java(登録商標)Script、PERL、RUBY、PYTHONなどのプログラム言語で記述された本実施形態のプログラムを実行する。
また、情報提供サーバ114は、プログラムを実行するための実行空間を提供するRAM、プログラムやデータなどを持続的に保持するためのHDDなどを含んでおり、本実施形態の各機能手段をプログラムの実行により、情報提供サーバ上に実現する。
アプリケーション提供サーバ116は、SDKを使用してメモリ使用量を判定されたターゲットアプリケーションを提供する情報処理装置である。アプリケーション提供サーバ116は、当該アプリケーションプログラムを実装すべき画像形成装置122a,122bの要求に応じてアプリケーションプログラムを提供する。なお、本実施形態では、ターゲットアプリケーションを画像形成装置122a,122bに実装するが、他の実施形態では、PC等の情報処理装置や印刷装置等に実装してもよい。
アプリケーション提供サーバ116は、PENTIUM(登録商標)プロセッサまたは互換プロセッサを搭載し、WINDOWS(登録商標)シリーズ、MAC(登録商標)OS、UNIX(登録商標)、LINUX(登録商標)などのOSの管理下で、アセンブラ、C、C++、Java(登録商標)、Java(登録商標)Script、PERL、RUBY、PYTHONなどのプログラム言語で記述されたプログラムを実行し、アプリケーションプログラムを提供する。
画像形成装置122a,122bは、CCD(Charge Coupled Device)センサなどを含んで構成されるスキャナ装置を含むMFP(Multi-Function Peripheral)などの画像形成装置である。画像形成装置122a,122bは、ユーザが画像形成装置にスキャニングやコピー、FAX送信等の各種処理を実行させるためアプリケーションプログラムを実装する。画像形成装置122a,122bは、アプリケーション提供サーバ116からネットワーク110,120を介して当該アプリケーションプログラムを取得して、内蔵するHDDにインストールすることができる。
図2は、本実施形態の情報処理システム100に含まれる情報処理装置112aおよび情報提供サーバ114の機能構成を示す図である。以下、図2を参照して、情報処理装置112aおよび情報提供サーバ114が実装する処理機能について説明する。なお、情報処理装置112bについては、情報処理装置112aと同様の機能を実装するので、以下、より詳細な説明は省略する。
情報処理装置112は、オペレーションシステム(以下、単に「OS」とする。)210と、SDK212と、通信部224とを含む。
OS210は、情報処理装置112aの全体制御を行う機能手段である。OS210は、ユーザからのSDK212のインストール要求によってSDK212をインストールし、SDK212が情報処理装置112aに実装される。OS210は、ユーザからのSDK212の起動要求を受領するとSDK212を起動し、SDK212の要求に応じて、情報提供サーバ114に対して判定情報の取得要求を送信し、そのレスポンスとして受信した判定情報をSDK212に提供する。
SDK212は、ターゲットアプリケーションの作成や評価が可能な機能手段であり、メモリ使用量監視部214と、シミュレータ216と、メモリ使用量決定部218と、APIライブラリ220と、ソースコードエディタ222とを含んで構成される。
メモリ使用量監視部214は、ターゲットアプリケーションが使用するメモリ使用量を測定し、メモリ使用量が所定の上限値を超えていないか監視する機能手段である。メモリ使用量監視部214は、ターゲットアプリケーションが情報処理装置112a上で起動されると、ターゲットアプリケーションが使用する情報処理装置112aのメモリの使用量を定期的に測定し、測定結果をログに記録する。
メモリ使用量監視部214は、ユーザが発行したメモリ使用量の判定指示を受信すると、ログに記録されたメモリ使用量と、後述するメモリ使用量決定部218が決定するメモリ使用量の上限値とを使用して、ターゲットアプリケーションのメモリ使用量が上限値を超えていないか判定する。メモリ使用量監視部214は、当該判定結果を情報処理装置112aの表示装置に表示する。
シミュレータ216は、情報処理装置112a上でターゲットアプリケーションを動作させる機能手段である。シミュレータ216は、ターゲットアプリケーションに対して、当該アプリケーションが使用するAPIを実行させるコマンドを受け付け、当該APIをターゲットアプリケーションに使用させる。本実施形態では、ユーザがGUI(Graphical User Interface)を使用して1以上のコマンドを選択し、当該コマンドを一括または個別に発行することができる。他の実施形態では、シミュレータ216が、複数のコマンドが記述されたバッチファイルを使用して、一括してコマンドを発行することもできる。
メモリ使用量決定部218は、ターゲットアプリケーションが使用するメモリ使用量の上限値(以下、「メモリ使用量上限値」とする。)を決定する機能手段である。メモリ使用量決定部218は、情報提供サーバ114が提供するソフトウェア判定情報であるメモリ消費量判定テーブルと、ターゲットアプリケーションが使用したAPIによってログに記録されるAPIの種別情報とを使用して、当該ターゲットアプリケーションが許容されるメモリ使用量上限値を決定する。なお、情報提供サーバ114が提供するソフトウェア判定情報であるメモリ消費量判定テーブルについては、登録されるデータ内容およびメモリ使用量の決定方法とともに、図5を参照してより詳細に説明する。
APIライブラリ220は、ターゲットアプリケーションが使用するAPIを提供する機能手段である。APIライブラリ220には、シミュレータ216が発行したコマンドに従ってターゲットアプリケーションが呼び出して使用するAPIが含まれる。本実施形態では、APIライブラリ220に含まれるAPIをDLLとして実装することができる。APIライブラリ220に含まれるAPIは、ターゲットアプリケーションを実装すべき画像形成装置等の実機に実装されるAPIと同様の機能を有する。
本実施形態では、APIライブラリ220に含まれるAPIは、ターゲットアプリケーションから呼び出されたときに、APIの種別を識別するための情報(以下、「API種別識別情報」とする。)をログに記録する機能を有する。例えば、プログラミング言語としてJava(商標登録)やC++等を使用する実施形態では、名前空間(Namespace)を使用してAPI種別識別情報を管理することができる。なお、API種別識別情報をログに記録する方法については、図6を参照してより詳細に説明する。
ソースコードエディタ222は、情報処理装置112aのユーザがターゲットアプリケーションのソースコードを編集するためのエディタソフトである。本実施形態では、任意のエディタソフトをソースコードエディタ222として採用することができる。
通信部224は、情報処理装置112と、情報提供サーバ114との間のデータ通信を行う機能手段である。通信部224は、SDK212からソフトウェア判定情報の取得要求を受信すると、ネットワーク110を介して情報提供サーバ114に送信する。通信部224は、ソフトウェア判定情報の取得要求の応答として情報提供サーバ114からソフトウェア判定情報を受信すると、当該ソフトウェア判定情報をSDK212に提供する。
本実施形態では、HTMLやXML、XHTML等のマークアップ言語により記述された構造化文書を使用して、情報処理装置112aと情報提供サーバ114との間でSOAP(Simple Object Access Protocol)に準拠したソフトウェア判定情報の通信を行うことができる。他の実施形態では、FTP(File Transfer Protocol)を使用してソフトウェア判定情報の授受を行ってもよい。
図2に示す情報提供サーバ114は、OS230と、情報提供部232と、データベース234と、通信部236とを含んで構成される。
OS230は、情報提供サーバ114の全体制御を行う機能手段である。OS230は、通信部236が受信した各種要求の種類に応じて、当該要求に関連する機能手段を呼び出して処理を実行させる。本実施形態では、OS230は、ソフトウェア判定情報の取得要求を受信すると、情報提供部232を呼び出し、ソフトウェア判定情報の提供処理を実行させる。
情報提供部232は、情報処理装置112aに提供する機能手段である。情報提供部232は、情報処理装置112aからソフトウェア判定情報の取得要求を受信すると、データベース234に登録されたソフトウェア判定情報であるメモリ使用量判定テーブルを取得し、当該取得要求を送信した情報処理装置を送信先に指定して通信部236に送信させる。
データベース234は、ソフトウェア判定情報であるメモリ使用量判定テーブルが登録されるデータベースである。本実施形態のメモリ使用量判定テーブルについては、図5を参照してより詳細に説明する。
通信部236は、情報提供サーバ114と情報処理装置112との間のデータ通信を行う機能手段である。通信部236は、ネットワーク110を介して情報処理装置112aからソフトウェア判定情報の取得要求を受信すると、その旨の通知をOS230にする。通信部236は、情報提供部232から直接的またはOS230を介して間接的にソフトウェア判定情報の送信要求を受信すると、情報提供部232が指定した当該ソフトウェア判定情報の送信先である情報処理装置112aに送信する。
図3は、本実施形態の情報処理システム100を使用してターゲットアプリケーションのメモリ使用量を判定する場合に実行される一連の処理を示すシーケンス図である。以下、図3を参照してターゲットアプリケーションの判定処理について説明する。
情報処理装置112a上でターゲットアプリケーションのメモリ使用量を判定する場合、ユーザは、SDK212を起動し、GUI等を用いてメモリ使用量監視部214を呼び出す。次いで、メモリ使用量監視部214は、シミュレータ216およびメモリ使用量決定部218を呼び出し、シミュレータ216は、GUI等を用いてユーザが指定するターゲットアプリケーション310を起動する。シミュレータ216は、ターゲットアプリケーション310から起動完了の通知を受信すると、ターゲットアプリケーション310の起動が完了した旨の通知をメモリ使用量監視部214に送信する。
メモリ使用量監視部214は、当該起動完了の通知を受信すると、情報処理装置112aのメモリ312の使用量を定期的に測定し、ログに記録する。本実施形態では、メモリ使用量監視部214は、5秒間隔でメモリ312の使用量を測定する。他の実施形態では、任意の間隔でメモリの使用量を測定してもよい。
次に、シミュレータ216は、ユーザがGUI等を用いて発行する、ターゲットアプリケーションの機能手段を指定するコマンドを待機する。シミュレータ216は、当該コマンドを受信すると、APIを使用するターゲットアプリケーション310に実装された機能手段を呼び出す。そして、シミュレータ216は、当該コマンドを発行した旨の通知をメモリ使用量監視部214に送信する。メモリ使用量監視部214は、当該通知を受領すると、メモリ312のメモリ使用量を測定し、ログに記録する。
本実施形態では、メモリ使用量監視部214は、シミュレータ216のコマンドの発行直後にメモリ312の使用量を測定するため、ターゲットアプリケーション310がAPIを使用しているときのメモリ312の使用量を正確に測定することができる。他の実施形態では、メモリ使用量監視部214は、シミュレータ216のコマンドの発行直後にメモリ312の使用量を測定せずに、当該メモリ使用量を定期的にのみ測定してもよい。
次いで、メモリ使用量監視部214は、ユーザがGUIを使用して発行するメモリ使用量の判定命令を受領すると、メモリ使用量監視部214はメモリ使用量の測定を終了し、シミュレータ216にターゲットアプリケーション310の終了命令を送信すると共に、メモリ使用量決定部218にメモリ使用量上限値の決定命令を送信する。
シミュレータ216は、ターゲットアプリケーション310の終了命令を受信すると、ターゲットアプリケーション310を終了させる。一方、メモリ使用量決定部218は、メモリ使用量上限値の決定命令を受信すると、情報提供サーバ114に対してソフトウェア判定情報の取得要求を送信する。メモリ使用量決定部218は、情報提供サーバ114からソフトウェア判定情報であるメモリ使用量の判定テーブルを受信すると、当該判定テーブルおよびログを使用してメモリ使用量上限値を決定し、当該メモリ使用量上限値をメモリ使用量監視部214に提供する。
メモリ使用量監視部214は、当該メモリ使用量上限値およびログを使用して、ターゲットアプリケーション310のメモリ使用量が当該メモリ使用量上限値を超えていないか判定し、その判定結果を情報処理装置112aの表示装置に表示する。
本実施形態では、メモリ使用量決定部218は、メモリ使用量監視部214によって呼び出されるが、他の実施形態では、シミュレータ216が呼び出してもよい。また、本実施形態では、メモリ使用量監視部214の起動直後にメモリ使用量決定部218が呼び出されるが、他の実施形態では、メモリ使用量の監視処理が終了した直後にメモリ使用量決定部218を呼び出してもよい。
図4は、本実施形態のSDKが実行するターゲットアプリケーションのメモリ使用量の判定処理を示すフローチャートである。以下、図4を参照して、SDK212が実行するターゲットアプリケーションのメモリ使用量の判定処理について説明する。
図4の処理は、ステップS400でユーザがSDK212のGUI等を用いてメモリ使用量監視部214を呼び出することにより開始する。ステップS401では、メモリ使用量監視部214がシミュレータ216を呼び出し、ステップS402で、シミュレータ216がターゲットアプリケーションを起動する。ステップS403では、メモリ使用量監視部214はメモリ使用量決定部218を呼び出す。
ステップS404では、メモリ使用量監視部214は、シミュレータ216からターゲットアプリケーションの起動完了通知を受信したか否か判定し、当該通知を受信していない場合には(no)、ステップS404の処理を反復させて当該通知を待機する。一方、起動完了通知を受信した場合には(yes)、処理をステップS405に分岐させる。ステップS405では、メモリ使用量監視部214がメモリ使用量の測定を開始し、測定結果をログに記録する。
ステップS406では、シミュレータ216がユーザからコマンドの発行指示を受信したか否か判定し、コマンドの発行指示を受信していない場合には(no)、ステップS406の処理を反復させてコマンドの発行指示を待機する。一方、コマンドの発行指示を受信した場合には(yes)、処理をステップS407に分岐させ、ステップS407では、シミュレータ216は、当該コマンド発行指示が指定するコマンドをターゲットアプリケーションに発行して、ターゲットアプリケーションにAPIを使用する処理を実行させる。ステップS408では、メモリ使用量監視部214は、ターゲットアプリケーションが動作する情報処理装置のメモリ使用量を測定する。
ステップS409では、メモリ使用量監視部214は、ユーザからメモリ使用量の判定命令を受信したか否か判定し、当該判定命令を受信していない場合には(no)、ステップS409の処理を反復させて判定命令を待機する。一方、メモリ使用量の判定命令を受信した場合には(yes)、処理をステップS410に分岐させる。
ステップS410では、メモリ使用量監視部214がメモリ使用量を測定すると共に、シミュレータ216に終了命令を送信し、メモリ使用量決定部218にメモリ使用量上限値の決定命令を送信する。ステップS411では、シミュレータ216がターゲットアプリケーションを停止させる。ステップS412では、メモリ使用量決定部218が、情報提供サーバ114にメモリ使用量判定テーブルの取得要求を送信する。
ステップS413では、メモリ使用量決定部218は、ステップS412の取得要求の応答として受信したメモリ使用量判定テーブルとログを使用してメモリ使用量上限値を決定する。
本実施形態では、メモリ使用量決定部218は、SDK212が生成したログを参照し、当該ログに記録されたターゲットアプリケーションが使用した1または複数のAPIの種別を判定する。そして、図5を参照して説明するメモリ使用量判定テーブルを参照し、当該ターゲットアプリケーションが使用したAPIに関連付けられたメモリ使用量上限値を合算した値を、メモリ使用量上限値として決定する。
ステップS414では、メモリ使用量監視部214はログを参照し、ターゲットアプリケーションのメモリ使用量がメモリ使用量上限値を超えているか否か判定する。
本実施形態では、ログに記録されたターゲットアプリケーションの各メモリ使用量からターゲットアプリケーションの起動直後に測定されたメモリ使用量(すなわち、ターゲットアプリケーションがアイドル状態のときのメモリ使用量)を減算した値と、上記メモリ使用量上限値とを比較して、ターゲットアプリケーションのメモリ使用量がメモリ使用量上限値を超えているか否か判定する。
ステップS415では、メモリ使用量監視部214は、ステップS414で得られた判定結果を情報処理装置の表示装置に表示し、ステップS416で処理が終了する。
図5は、本実施形態の情報提供サーバ114が提供する判定情報であるメモリ使用量判定テーブルの一実施形態を示す図である。以下、図5を参照して、メモリ使用量判定テーブル500について説明する。
メモリ使用量判定テーブル500は、API種別510とメモリ使用量上限値512とが関連付けて登録される。API種別510は、ターゲットアプリケーションが使用するAPIの種別情報である。図5に示す実施形態では、APIの種別情報として、ターゲットアプリケーションが実装される装置のUI制御に関するUI用API、当該装置が有する認証機能に関する認証機能用API、当該装置が有する設定機能に関する設定機能用API、当該装置が有するデータベース操作機能に関するデータベース操作用APIおよび当該装置が有する画像処理機能に関する画像処理用APIが登録される。
メモリ使用量上限値512は、ターゲットアプリケーションがAPIを使用する際に許容されるメモリ使用量上限値であり、図5に示す実施形態では、種々のメモリ使用量上限値が、各種APIに関連付けて登録されている。
なお、本実施形態に示すAPI種別とメモリ使用量上限値は例示であり、他の実施形態では、図7に示すAPI種別およびメモリ使用量上限値以外のAPI種別およびメモリ使用量上限値を使用することができる。
図6は、本実施形態のSDKが生成するログおよびSDKが有するAPIライブラリに含まれるAPIに実装されるログ出力手段612を示す図である。以下、図6を参照して、SDK212が生成するログ610およびSDK212によるログの出力方法について説明する。
ログ610には、SDK212が測定した情報処理装置のメモリの使用量と、ターゲットアプリケーションが使用したAPIの種別情報および当該APIが使用されたことを示す情報(以下、これらの情報を「API使用情報」とする。)とが記録される。図6に示す実施形態では、例えば、「2010/10/20 17:10:10」に測定したメモリの使用量が「52,000,000[byte]」であることを示している。本実施形態では、メモリの使用量が定期的、すなわち5秒間隔で測定される他、APIが使用された直後(例えば、2010/10/20 17:10:11等)にもメモリ使用量が測定される。
また、ログ610には、API使用情報として、UI用APIに含まれるダイアログを表示するAPIが使用されたことを示す[sdk.ui.Dialog out used]、UI用APIに含まれるテキストを表示するAPIが使用されたことを示す[sdk.ui.Text out used]および画像処理用用APIに含まれるスキャン処理を実行するAPIが使用されたことを示す[sdk.scan.Job out used]が記録されている。
ログ出力手段612には、SDK212がAPI使用情報を出力する方法が記載されている。図6に示す実施形態はJava(登録商標)を使用した例であり、Java(登録商標)の標準パッケージであるjava(登録商標).utilのLoggerを使用してAPI使用情報を出力することができる。また、本実施形態では、メソッド「this.getClass()」およびメソッド「this.getName()」を使用することにより、パッケージ名(例えば、sdk.uiやsdk.scan等)およびクラス名(例えば、JobやDialog等)の結合を出力することができる。これにより、同一のクラス名を有するAPIが呼び出された場合でも、そのパッケージ名を参照することにより、APIを固有に識別することができる。
図7は、本実施形態のSDKが実行するターゲットアプリケーションのメモリ使用量の判定処理の他の実施形態を示すフローチャートである。以下、図7を参照して、他の実施形態であるSDK212が実行するターゲットアプリケーションのメモリ使用量の判定処理について説明する。
図7の処理は、ステップS700でユーザがSDK212のGUI等を用いてメモリ使用量監視部214を呼び出することにより開始する。ステップS701では、メモリ使用量監視部214がシミュレータ216を呼び出し、ステップS702で、シミュレータ216がターゲットアプリケーションを起動する。ステップS703では、メモリ使用量監視部214はメモリ使用量決定部218を呼び出す。
ステップS704では、シミュレータ216がターゲットアプリケーションの起動形式をメモリ使用量決定部218に通知する。本実施形態では、ターゲットアプリケーションの起動形式は、ターゲットアプリケーションを構成する設定ファイル等に記載されており、シミュレータ216は、当該設定ファイルを参照することにより、ターゲットアプリケーションの起動形式を取得することができる。他の実施形態では、例えば、OSがWindows(登録商標)の場合には、MSCONFIGの設定やレジストリにターゲットアプリケーションの起動形式を書き込むこができ、LINUX(登録商標)の場合には、デーモンの設定用ファイルに書き込むことができる。
そして、シミュレータ216は、取得したターゲットアプリケーションの起動形式をメモリ使用量決定部218が参照可能なメモリ領域(例えば、グローバル変数やキャッシュメモリの特定領域等)に書き込むことにより、ターゲットアプリケーションの起動形式をメモリ使用量決定部218に通知することができる。
ステップS705では、メモリ使用量監視部214は、シミュレータ216からターゲットアプリケーションの起動完了通知を受信したか否か判定し、当該通知を受信していない場合には(no)、ステップS705の処理を反復させて当該通知を待機する。一方、起動完了通知を受信した場合には(yes)、処理をステップS706に分岐させる。ステップS706では、メモリ使用量監視部214がメモリ使用量の測定を開始し、測定結果をログに記録する。
ステップS707では、シミュレータ216がユーザからコマンドの発行指示を受信したか否か判定し、コマンドの発行指示を受信していない場合には(no)、ステップS707の処理を反復させてコマンドの発行指示を待機する。一方、コマンドの発行指示を受信した場合には(yes)、処理をステップS708に分岐させ、ステップS708では、シミュレータ216は、当該コマンド発行指示が指定するコマンドをターゲットアプリケーションに発行して、ターゲットアプリケーションにAPIを使用する処理を実行させる。ステップS709では、メモリ使用量監視部214は、ターゲットアプリケーションが動作する情報処理装置のメモリ使用量を測定する。
ステップS710では、メモリ使用量監視部214は、ユーザからメモリ使用量の判定命令を受信したか否か判定し、当該判定命令を受信していない場合には(no)、ステップS710の処理を反復させて判定命令を待機する。一方、メモリ使用量の判定命令を受信した場合には(yes)、処理をステップS711に分岐させる。
ステップS711では、メモリ使用量監視部214がメモリ使用量を測定すると共に、シミュレータ216に終了命令を送信し、メモリ使用量決定部218にメモリ使用量上限値の決定命令を送信する。ステップS712では、シミュレータ216がターゲットアプリケーションを停止させる。ステップS713では、メモリ使用量決定部218が、情報提供サーバ114にメモリ使用量判定テーブルの取得要求を送信する。本実施形態では、メモリ使用量判定テーブルとして、図5に示すメモリ使用量判定テーブルおよび図8を参照して説明するメモリ使用量判定テーブルを使用する。
ステップS714では、メモリ使用量決定部218は、ステップS713の取得要求の応答として受信したメモリ使用量判定テーブルと、ターゲットアプリケーションの起動形式とを使用してメモリ使用量上限値を決定する。
より詳細には、メモリ使用量決定部218は、ターゲットアプリケーションの起動形式を判定し、起動形式が常駐の場合には、図8に示すメモリ使用量判定テーブルに規定されたメモリ使用量上限値をメモリ使用量上限値として決定する。一方、起動形式が非常駐の場合には、メモリ使用量決定部218は、SDK212が生成したログを参照し、当該ログに記録されたターゲットアプリケーションが使用した1または複数のAPIの種別を判定し、図5に示すようなメモリ使用量判定テーブルを参照し、当該ターゲットアプリケーションが使用したAPIに関連付けられたメモリ使用量上限値を合算した値を、メモリ使用量上限値として決定する。
ステップS715では、メモリ使用量監視部214はログを参照し、ターゲットアプリケーションのメモリ使用量がメモリ使用量上限値を超えているか否か判定する。本実施形態では、図4を参照して説明した実施形態と同様に、ログに記録されたターゲットアプリケーションの各メモリ使用量からターゲットアプリケーションの起動直後に測定されたメモリ使用量を減算した値と、上記メモリ使用量上限値とを比較して、ターゲットアプリケーションのメモリ使用量がメモリ使用量上限値を超えているか否か判定する。
ステップS716では、メモリ使用量監視部214は、ステップS715で得られた判定結果を情報処理装置の表示装置に表示し、ステップS717で処理が終了する。
図8は、図7に示す実施形態において情報提供サーバが提供する判定情報であるメモリ使用量判定テーブルの実施形態を示す図である。以下、図8を参照して、メモリ使用量判定テーブル800について説明する。
メモリ使用量判定テーブル800は、ターゲットアプリケーションの起動形式810とメモリ使用量上限値812とが関連付けて登録される。起動形式810は、本実施形態のSDKを用いてメモリ使用量が判定されるターゲットアプリケーションの起動形式であり、ターゲットアプリケーションが実装される装置の電源投入と共に起動する「常駐」タイプと、ユーザの起動指示によって起動される「非常駐」タイプの2種類がある。
メモリ使用量上限値812は、ターゲットアプリケーションがAPIを使用する際に許容されるメモリ使用量上限値であり、図8に示す実施形態では、「常駐」タイプのターゲットアプリケーションのメモリ使用量上限値は「100MB」であり、「非常駐」タイプのターゲットアプリケーションのメモリ使用量上限値は「NULL」、すなわちメモリ使用量の上限がないことを示している。なお、本実施形態に示すメモリ使用量上限値は例示であり、他の実施形態では、メモリ使用量上限値として任意の値を使用することができる。
通常、常駐形式のターゲットアプリケーションは常にメモリを使用するため、非常駐形式と比べ他のソフトウェアの動作等に与える影響が大きく、常駐形式のターゲットアプリケーションを作成する際には、そのメモリ使用量を極力抑える必要がある。一方、非常駐形式のターゲットアプリケーションは、このような制約が少ない。このように、ターゲットアプリケーションが許容されるメモリ使用量は起動形式によって異なる。この点につき、図7および8に示す実施形態では、ターゲットアプリケーションの起動形式に応じてメモリ使用量上限値を決定できるため、起動形式に最適なメモリ使用量のアプリケーションの開発をサポートし、その品質を向上させることができる。
図9は、本実施形態のSDKが実行するターゲットアプリケーションのメモリ使用量の判定処理のさらに他の実施形態を示すフローチャートである。以下、図9を参照して、さらに他の実施形態であるSDK212が実行するターゲットアプリケーションのメモリ使用量の判定処理について説明する。なお、図9に示すステップS900〜S911の処理は、図4に示すステップS400〜S411と同一であるため、以下、相違点を中心に説明する。
ステップS912では、メモリ使用量決定部218が、情報提供サーバ114に機器種別判定テーブルの取得要求およびメモリ使用量判定テーブルの取得要求を送信する。ステップS913では、メモリ使用量決定部218は、ステップS912の取得要求の応答として受信した機器種別判定テーブルおよびログを使用して、ターゲットアプリケーションが実装される機器の種別を判定する。ステップS914では、メモリ使用量決定部218は、ステップS912の取得要求の応答として受信したメモリ使用量判定テーブルとステップS914の判定結果とを使用してメモリ使用量上限値を決定する。
ステップS915では、メモリ使用量監視部214はログを参照し、ターゲットアプリケーションのメモリ使用量がメモリ使用量上限値を超えているか否か判定する。本実施形態では、図4を参照して説明した実施形態と同様に、ログに記録されたターゲットアプリケーションの各メモリ使用量からターゲットアプリケーションの起動直後に測定されたメモリ使用量を減算した値と、上記メモリ使用量上限値とを比較して、ターゲットアプリケーションのメモリ使用量がメモリ使用量上限値を超えているか否か判定する。
ステップS916では、メモリ使用量監視部214は、ステップS915で得られた判定結果を情報処理装置の表示装置に表示し、ステップS917で処理が終了する。
図10は、図9に示す実施形態において情報提供サーバが提供する判定情報である機器種別判定テーブルおよびメモリ使用量判定テーブルの実施形態を示す図である。以下、図10を参照して、機器種別判定テーブル1010およびメモリ使用量判定テーブル1020について説明する。
機器種別判定テーブル1010は、ターゲットアプリケーションが実装される装置の機器種別を判定するためのデータテーブルである。すなわち、当該装置が画像形成装置等の組み込む機器であるか、または汎用PC等の汎用機器であるか否かを判定するためのデータテーブルである。機器種別判定テーブル1010は、API種別1012と組み込み機器の依存性1014とが関連付けて登録される。API種別1012は、ターゲットアプリケーションが使用するAPIの種別を示す情報である。組み込み機器の依存性1014は、API種別1012に登録されたAPIが組み込み機器で使用されるAPIであるかを示す。
図10の実施形態では、「スキャン機能用API」および「印刷機能用API」は、組み込み機器の依存性として「TRUE」が関連付けて登録されており、これらのAPIが組み込み機器で使用されるAPIであることを示している。一方、「UI用API」、「認証機能用API」および「データベース操作用API」は、組み込み機器の依存性として「FALSE」が関連付けて登録されており、これらのAPIが汎用機器で使用されるAPIであることを示している。
メモリ使用量判定テーブル1020は、機器種別判定テーブル1010を使用して特定された機器種別の装置にターゲットアプリケーションが実装された場合に許容されるメモリ消費上限値を判定するためのデータテーブルであり、機器種別1022とメモリ使用量上限値1024とが関連付けて登録される。
機器種別1022は、ターゲットアプリケーションが実装される装置の種別情報であり、図10に示す実施形態では、「組み込み機器」と「その他の機器」との2種類が登録される。メモリ使用量上限値1024は、ターゲットアプリケーションがAPIを使用する際に許容されるメモリ使用量上限値であり、図10に示す実施形態では、「組み込み機器」に実装されるターゲットアプリケーションのメモリ使用量上限値は「100MB」であり、「その他の機器」に実装されるターゲットアプリケーションのメモリ使用量上限値は「300MB」である。なお、本実施形態に示すメモリ使用量上限値は例示であり、他の実施形態では、メモリ使用量上限値として任意の値を使用することができる。
図9および10に示す実施形態では、メモリ使用量の制約の強度が異なる種々の機種の種別に応じて、ターゲットアプリケーションのメモリ使用量を判定することができる。
図11は、本実施形態のSDKが実行するターゲットアプリケーションのメモリ使用量の判定処理のさらに他の実施形態を示すフローチャートである。以下、図11を参照して、さらに他の実施形態であるSDK212が実行するターゲットアプリケーションのメモリ使用量の判定処理について説明する。なお、図11に示すステップS1100〜S1109の処理は、図9に示すステップS900〜S909と同一であるため、以下、相違点を中心に説明する。
ステップS1110では、メモリ使用量監視部214がメモリ使用量を測定すると共に、シミュレータ216に終了命令を送信し、メモリ使用量決定部218にメモリ使用量上限値の決定命令を送信する。ステップS1111では、シミュレータ216がターゲットアプリケーションを停止させる。ステップS1112では、メモリ使用量決定部218が、情報提供サーバ114に機器種別判定テーブルおよびメモリ使用量判定テーブルの取得要求を送信する。
ステップS1113では、メモリ使用量決定部218が、ステップS1112の取得要求の応答として受信した機器種別判定テーブルおよびログを使用して、ターゲットアプリケーションが実装される機器の種別を判定する。本実施形態では、図10を参照して説明した機器種別判定テーブルを使用して機器種別を判定する。
ステップS1114では、メモリ使用量決定部218は、ステップS1113の判定結果を参照して、ターゲットアプリケーションが実装される機器が組み込み機器であるか否か判定し、当該機器が組み込み機器でない場合には(no)、処理をステップS1116に分岐させる。一方、ターゲットアプリケーションが実装される機器が組み込み機器である場合には(yes)、処理をステップS1115に分岐させる。
ステップS1115では、メモリ使用量監視部214が、メモリ使用量決定部218が取得したメモリ使用量判定テーブルとログとを使用して、ターゲットアプリケーションを実装可能な機器を判定する。ステップS1116では、メモリ使用量監視部214は、ステップS1115の判定結果を情報処理装置の表示装置に表示し、ステップS1117で処理が終了する。
図12は、図11に示す実施形態において情報提供サーバが提供する判定情報である機器種別判定テーブルおよびメモリ使用量判定テーブルの実施形態を示す図である。以下、図12を参照して、メモリ使用量判定テーブル1220について説明する。なお、機器種別判定テーブル1210は図10に示す機器種別判定テーブル1010と同一であるため、以下、説明を省略する。
メモリ使用量判定テーブル1220は、ターゲットアプリケーションが実装される装置の機器種別およびバージョン情報毎のメモリ使用量上限値が登録されるデータテーブルであり、機器種別およびバージョン情報1222とメモリ使用量上限値1224とが関連付けて登録される。
機器種別およびバージョン情報1222は、ターゲットアプリケーションが実装される装置の種別情報およびそのバージョン情報である。図12に示す実施形態では、機器種別として「複合機A」や「複合機B」等が使用され、バージョン情報として「ver.1.00」や「ver.1.01」等が使用されており、これらの結合が機器種別およびバージョン情報して登録される。
メモリ使用量上限値1224は、ターゲットアプリケーションがAPIを使用する際に許容されるメモリ使用量上限値であり、種々のメモリ使用量上限値が登録される。
図12に示す実施形態では、機器種別である「複合機A」と、そのバージョン情報「ver.1.00」、「ver.1.01」および「ver.1.02」とが結合して登録されており、同一の機器であってもバージョンによって許容可能なメモリ使用量が異なることを示している。なお、本実施形態に示す機器種別やバージョン情報、メモリ使用量上限値は例示であり、他の実施形態では、その他の機器種別やバージョン情報を使用することができ、また、メモリ使用量上限値として任意の値を使用することができる。
本実施形態では、ターゲットアプリケーションを実装可能な機器を判定する場合、メモリ使用量監視部214は、SDK212が生成したログを取得し、当該ログに記録されたターゲットアプリケーションの各メモリ使用量からターゲットアプリケーションの起動直後に測定されたメモリ使用量を減算した値と、メモリ使用量判定テーブル1220に登録された各メモリ使用量上限値とを比較する。当該メモリ使用量がメモリ使用量上限値以下であれば、当該メモリ使用量上限値に対応する機種種別およびバージョン情報が示す機器にターゲットアプリケーションを実装可能であると判定する。一方、当該メモリ使用量がメモリ使用量上限値よりも大きい場合には、当該メモリ使用量上限値に対応する機種種別およびバージョン情報が示す機器にターゲットアプリケーションを実装することができないと判定する。
図11および12に示す実施形態では、ターゲットアプリケーションが実装される機種やそのバージョンに応じて、メモリ使用量を判定することができる。これにより、開発現場に配備されていない種類の機器に実装されるターゲットアプリケーションについてもメモリ使用量を判定することができる。
図13は、他の実施形態の情報処理システムに含まれる情報処理装置および情報提供サーバの機能構成を示す図である。以下、図13を参照して、情報処理装置1302および情報提供サーバ1304が実装する処理機能について説明する。なお、情報処理装置1302および情報提供サーバ1304は、図2を参照して説明した情報処理装置112aおよび情報提供サーバ114と共通する機能手段を有するため、以下、相違する点を中心に説明する。
情報処理装置1302は、OS1310と、SDK1312と、通信部1324とを含む。
SDK1312は、メモリ使用量監視部1314と、シミュレータ1316と、判定部1318と、APIライブラリ1320と、ソースコードエディタ1322とを含んで構成される。
判定部1318は、メモリ使用量監視部1314およびAPIライブラリ1320が生成したログを提供して、ターゲットアプリケーションを実装可能な組み込み機器を情報提供サーバ1304に判定させる機能手段である。判定部1318は、上記ログを判定要求とともに情報提供サーバ1304に送信し、ターゲットアプリケーションを実装可能な組み込み機器を情報提供サーバ1304に判定させる。また、判定部1318は、情報提供サーバ1304から受信した判定結果を情報処理装置1302の表示装置に表示する。
本実施形態では、判定部1318は、情報提供サーバ1304に判定要求を送信する場合、ブラウザを立ち上げて情報提供サーバ1304が提供するWEB画面にアクセスし、当該WEB画面を介してログおよび判定要求を送信することができる。そして、判定部1318は、情報提供サーバ1304から判定結果を受信した場合、ブラウザを使用して当該判定結果をWEB画面上に表示させることができる。
通信部1324は、情報処理装置1302と、情報提供サーバ1304との間のデータ通信を行う機能手段である。通信部1324は、SDK1312から判定要求を受信すると、ネットワーク110を介して情報提供サーバ1304に判定要求およびログを送信する。通信部1324は、当該判定要求の応答として判定結果を受信すると、当該判定結果をSDK1312に渡す。
情報提供サーバ1304は、OS1330と、メモリ使用量判定部1332と、データベース1334と、通信部1336と、判定結果提供部1338と、更新部1340とを含んで構成される。
OS1330は、情報提供サーバ1304の全体制御を行う機能手段である。OS1330は、通信部1336が受信した各種要求の種類に応じて、当該要求に関連する機能手段を呼び出して処理を実行させる。本実施形態では、OS1330は、通信部1336を介して情報処理装置1302からログを受信すると、メモリ使用量判定部1332を呼び出し、メモリ使用量の判定処理を実行させる。
通信部1336は、情報提供サーバ1304と情報処理装置1302との間のデータ通信を行う機能手段である。通信部1336は、ネットワーク110を介して情報処理装置1302からSDK1312のログを受信すると、その旨の通知をOS1330にする。
メモリ使用量判定部1332は、ログを提供した情報処理装置1302でメモリ使用量の測定が行われたターゲットアプリケーションのメモリ使用量の判定を行う機能手段である。メモリ使用量判定部1332は、情報処理装置1302でSDK1312が生成したログを受信すると、データベース1334から機種種別判定テーブルおよびメモリ使用量判定テーブルを取得する。本実施形態では、図12を参照して説明した機種種別判定テーブル1210およびメモリ使用量判定テーブル1220と同様の機種種別判定テーブルおよびメモリ使用量判定テーブルが使用される。
メモリ使用量判定部1332は、SDK1312が生成したログと機種種別判定テーブルとを使用し、ターゲットアプリケーションが使用するAPIの種類に基づいて、当該ターゲットアプリケーションが実装される装置の機器種別を判定する。メモリ使用量判定部1332は、当該装置が組み込み機器である場合、ログとメモリ使用量判定テーブルとを使用して、ターゲットアプリケーションを実装可能な組み込み機器を判定する。
本実施形態では、メモリ使用量判定部1332は、情報処理装置1302から受信したログを情報提供サーバ1304の記憶装置(図示せず)に保存する。当該ログは、後述するようにデータベース1334が更新された場合に実行される再判定処理で使用される。
判定結果提供部1338は、メモリ使用量判定部1332の判定結果を提供する機能手段である。本実施形態では、判定結果提供部1338は、情報提供サーバ1304が提供するWEB画面上に表示させることができる他、ターゲットアプリケーションを作成したユーザの電子メールアドレス宛に当該判定結果を送信することができる。この場合、判定結果を送信すべきユーザ(例えば、ターゲットアプリケーションの開発者等)の電子メールアドレスは、予めデータベースに登録してもよく、また、SDK1312が生成するログに記述するように構成してもよい。
更新部1340は、データベース1334に登録された機種種別判定テーブルおよびメモリ使用量判定テーブルを更新する機能手段である。更新部1340は、ネットワークを介して接続された情報提供サーバ1304の管理PCまたは当該情報提供サーバ1304にローカル接続された管理PCからデータベース1334の更新要求を受信すると、当該更新要求と共に受信する更新情報に基づいて、機種種別判定テーブルおよび/またはメモリ使用量判定テーブルを更新する。
図14は、図13に示す実施形態のSDK1312が実行する処理を示すフローチャートである。以下、図14を参照して、SDK1312が実行する処理について説明する。
図14の処理は、ステップS1400でユーザがSDK1312のGUI等を用いてメモリ使用量監視部1314を呼び出することにより開始する。ステップS1401では、メモリ使用量監視部1314がシミュレータ1316を呼び出し、ステップS1402で、シミュレータ1316がターゲットアプリケーションを起動する。
ステップS1403では、メモリ使用量監視部1314は、シミュレータ1316からターゲットアプリケーションの起動完了通知を受信したか否か判定し、当該通知を受信していない場合には(no)、ステップS1403の処理を反復させて当該通知を待機する。一方、起動完了通知を受信した場合には(yes)、処理をステップS1404に分岐させる。ステップS1404では、メモリ使用量監視部1314がメモリ使用量の測定を開始し、測定結果をログに記録する。
ステップS1405では、シミュレータ1316がユーザからコマンドの発行指示を受信したか否か判定し、コマンドの発行指示を受信していない場合には(no)、ステップS1405の処理を反復させてコマンドの発行指示を待機する。一方、コマンドの発行指示を受信した場合には(yes)、処理をステップS1406に分岐させる。ステップS1406では、シミュレータ1316は、当該コマンド発行指示が指定するコマンドをターゲットアプリケーションに発行して、ターゲットアプリケーションにAPIを使用する処理を実行させる。ステップS1407では、メモリ使用量監視部1314は、ターゲットアプリケーションが動作する情報処理装置のメモリ使用量を測定する。
ステップS1408では、メモリ使用量監視部1314は、ユーザからメモリ使用量の判定命令を受信したか否か判定し、当該判定命令を受信していない場合には(no)、ステップS1408の処理を反復させて判定命令を待機する。一方、メモリ使用量の判定命令を受信した場合には(yes)、処理をステップS1409に分岐させる。
ステップS1409では、メモリ使用量監視部1314はメモリ使用量を測定すると共に、シミュレータ1316に終了命令を送信し、判定部1318にターゲットアプリケーションを実装可能な組み込み機器を判定させる判定命令を送信する。ステップS1410では、シミュレータ1316がターゲットアプリケーションを停止させる。ステップS1411では、判定部1318は、判定要求と共にSDK1312が生成したログを情報提供サーバ1304に送信する。
ステップS1412では、判定部1318は、情報提供サーバ1304から判定結果を受信したか否か判定し、受信していない場合には(no)、ステップS1412の処理を反復させる。一方、判定結果を受信した場合には(yes)、処理をステップS1413に分岐させる。ステップS1413では、判定部1318は、情報提供サーバ1304が提供した判定結果を情報処理装置1302の表示装置に表示させ、ステップS1414で処理が終了する。
図15は、図13に示す実施形態の情報提供サーバ1304が実行する処理を示すフローチャートである。以下、図15を参照して、情報提供サーバ1304が実行する処理について説明する。
図15の処理は、ステップS1500で情報提供サーバ1304が情報処理装置1302からログを受信することにより開始する。ステップS1501では、メモリ使用量判定部1332が、当該ログに記録されたターゲットアプリケーションが呼び出したAPIを特定し、データベース1334に登録された機器種別判定テーブルを参照して、当該APIが組み込み機器で使用されるAPIであるか否か判定することにより、ターゲットアプリケーションが実装される装置が組み込み機器であるか否か判定する。
ステップS1502では、ステップS1501の判定結果に基づき、ターゲットアプリケーションが実装される装置が組み込み機器である場合には(yes)、処理をステップS1503に分岐させ、組み込み機器でない場合には(no)、処理をステップS1504に分岐させる。
ステップS1503では、メモリ使用量判定部1332が、ログおよびメモリ使用量判定テーブルを参照し、ログに記録されたメモリ使用量の最大値がメモリ使用量判定テーブルに規定されたメモリ使用量上限値を超えるか否か判定して、ターゲットアプリケーションを実装可能な組み込み機器を判定する。
本実施形態では、メモリ使用量判定部1332は、SDK1312が生成したログを取得し、当該ログに記録されたターゲットアプリケーションの各メモリ使用量からターゲットアプリケーションの起動直後に測定されたメモリ使用量を減算した値をメモリ使用量とし、その最大値とメモリ使用量判定テーブルに登録された各メモリ使用量上限値とを比較する。
ステップS1504では、判定結果提供部1338が上述した判定結果を情報処理装置1302に送信し、ステップS1505で処理が終了する。本実施形態では、判定結果提供部1338は、ターゲットアプリケーションが実装される機器が組み込み機器である場合には、ターゲットアプリケーションを実装可能な組み込み機器や実装不可能な組み込み機器を示す結果を判定結果として提供することができる。一方、ターゲットアプリケーションが実装される機器が組み込み機器でない場合には、その旨を判定結果として提供することができる。
図16は、図13に示す実施形態の情報提供サーバ1304がデータベースを更新する際に実行する処理を示すフローチャートである。以下、図16を参照して、情報提供サーバ1304のデータベース1334が更新される場合に実行される処理について説明する。
図16の処理は、ステップS1600で情報提供サーバ1304がデータベース1334の更新要求および更新情報を受信することにより開始する。ステップS1601では、更新部1340が、更新要求と共に受信した更新情報に基づいてデータベース1334を更新する。ステップS1602では、メモリ使用量判定部1332が、情報提供サーバ1304の記憶装置に保存されたSDK1312のログを取得する。本実施形態では、メモリ使用量判定部1332は、情報提供サーバ1304の記憶装置に保存されたSDK1312の総てのログを取得し、後述する処理を実行する。
ステップS1603では、メモリ使用量判定部1332は、当該ログに記録されたターゲットアプリケーションが呼び出したAPIを特定し、データベース1334に登録された機器種別判定テーブルを参照して、当該APIが組み込み機器で使用されるAPIであるか否か判定することにより、ターゲットアプリケーションが実装される装置が組み込み機器であるか否か判定する。
ステップS1604では、ステップS1603の判定結果により、ターゲットアプリケーションが実装される装置が組み込み機器でない場合には(no)、ステップS1607に分岐して処理が終了する。一方、ターゲットアプリケーションが実装される装置が組み込み機器である場合には(yes)、処理をステップS1605に分岐させる。
ステップS1605では、メモリ使用量判定部1332が、ログおよびメモリ使用量判定テーブルを参照し、ログに記録されたメモリ使用量の最大値がメモリ使用量判定テーブルに規定されたメモリ使用量上限値を超えるか否か判定して、ターゲットアプリケーションを実装可能な組み込み機器を判定する。
本実施形態では、メモリ使用量判定部1332は、SDK1312が生成したログを取得し、当該ログに記録されたターゲットアプリケーションの各メモリ使用量からターゲットアプリケーションの起動直後に測定されたメモリ使用量を減算した値をメモリ使用量とし、その最大値とメモリ使用量判定テーブルに登録された各メモリ使用量上限値とを比較する。
ステップS1606では、判定結果提供部1338が、ステップS1603の判定結果を情報処理装置1302に送信し、ステップS1607で処理が終了する。
本実施形態では、判定結果提供部1338は、ログに記述されたSDK1312のユーザの電子メールアドレス宛に、ターゲットアプリケーションを実装可能な組み込み機器や実装不可能な組み込み機器を示す結果を判定結果として提供することができる。
図13〜16に示す実施形態では、図11および12に示す実施形態と同様に、ターゲットアプリケーションが実装される機種やそのバージョンに応じて、メモリ使用量を判定することができる。また、図13〜16に示す実施形態では、情報提供サーバが情報処理装置からメモリ使用量と使用されるAPIが記録されたログを収集するため、新たな機種の登場やバージョンアップがあった場合に、当該ログを使用してターゲットアプリケーションのメモリ使用量を判定して、ユーザに通知することができる。これにより、新たな機種の追加やバージョンアップがあった場合に、各ユーザが自身の情報処理装置を使用して、再度、ターゲットアプリケーションのメモリ使用量を判定する必要がなく、上記通知を確認することにより、自身が作成したターゲットアプリケーションに対する修正の必要性の有無を容易に判定することができる。
これまで本実施形態につき説明してきたが、本発明は、上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
100…情報処理システム、110…ネットワーク、112a,112b…情報処理装置、114…情報提供サーバ、116…アプリケーション提供サーバ、120…ネットワーク、122a,122b…画像形成装置
特開2006−293417号公報

Claims (22)

  1. アプリケーションを動作させる情報処理装置と、前記情報処理装置に情報を提供する情報提供サーバとを含む情報処理システムであって、
    前記情報処理装置は、
    前記アプリケーションを前記情報処理装置上で動作させるシミュレータと、
    前記アプリケーションが動作時に使用するメモリの使用量であるメモリ使用量を測定するメモリ使用量監視手段と、
    前記情報提供サーバが提供する、前記メモリ使用量を判定するための判定情報を使用して、前記アプリケーションが許容されるメモリ使用量上限値を決定するメモリ使用量決定手段とを含み、
    前記メモリ使用量監視手段は、前記メモリ使用量がメモリ使用量上限値を超えているか否か判定し、判定結果を通知し、
    前記判定情報は、前記アプリケーションが使用するAPIの種別と、前記APIが使用される際に許容されるメモリ使用量上限値とが関連付けて登録された第1のデータテーブルを含み、
    前記メモリ使用量決定手段は、前記第1のデータテーブルと、前記アプリケーションが使用したAPIの種別情報と、前記メモリ使用量とを使用して、前記メモリ使用量上限値を決定する情報処理システム。
  2. 前記判定情報は、前記アプリケーションの起動形式と、前記アプリケーションの起動形式別のメモリ使用量上限値とが登録された第2のデータテーブルを含み、
    前記メモリ使用量決定手段は、前記第2のデータテーブルと、前記アプリケーションの起動形式を示す情報とを使用して、前記メモリ使用量上限値を決定する、請求項に記載の情報処理システム。
  3. アプリケーションを動作させる情報処理装置と、前記情報処理装置に情報を提供する情報提供サーバとを含む情報処理システムであって、
    前記情報処理装置は、
    前記アプリケーションを前記情報処理装置上で動作させるシミュレータと、
    前記アプリケーションが動作時に使用するメモリの使用量であるメモリ使用量を測定するメモリ使用量監視手段と、
    前記情報提供サーバが提供する、前記メモリ使用量を判定するための判定情報を使用して、前記アプリケーションが許容されるメモリ使用量上限値を決定するメモリ使用量決定手段とを含み、
    前記メモリ使用量監視手段は、前記メモリ使用量がメモリ使用量上限値を超えているか否か判定し、判定結果を通知し、
    前記判定情報は、前記アプリケーションの起動形式と、前記アプリケーションの起動形式別のメモリ使用量上限値とが登録された第2のデータテーブルを含み、
    前記メモリ使用量決定手段は、前記第2のデータテーブルと、前記アプリケーションの起動形式を示す情報とを使用して、前記メモリ使用量上限値を決定する、情報処理システム。
  4. アプリケーションを動作させる情報処理装置と、前記情報処理装置に情報を提供する情報提供サーバとを含む情報処理システムであって、
    前記情報処理装置は、
    前記アプリケーションを前記情報処理装置上で動作させるシミュレータと、
    前記アプリケーションが動作時に使用するメモリの使用量であるメモリ使用量を測定するメモリ使用量監視手段と、
    前記情報提供サーバが提供する、前記メモリ使用量を判定するための判定情報を使用して、前記アプリケーションが許容されるメモリ使用量上限値を決定するメモリ使用量決定手段とを含み、
    前記メモリ使用量監視手段は、前記メモリ使用量がメモリ使用量上限値を超えているか否か判定し、判定結果を通知し、
    前記判定情報は、
    前記アプリケーションが使用するAPIの種別と、前記APIが組み込み機器で使用されるAPIであるか否かを示す情報とが関連付けて登録された第3のデータテーブルと、
    前記組み込み機器上で前記アプリケーションが動作する際に許容されるメモリ使用量上限値と、前記組み込み機器以外の機器上で前記アプリケーションが動作する際に許容されるメモリ使用量上限値とが登録された第4のデータテーブルとを含み、
    前記メモリ使用量決定手段は、
    前記第3のデータテーブルと、前記アプリケーションが使用したAPIの種別情報とを使用して、前記アプリケーションが組み込み機器に実装されるか否か判定し、
    前記判定の結果と、前記第4のデータテーブルと、前記メモリ使用量とを使用して、前記メモリ使用量上限値を決定する情報処理システム。
  5. アプリケーションを動作させる情報処理装置と、前記情報処理装置に情報を提供する情報提供サーバとを含む情報処理システムであって、
    前記情報処理装置は、
    前記アプリケーションを前記情報処理装置上で動作させるシミュレータと、
    前記アプリケーションが動作時に使用するメモリの使用量であるメモリ使用量を測定するメモリ使用量監視手段と、
    前記情報提供サーバが提供する、前記メモリ使用量を判定するための判定情報を使用して、前記アプリケーションが許容されるメモリ使用量上限値を決定するメモリ使用量決定手段とを含み、
    前記メモリ使用量監視手段は、前記メモリ使用量がメモリ使用量上限値を超えているか否か判定し、判定結果を通知し、
    前記判定情報は、
    前記アプリケーションが使用するAPIの種別と、前記APIが組み込み機器で使用されるAPIであるか否かを示す情報とが関連付けて登録された第3のデータテーブルと、
    前記組み込み機器および前記組み込み機器のバージョン情報と、前記組み込み機器上で前記アプリケーションが動作する際に許容されるメモリ使用量上限値とが登録された第5のデータテーブルとを含み、
    前記メモリ使用量決定手段は、前記第3のデータテーブルと、前記アプリケーションが使用したAPIの種別情報とを使用して、前記アプリケーションが組み込み機器に実装されるか否か判定し、
    前記メモリ使用量監視手段は、前記アプリケーションが組み込み機器に実装される場合に、前記第5のデータテーブルと、前記メモリ使用量とを使用して、前記アプリケーションのメモリ使用量が前記メモリ使用量上限値を超えているか否か判定する情報処理システム。
  6. 前記情報処理装置は、前記判定結果を表示する表示手段を備えている、請求項1〜5のいずれか1項に記載の情報処理システム。
  7. アプリケーションを動作させる情報処理装置と、前記情報処理装置に情報を提供する情報提供サーバとを含む情報処理システムであって、
    前記情報処理装置は、
    前記アプリケーションを前記情報処理装置上で動作させるシミュレータと、
    前記アプリケーションが動作時に使用するメモリの使用量であるメモリ使用量を測定し、前記アプリケーションが使用するAPIの種別情報が記録されるログに前記メモリ使用量を記録するメモリ使用量監視手段と、
    前記ログを前記情報提供サーバに提供する手段とを含み、
    前記情報提供サーバは、
    前記メモリ使用量を判定するための判定情報が保存されるデータベースと、
    前記判定情報および前記情報処理装置が提供するログを使用して、前記アプリケーションが組み込み機器に実装されるか否か判定し、前記アプリケーションが組み込み機器に実装される場合に、前記アプリケーションのメモリ使用量が前記アプリケーションの許容されるメモリ使用量上限値を超えているか否か判定する手段と、
    前記判定する手段による判定結果を通知する手段とを含み、
    前記判定情報は、
    前記アプリケーションが使用するAPIの種別と、前記APIが組み込み機器で使用されるAPIであるか否かを示す情報とが関連付けて登録された第3のデータテーブルと、
    前記組み込み機器および前記組み込み機器のバージョン情報と、前記組み込み機器上で前記アプリケーションが動作する際に許容されるメモリ使用量上限値とが登録された第5のデータテーブルとを含む、情報処理システム。
  8. 前記情報提供サーバは、
    前記判定情報を更新する手段をさらに含み、
    前記更新する手段が前記判定情報を更新すると、前記判定する手段は、前記アプリケーションのメモリ使用量が前記メモリ使用量上限値を超えているか否か判定し、前記通知する手段は前記判定の結果を通知する、請求項7に記載の情報処理システム。
  9. アプリケーションを動作させる情報処理装置であって、
    前記アプリケーションを前記情報処理装置上で動作させるシミュレータと、
    前記アプリケーションが動作時に使用するメモリの使用量であるメモリ使用量を測定するメモリ使用量監視手段と、
    前記メモリ使用量を判定するための判定情報を使用して、前記アプリケーションが許容されるメモリ使用量上限値を決定するメモリ使用量決定手段とを含み、
    前記メモリ使用量監視手段は、前記メモリ使用量が前記メモリ使用量上限値を超えているか否か判定し、判定結果を通知し、
    前記判定情報は、前記アプリケーションが使用するAPIの種別と、前記APIが使用される際に許容されるメモリ使用量上限値とが関連付けて登録された第1のデータテーブルを含み、
    前記メモリ使用量決定手段は、前記第1のデータテーブルと、前記アプリケーションが使用したAPIの種別情報と、前記メモリ使用量とを使用して、前記メモリ使用量上限値を決定する、情報処理装置。
  10. 前記判定情報は、前記アプリケーションの起動形式と、前記アプリケーションの起動形式別のメモリ使用量上限値とが登録された第2のデータテーブルを含み、
    前記メモリ使用量決定手段は、前記第2のデータテーブルと、前記アプリケーションの起動形式を示す情報とを使用して、前記メモリ使用量上限値を決定する、請求項に記載の情報処理装置。
  11. アプリケーションを動作させる情報処理装置であって、
    前記アプリケーションを前記情報処理装置上で動作させるシミュレータと、
    前記アプリケーションが動作時に使用するメモリの使用量であるメモリ使用量を測定するメモリ使用量監視手段と、
    前記メモリ使用量を判定するための判定情報を使用して、前記アプリケーションが許容されるメモリ使用量上限値を決定するメモリ使用量決定手段とを含み、
    前記メモリ使用量監視手段は、前記メモリ使用量が前記メモリ使用量上限値を超えているか否か判定し、判定結果を通知し、
    前記判定情報は、前記アプリケーションの起動形式と、前記アプリケーションの起動形式別のメモリ使用量上限値とが登録された第2のデータテーブルを含み、
    前記メモリ使用量決定手段は、前記第2のデータテーブルと、前記アプリケーションの起動形式を示す情報とを使用して、前記メモリ使用量上限値を決定する、情報処理装置。
  12. アプリケーションを動作させる情報処理装置であって、
    前記アプリケーションを前記情報処理装置上で動作させるシミュレータと、
    前記アプリケーションが動作時に使用するメモリの使用量であるメモリ使用量を測定するメモリ使用量監視手段と、
    前記メモリ使用量を判定するための判定情報を使用して、前記アプリケーションが許容されるメモリ使用量上限値を決定するメモリ使用量決定手段とを含み、
    前記メモリ使用量監視手段は、前記メモリ使用量が前記メモリ使用量上限値を超えているか否か判定し、判定結果を通知し、
    前記判定情報は、
    前記アプリケーションが使用するAPIの種別と、前記APIが組み込み機器で使用されるAPIであるか否かを示す情報とが関連付けて登録された第3のデータテーブルと、
    前記組み込み機器上で前記アプリケーションが動作する際に許容されるメモリ使用量上限値と、前記組み込み機器以外の機器上で前記アプリケーションが動作する際に許容されるメモリ使用量上限値とが登録された第4のデータテーブルとを含み、
    前記メモリ使用量決定手段は、
    前記第3のデータテーブルと、前記アプリケーションが使用したAPIの種別情報とを使用して、前記アプリケーションが組み込み機器に実装されるか否か判定し、
    前記判定結果と、前記第4のデータテーブルと、前記メモリ使用量とを使用して、前記メモリ使用量上限値を決定する情報処理装置。
  13. アプリケーションを動作させる情報処理装置であって、
    前記アプリケーションを前記情報処理装置上で動作させるシミュレータと、
    前記アプリケーションが動作時に使用するメモリの使用量であるメモリ使用量を測定するメモリ使用量監視手段と、
    前記メモリ使用量を判定するための判定情報を使用して、前記アプリケーションが許容されるメモリ使用量上限値を決定するメモリ使用量決定手段とを含み、
    前記メモリ使用量監視手段は、前記メモリ使用量が前記メモリ使用量上限値を超えているか否か判定し、判定結果を通知し、
    前記判定情報は、
    前記アプリケーションが使用するAPIの種別と、前記APIが組み込み機器で使用されるAPIであるか否かを示す情報とが関連付けて登録された第3のデータテーブルと、
    前記組み込み機器および前記組み込み機器のバージョン情報と、前記組み込み機器上で前記アプリケーションが動作する際に許容されるメモリ使用量上限値とが登録された第5のデータテーブルとを含み、
    前記メモリ使用量決定手段は、前記第3のデータテーブルと、前記アプリケーションが使用したAPIの種別情報とを使用して、前記アプリケーションが組み込み機器に実装されるか否か判定し、
    前記メモリ使用量監視手段は、前記アプリケーションが組み込み機器に実装される場合に、前記第5のデータテーブルと、前記メモリ使用量とを使用して、前記アプリケーションのメモリ使用量が前記メモリ使用量上限値を超えているか否か判定する情報処理装置。
  14. 前記情報処理装置は、前記判定結果を表示する表示手段を備えている、請求項9〜13のいずれか1項に記載の情報処理装置。
  15. アプリケーションを動作させる情報処理装置が実行する方法であって、前記方法は、前記情報処理装置が、
    前記アプリケーションを前記情報処理装置上で動作させるステップと、
    前記アプリケーションが動作時に使用するメモリの使用量であるメモリ使用量を測定するステップと、
    前記メモリ使用量を判定するための判定情報を使用して、前記アプリケーションが許容されるメモリ使用量上限値を決定するステップと、
    前記メモリ使用量が前記メモリ使用量上限値を超えているか否か判定するステップと、
    前記判定するステップの判定結果を通知するステップと
    を含み、
    前記判定情報は、前記アプリケーションが使用するAPIの種別と、前記APIが使用される際に許容されるメモリ使用量上限値とが関連付けて登録された第1のデータテーブルを含み、
    前記メモリ使用量上限値を決定するステップは、
    前記第1のデータテーブルと、前記アプリケーションが使用したAPIの種別情報と、前記メモリ使用量とを使用して、前記メモリ使用量上限値を決定するステップを含む請方法。
  16. 前記判定情報は、前記アプリケーションの起動形式と、前記アプリケーションの起動形式別のメモリ使用量上限値とが登録された第2のデータテーブルを含み、
    前記メモリ使用量上限値を決定するステップは、
    前記第2のデータテーブルと、前記アプリケーションの起動形式を示す情報とを使用して、前記メモリ使用量上限値を決定するステップを含む、請求項1に記載の方法。
  17. アプリケーションを動作させる情報処理装置が実行する方法であって、前記方法は、前記情報処理装置が、
    前記アプリケーションを前記情報処理装置上で動作させるステップと、
    前記アプリケーションが動作時に使用するメモリの使用量であるメモリ使用量を測定するステップと、
    前記メモリ使用量を判定するための判定情報を使用して、前記アプリケーションが許容されるメモリ使用量上限値を決定するステップと、
    前記メモリ使用量が前記メモリ使用量上限値を超えているか否か判定するステップと、
    前記判定するステップの判定結果を通知するステップと
    を含み、
    前記判定情報は、前記アプリケーションの起動形式と、前記アプリケーションの起動形式別のメモリ使用量上限値とが登録された第2のデータテーブルを含み、
    前記メモリ使用量上限値を決定するステップは、
    前記第2のデータテーブルと、前記アプリケーションの起動形式を示す情報とを使用して、前記メモリ使用量上限値を決定するステップを含む、方法。
  18. アプリケーションを動作させる情報処理装置が実行する方法であって、前記方法は、前記情報処理装置が、
    前記アプリケーションを前記情報処理装置上で動作させるステップと、
    前記アプリケーションが動作時に使用するメモリの使用量であるメモリ使用量を測定するステップと、
    前記メモリ使用量を判定するための判定情報を使用して、前記アプリケーションが許容されるメモリ使用量上限値を決定するステップと、
    前記メモリ使用量が前記メモリ使用量上限値を超えているか否か判定するステップと、
    前記判定するステップの判定結果を通知するステップと
    を含み、
    前記判定情報は、
    前記アプリケーションが使用するAPIの種別と、前記APIが組み込み機器で使用されるAPIであるか否かを示す情報とが関連付けて登録された第3のデータテーブルと、
    前記組み込み機器上で前記アプリケーションが動作する際に許容されるメモリ使用量上限値と、前記組み込み機器以外の機器上で前記アプリケーションが動作する際に許容されるメモリ使用量上限値とが登録された第4のデータテーブルとを含み、
    前記メモリ使用量上限値を決定するステップは、
    前記第3のデータテーブルと、前記アプリケーションが使用したAPIの種別情報とを使用して、前記アプリケーションが組み込み機器に実装されるか否か判定し、
    前記判定の結果と、前記第4のデータテーブルと、前記メモリ使用量とを使用して、前記メモリ使用量上限値を決定するステップを含む方法。
  19. アプリケーションを動作させる情報処理装置が実行する方法であって、前記方法は、前記情報処理装置が、
    前記アプリケーションを前記情報処理装置上で動作させるステップと、
    前記アプリケーションが動作時に使用するメモリの使用量であるメモリ使用量を測定するステップと、
    前記メモリ使用量を判定するための判定情報を使用して、前記アプリケーションが許容されるメモリ使用量上限値を決定するステップと、
    前記メモリ使用量が前記メモリ使用量上限値を超えているか否か判定するステップと、
    前記判定するステップの判定結果を通知するステップと
    を含み、
    前記判定情報は、
    前記アプリケーションが使用するAPIの種別と、前記APIが組み込み機器で使用されるAPIであるか否かを示す情報とが関連付けて登録された第3のデータテーブルと、
    前記組み込み機器および前記組み込み機器のバージョン情報と、前記組み込み機器上で前記アプリケーションが動作する際に許容されるメモリ使用量上限値とが登録された第5のデータテーブルとを含み、
    前記メモリ使用量上限値を決定するステップは、
    前記第3のデータテーブルと、前記アプリケーションが使用したAPIの種別情報とを使用して、前記アプリケーションが組み込み機器に実装されるか否か判定するステップを含み、
    前記判定するステップは、
    前記アプリケーションが組み込み機器に実装される場合に、前記メモリ使用量と、前記第5のデータテーブルとを使用して、前記アプリケーションのメモリ使用量が前記メモリ使用量上限値を超えているか否か判定するステップを含む方法。
  20. 請求項15〜19のいずれか1項に記載の各ステップを情報処理装置が実行するためのコンピュータ実行可能なプログラム。
  21. 前記コンピュータ実行可能なプログラムがソフトウェア開発キットである、請求項20に記載のプログラム。
  22. 請求項20または21に記載されたプログラムを記録したコンピュータ可読な記録媒体。
JP2010268177A 2010-12-01 2010-12-01 情報処理システム、情報処理装置、方法、プログラムおよび記録媒体 Expired - Fee Related JP5644431B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010268177A JP5644431B2 (ja) 2010-12-01 2010-12-01 情報処理システム、情報処理装置、方法、プログラムおよび記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010268177A JP5644431B2 (ja) 2010-12-01 2010-12-01 情報処理システム、情報処理装置、方法、プログラムおよび記録媒体

Publications (2)

Publication Number Publication Date
JP2012118777A JP2012118777A (ja) 2012-06-21
JP5644431B2 true JP5644431B2 (ja) 2014-12-24

Family

ID=46501521

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010268177A Expired - Fee Related JP5644431B2 (ja) 2010-12-01 2010-12-01 情報処理システム、情報処理装置、方法、プログラムおよび記録媒体

Country Status (1)

Country Link
JP (1) JP5644431B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101955461B1 (ko) * 2012-10-23 2019-03-11 에스케이플래닛 주식회사 Api 실행 제어를 위한 시스템 및 방법
JP6354091B2 (ja) * 2014-03-13 2018-07-11 住友電工システムソリューション株式会社 走行支援装置、走行支援方法、及びコンピュータプログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004005612A (ja) * 2002-04-26 2004-01-08 Ricoh Co Ltd リソース情報を取得する装置及び方法
JP4207938B2 (ja) * 2005-02-01 2009-01-14 セイコーエプソン株式会社 ソフトウェア認証システム、ソフトウェア認証プログラム、およびソフトウェア認証方法
JP4923602B2 (ja) * 2006-02-10 2012-04-25 富士ゼロックス株式会社 画像形成処理シミュレーション装置及び画像形成処理シミュレーション方法
KR100801894B1 (ko) * 2006-06-15 2008-02-12 삼성전자주식회사 휴대용 단말기에서 메모리 용량을 고려한 프로그램 실행을위한 장치 및 방법
US7895579B2 (en) * 2006-06-16 2011-02-22 Microsoft Corporation Automated method and system for collecting and reporting API performance profiles
JP2009037589A (ja) * 2007-07-10 2009-02-19 Ricoh Co Ltd プログラム判定装置、プログラム判定方法及びプログラム
JP2010061461A (ja) * 2008-09-04 2010-03-18 Ricoh Co Ltd ソフトウェアの自動性能評価システム

Also Published As

Publication number Publication date
JP2012118777A (ja) 2012-06-21

Similar Documents

Publication Publication Date Title
KR101643601B1 (ko) 원격 어플리케이션 구성 관리 방법 및 장치
JP5609269B2 (ja) 画像処理装置、表示装置、画面制御システム、画面制御方法、画面制御プログラム、及びそのプログラムを記録した記録媒体
US8549514B2 (en) Distributing customized software products
JP6390708B2 (ja) システムおよび情報処理方法
US10809993B2 (en) System, management device, information processing device, control method for management device, control method for information processing device, and computer-readable storage medium
KR101976397B1 (ko) Sla를 관리하는 방법 및 장치
JP2015046075A (ja) 情報処理装置、その制御方法、及びコンピュータプログラム
JP2021503118A (ja) 自動ユニバーサルコネクタパッケージを使用してクラウドアプリケーションをクラウドサービスブローカプラットフォームに統合するためのシステムおよび方法
KR20170019226A (ko) 클라우드 프린트 서비스를 이용하는 방법 및 이를 수행하기 위한 장치
JP2010010788A (ja) 画像処理装置、その制御方法、プログラム、記憶媒体、及び配信サーバ
US20110061048A1 (en) Image forming device, installing method, and recording medium
JP6326795B2 (ja) 情報処理システム、情報処理装置、情報処理方法及びプログラム
JP5644431B2 (ja) 情報処理システム、情報処理装置、方法、プログラムおよび記録媒体
JP6070423B2 (ja) 情報処理装置、情報処理方法、及びプログラム
KR20120074321A (ko) 관리장치, 및 그 방법
US9323907B2 (en) Distribution apparatus, device, control method for distribution apparatus, and storage medium
JP5692319B2 (ja) 統合管理装置、制御方法及びプログラム
EP2998865B1 (en) Method of submitting captured data to an analytics service
US20130067452A1 (en) Management server, host device, and application management method
JP2014056547A (ja) 障害対応支援装置、障害対応支援システム、障害対応支援方法、及び障害対応支援プログラム
JP2017073035A (ja) 情報処理装置およびその制御方法
US11263287B1 (en) System to extend functionality of third party apps on multi-function device web browsers
JP2018116361A (ja) 情報処理装置、管理装置、情報処理装置の制御方法、及びプログラム、情報処理システム
JP5663983B2 (ja) 画像形成装置、接続制御方法及びプログラム
JP2008191786A (ja) プログラム管理装置、プログラム管理方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131111

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140624

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140715

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140911

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: 20141007

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141020

R151 Written notification of patent or utility model registration

Ref document number: 5644431

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees