JP6228824B2 - Analysis device, analysis system, program, and control method of analysis device - Google Patents

Analysis device, analysis system, program, and control method of analysis device Download PDF

Info

Publication number
JP6228824B2
JP6228824B2 JP2013247790A JP2013247790A JP6228824B2 JP 6228824 B2 JP6228824 B2 JP 6228824B2 JP 2013247790 A JP2013247790 A JP 2013247790A JP 2013247790 A JP2013247790 A JP 2013247790A JP 6228824 B2 JP6228824 B2 JP 6228824B2
Authority
JP
Japan
Prior art keywords
module
history information
called
unit
amount
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.)
Active
Application number
JP2013247790A
Other languages
Japanese (ja)
Other versions
JP2015106268A (en
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.)
NTT Docomo Inc
Original Assignee
NTT Docomo 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 NTT Docomo Inc filed Critical NTT Docomo Inc
Priority to JP2013247790A priority Critical patent/JP6228824B2/en
Publication of JP2015106268A publication Critical patent/JP2015106268A/en
Application granted granted Critical
Publication of JP6228824B2 publication Critical patent/JP6228824B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Power Sources (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、端末で実行されるアプリケーションプログラムの開発支援に関するものである。   The present invention relates to development support for application programs executed on a terminal.

近年、スマートフォンに代表される携帯端末の多機能化が進み、携帯端末において実行されるアプリケーションプログラムの開発作業は複雑化している。また、アプリケーションプログラムが端末においてどのように使用されるかを開発段階において開発者が予想することは困難になっており、その使用態様は、実際にユーザにそのアプリケーションプログラムが使用されてはじめて分かることが多い。そしてその使用態様によっては、不要な処理が増加して、例えば消費電力量が多くなるなど不具合が生じることがある。   In recent years, mobile terminals such as smartphones have become more multifunctional, and the development work of application programs executed on mobile terminals has become complicated. In addition, it is difficult for the developer to predict how the application program will be used on the terminal at the development stage, and its usage can only be understood by the user when the application program is actually used. There are many. Depending on the usage mode, unnecessary processing may increase, causing a problem such as an increase in power consumption.

そこで、アプリケーションプログラムが実際に使用されたときの状況を記憶して、アプリケーションプログラムの開発に利用する試みが行われている。
特許文献1の請求項1および段落45には、モジュールごとの消費電力を算出するモジュール消費電力算出手段と、メソッドの「呼び出し回数」に基づいてメソッドごとにリソース消費割合を算出する第一の算出方法とが記載されている。特許文献2には「状態遷移事象」が記載されている。特許文献3の段落80には、「モジュール間の呼び出し関係を用いるプログラム評価装置」が記載されている。
Therefore, an attempt has been made to memorize the situation when the application program is actually used and use it for developing the application program.
In claim 1 and paragraph 45 of Patent Document 1, module power consumption calculation means for calculating power consumption for each module, and a first calculation for calculating a resource consumption ratio for each method based on the “number of calls” of the method And a method. Patent Document 2 describes “state transition event”. Paragraph 80 of Patent Document 3 describes “a program evaluation apparatus that uses a calling relationship between modules”.

特開2012−190447号公報JP 2012-190447 A 特開2006−178785号公報JP 2006-178785 A 特開2008−186163号公報JP 2008-186163 A

ところで、特許文献1の図7や図13に示すように、トレースログに基づいたコールツリーにおいてモジュール(子メソッド)を呼び出すアプリケーションプログラム等(親メソッド)は予め決められている。つまり、特許文献1に記載された技術では、1つのモジュール(子メソッド)を呼び出す呼び出し側のモジュール、またはアプリケーションプログラム(親メソッド)は必ず1つであり、複数ではない。
また、特許文献2に記載された技術は、計算機システムの現在の状態に対して事象発生後にどの状態に遷移するかということに着目したものであるが、その確率構造は記憶装置に予め記憶されており、これを使って電力見積りを生成するだけに過ぎない。つまり、特許文献2に記載された技術では、実際に人にアプリケーションを使わせたときの履歴からどの状態遷移が頻繁に起きていて電力が使われるかを調べることはできない。
また、特許文献3に記載された技術は、対象モジュールとそれに呼び出される下位階層モジュールとを含む対象モジュール全体の消費電力を算出すると共に、対象モジュールだけの消費電力、下位階層モジュールだけの消費電力を算出する(段落91)というものである。つまり特許文献3に記載された技術では、特許文献1と同様、1つのモジュールを呼び出す呼び出し側のモジュールは必ず1つであり、複数ではない。
このように先行する技術において、呼び出し側モジュールと呼び出し先モジュールとの組み合わせごとに呼び出し回数や消費された電力量を特定することはできなかった。
By the way, as shown in FIG. 7 and FIG. 13 of Patent Document 1, an application program or the like (parent method) for calling a module (child method) in a call tree based on the trace log is determined in advance. That is, in the technique described in Patent Document 1, there is always one calling module or application program (parent method) that calls one module (child method), and there is no plural.
The technique described in Patent Document 2 focuses on which state the computer system changes to after the occurrence of an event with respect to the current state of the computer system, but the probability structure is stored in advance in a storage device. And just use it to generate a power estimate. That is, with the technique described in Patent Document 2, it is not possible to check which state transitions frequently occur and power is used from the history when an application is actually used by a person.
The technique described in Patent Document 3 calculates the power consumption of the entire target module including the target module and the lower layer module called by the target module, and calculates the power consumption of only the target module and the power consumption of the lower layer module. It is calculated (paragraph 91). That is, in the technique described in Patent Document 3, as in Patent Document 1, there is always one calling-side module that calls one module, not a plurality.
Thus, in the prior art, the number of calls and the amount of power consumed cannot be specified for each combination of the caller module and the callee module.

本発明は、第1モジュールと、第1モジュールを呼び出した第2モジュールとの組み合わせごとに、第1モジュールおよび第2モジュールを呼び出すアプリケーションプログラムの実行状況を解析することを目的とする。   An object of the present invention is to analyze the execution status of an application program that calls a first module and a second module for each combination of a first module and a second module that calls the first module.

上述した課題を解決するため、本発明に係る解析装置は、複数の端末で実行されるアプリケーションプログラムにおいて呼び出されたモジュールの履歴を少なくとも含む履歴情報を取得する取得手段と、前記取得手段により取得された履歴情報に基づいて、第1モジュールにより消費された電力量を、当該第1モジュールを呼び出した第2モジュールごとに算出する算出手段と、前記第1モジュールが呼び出された回数を、前記第2モジュール、および当該第2モジュールの呼び出しの種類ごとに集計する集計手段と、前記算出手段により算出された電力量と、前記集計手段により集計された回数とを、前記第1モジュールおよび前記第2モジュールの組み合わせごとにそれぞれ出力する出力手段とを有することを特徴とする。   In order to solve the above-described problem, an analysis apparatus according to the present invention is acquired by an acquisition unit that acquires history information including at least a history of modules called in an application program executed on a plurality of terminals, and acquired by the acquisition unit. Calculation means for calculating the amount of power consumed by the first module for each second module that called the first module based on the history information, and the number of times the first module was called, The first module and the second module represent the modules, the totaling means for summing up each call type of the second module, the amount of power calculated by the calculating means, and the number of times totalized by the totaling means. Output means for outputting each combination.

好ましくは、前記取得手段により取得された履歴情報を複数のグループに分類する分類手段を有し、前記算出手段は、前記第1モジュールにより消費される電力量を、前記グループごとに算出し、前記集計手段は、前記第1モジュールが呼び出された回数を、当該第1モジュールを呼び出した前記第2モジュール、当該第2モジュールの呼び出しの種類、および前記グループごとに集計するとよい。   Preferably, the information processing apparatus includes a classification unit that classifies the history information acquired by the acquisition unit into a plurality of groups, and the calculation unit calculates the amount of power consumed by the first module for each group, and The counting means may count the number of times the first module has been called for each of the second module that has called the first module, the type of calling of the second module, and the group.

また、好ましくは、前記分類手段は、所定期間内における前記アプリケーションプログラムの実行時間に基づいて、前記端末のユーザが共通する前記履歴情報を前記複数のグループに分類するとよい。   Preferably, the classifying unit classifies the history information common to the user of the terminal into the plurality of groups based on an execution time of the application program within a predetermined period.

また、好ましくは、前記分類手段は、前記アプリケーションプログラムに使用される資源の種類に基づいて、前記履歴情報を前記複数のグループに分類するとよい。   Preferably, the classification means classifies the history information into the plurality of groups based on a type of resource used for the application program.

また、好ましくは、前記分類手段は、前記アプリケーションプログラムが実行される前記端末がおかれている通信環境に基づいて、前記履歴情報を前記複数のグループに分類するとよい。 Preferably, the classification means classifies the history information into the plurality of groups based on a communication environment in which the terminal on which the application program is executed is placed .

また、好ましくは、前記分類手段は、前記端末で実行されるアプリケーションプログラムの設定に基づいて、前記履歴情報を前記複数のグループに分類するとよい。   Preferably, the classification means classifies the history information into the plurality of groups based on a setting of an application program executed on the terminal.

また、好ましくは、前記出力手段は、前記第1モジュールを呼び出した前記第2モジュール、および当該第2モジュールを呼び出した1以上の第3モジュールによる呼び出しの順序ごとに、前記電力量と前記回数とを出力するとよい。   Preferably, the output means includes the power amount and the number of times for each order of calling by the second module that calls the first module and one or more third modules that call the second module. Should be output.

また、本発明に係る解析システムは、上述の解析装置と、前記解析装置が出力する出力内容に基づいて、前記第1モジュールおよび前記第2モジュールの組み合わせに応じた電力量および回数を有向グラフにより表示する表示装置とを有することを特徴とする。   Further, the analysis system according to the present invention displays the amount of power and the number of times according to the combination of the first module and the second module as a directed graph based on the above-described analysis device and the output content output by the analysis device. And a display device.

また、本発明に係るプログラムは、コンピュータを、複数の端末で実行されるアプリケーションプログラムにおいて呼び出されたモジュールの履歴を少なくとも含む履歴情報を取得する取得手段と、前記取得手段により取得された履歴情報に基づいて、第1モジュールにより消費された電力量を、当該第1モジュールを呼び出した第2モジュールごとに算出する算出手段と、前記取得手段により取得された履歴情報に基づいて、前記第1モジュールが呼び出された回数を、前記第2モジュール、および当該第2モジュールの呼び出しの種類ごとに集計する集計手段と、前記算出手段により算出された電力量と、前記集計手段により集計された回数とを、前記第1モジュールおよび前記第2モジュールの組み合わせごとにそれぞれ出力する出力手段として機能させるためのプログラムである。   In addition, the program according to the present invention includes a acquiring unit that acquires history information including at least a history of modules called in an application program executed on a plurality of terminals, and a history information acquired by the acquiring unit. On the basis of the calculation means for calculating the amount of power consumed by the first module for each second module that calls the first module, and based on the history information acquired by the acquisition means, the first module The summing means for summing up the number of times called for each type of call of the second module and the second module, the amount of power calculated by the calculating means, and the number of times summed by the summing means, Output for each combination of the first module and the second module Is a program for functioning as a stage.

また、本発明に係る解析装置の制御方法は、取得手段が、複数の端末で実行されるアプリケーションプログラムにおいて呼び出されたモジュールの履歴を少なくとも含む履歴情報を取得する取得ステップと、算出手段が、前記取得ステップにおいて取得された履歴情報に基づいて、第1モジュールにより消費された電力量を、当該第1モジュールを呼び出した第2モジュールごとに算出する算出ステップと、集計手段が、前記取得ステップにおいて取得された履歴情報に基づいて、前記第1モジュールが呼び出された回数を、前記第2モジュール、および当該第2モジュールの呼び出しの種類ごとに集計する集計ステップと、出力手段が、前記算出ステップにおいて算出された電力量と、前記集計ステップにおいて集計された回数とを、前記第1モジュールおよび前記第2モジュールの組み合わせごとにそれぞれ出力する出力ステップとを有することを特徴とする。   Further, in the control method of the analysis device according to the present invention, the acquisition unit acquires the history information including at least the history of the module called in the application program executed in the plurality of terminals, and the calculation unit includes the calculation unit, Based on the history information acquired in the acquisition step, a calculation step for calculating the amount of power consumed by the first module for each second module that called the first module, and a counting means are acquired in the acquisition step. The calculating step calculates the number of times the first module has been called for each type of the second module and the calling of the second module based on the recorded history information, and the output means calculates in the calculating step. And the number of times counted in the counting step, And an outputting step of outputting, respectively for each combination of one module and the second module.

本発明によれば、第1モジュールと、第1モジュールを呼び出した第2モジュールとの組み合わせごとに、第1モジュールおよび第2モジュールを呼び出すアプリケーションプログラムの実行状況を解析することができる。   According to the present invention, it is possible to analyze the execution status of the application program that calls the first module and the second module for each combination of the first module and the second module that calls the first module.

解析システムの構成を示す図。The figure which shows the structure of an analysis system. 端末の構成を示す図。The figure which shows the structure of a terminal. アプリの実行によって生成される履歴情報を説明するための概略図。Schematic for demonstrating the historical information produced | generated by execution of an application. 生成された履歴情報を示す図。The figure which shows the produced | generated historical information. 解析装置の構成を示す図。The figure which shows the structure of an analyzer. 解析装置の機能的構成を示す図。The figure which shows the functional structure of an analyzer. 履歴データベースを示す図。The figure which shows a history database. 分類情報の例を示す図。The figure which shows the example of classification information. グラフデータ記述言語に従った文字列で出力された出力結果の例を示す図。The figure which shows the example of the output result output by the character string according to a graph data description language. 開発装置において描画された有向グラフの例を示す図。The figure which shows the example of the directed graph drawn in the development apparatus.

1.実施形態
1−1.解析システムの構成
図1は、解析システム9の構成を示す図である。通信回線3は、解析装置1、開発装置4、およびサーバ装置5を接続する回線であり、これら各装置間の情報の遣り取りを仲介する。また、通信回線3は、これらの各装置と、移動通信網6を介して端末2との情報の遣り取りを仲介する。通信回線3は、例えばインターネットである。移動通信網6は、例えば、LTE(Long Term Evolution)やいわゆる3Gなどに準拠したネットワークである。移動通信網6は、通信回線3と接続されており、解析装置1など通信回線3に接続された装置と端末2との間の通信を仲介する。移動通信網6は、複数の基地局や図示せぬ交換局などの通信設備を有しており、これらを介して複数の端末2に通信サービスを提供する。
1. Embodiment 1-1. Configuration of Analysis System FIG. 1 is a diagram showing the configuration of the analysis system 9. The communication line 3 is a line that connects the analysis device 1, the development device 4, and the server device 5, and mediates exchange of information between these devices. In addition, the communication line 3 mediates exchange of information between these devices and the terminal 2 via the mobile communication network 6. The communication line 3 is, for example, the Internet. The mobile communication network 6 is a network conforming to, for example, LTE (Long Term Evolution) or so-called 3G. The mobile communication network 6 is connected to the communication line 3 and mediates communication between the terminal 2 and a device connected to the communication line 3 such as the analysis device 1. The mobile communication network 6 has communication facilities such as a plurality of base stations and an exchange station (not shown), and provides a communication service to the plurality of terminals 2 through these.

開発装置4は、端末2で実行されるアプリケーションプログラム(以下、アプリという)の開発をするための装置であり、例えばパーソナルコンピュータである。また、開発装置4は、解析装置1によって出力される解析結果を取得してその解析結果に応じた表現をする機能、例えば状態遷移図を描画するといった機能を有する。   The development device 4 is a device for developing an application program (hereinafter referred to as an application) executed on the terminal 2, and is a personal computer, for example. Further, the development device 4 has a function of acquiring an analysis result output from the analysis device 1 and expressing the result according to the analysis result, for example, a function of drawing a state transition diagram.

サーバ装置5は、開発装置4で開発されたアプリを登録するための装置である。サーバ装置5は、端末2の要求に応じて登録されたアプリを端末2にダウンロードさせる。端末2は、サーバ装置5にアプリを要求してそのアプリを取得し実行する情報処理装置であり、例えば、スマートフォンなどの携帯電話機である。解析システム9には、複数の端末2が含まれる。解析装置1は、端末2がアプリを実行したときに記憶される履歴情報を取得して、その内容を解析する装置である。解析装置1は、例えばコンピュータであり、履歴情報の解析結果を開発装置4に向けて出力する。   The server device 5 is a device for registering an application developed by the development device 4. The server device 5 causes the terminal 2 to download an application registered in response to a request from the terminal 2. The terminal 2 is an information processing apparatus that requests an application from the server device 5 to acquire and execute the application, and is, for example, a mobile phone such as a smartphone. The analysis system 9 includes a plurality of terminals 2. The analysis device 1 is a device that acquires history information stored when the terminal 2 executes an application and analyzes the contents. The analysis device 1 is a computer, for example, and outputs the analysis result of history information to the development device 4.

1−2.端末の構成
図2は、端末2の構成を示す図である。制御部21は、端末2の各部の動作を制御する手段である。制御部21は、CPU(Central Processing Unit)などの演算処理装置や、ROM(Read Only Memory)、RAM(Random Access Memory)などの記憶装置を備え、これら記憶装置に記憶されたプログラムを実行する。通信部23は、通信回線3を介して解析装置1やサーバ装置5などと、アプリや履歴情報などを通信するインターフェイスであり、例えばIMT−2000やIMT−Advancedなどに準拠した無線通信回路である。
1-2. Terminal Configuration FIG. 2 is a diagram illustrating a configuration of the terminal 2. The control unit 21 is means for controlling the operation of each unit of the terminal 2. The control unit 21 includes an arithmetic processing device such as a CPU (Central Processing Unit) and a storage device such as a ROM (Read Only Memory) and a RAM (Random Access Memory), and executes a program stored in these storage devices. The communication unit 23 is an interface that communicates applications, history information, and the like with the analysis device 1, the server device 5, and the like via the communication line 3. For example, the communication unit 23 is a wireless communication circuit that conforms to IMT-2000, IMT-Advanced, or the like. .

表示部24は、液晶などを使用したディスプレイ装置であり、制御部21からの指示に応じて画像を表示する。操作部25は各種の指示を入力するためのタッチパネルやボタンなどを有しており、ユーザによる操作を受け付けてその操作内容に応じた信号を制御部21に供給する。測位部26は、GPS(Global Positioning System)測位方式に基づいて端末2の位置を測定(測位)する。撮像部27は、端末2の周囲を撮像する構成であり、例えばレンズなどの光学系とCMOS(Complementary Metal Oxide Semiconductor)イメージセンサなどの撮像素子とを有する。   The display unit 24 is a display device using liquid crystal or the like, and displays an image in accordance with an instruction from the control unit 21. The operation unit 25 has a touch panel, buttons, and the like for inputting various instructions. The operation unit 25 receives an operation by the user and supplies a signal corresponding to the operation content to the control unit 21. The positioning unit 26 measures (positions) the position of the terminal 2 based on a GPS (Global Positioning System) positioning method. The imaging unit 27 is configured to image the periphery of the terminal 2 and includes, for example, an optical system such as a lens and an imaging element such as a CMOS (Complementary Metal Oxide Semiconductor) image sensor.

記憶部22はフラッシュメモリなどの大容量の記憶手段であり、制御部21に読み込まれるプログラムを記憶する。なお、記憶部22は、いわゆるリムーバブルディスク、すなわち着脱可能な記録媒体を含んでもよい。また、記憶部22は、制御部21がアプリを実行する際に、そのアプリの実行に関する情報を履歴情報221として記憶する。   The storage unit 22 is a large-capacity storage unit such as a flash memory, and stores a program read by the control unit 21. The storage unit 22 may include a so-called removable disk, that is, a removable recording medium. In addition, when the control unit 21 executes an application, the storage unit 22 stores information regarding the execution of the application as history information 221.

1−3.履歴情報の構成
図3は、アプリの実行によって生成される履歴情報221を説明するための概略図である。また、図4は、生成された履歴情報221を示す図である。端末2の制御部21は、アプリを実行することにより複数のモジュールを呼び出して実行する。そして、呼び出されたモジュールは、さらに他のモジュールを呼び出して実行する。これにより、複数のモジュールが並行して起動され、制御部21の制御状態は或るモジュールから他のモジュールへと遷移する。
1-3. Structure of History Information FIG. 3 is a schematic diagram for explaining history information 221 generated by executing an application. FIG. 4 is a diagram showing the generated history information 221. As shown in FIG. The control unit 21 of the terminal 2 calls and executes a plurality of modules by executing the application. Then, the called module calls and executes another module. Thereby, a plurality of modules are activated in parallel, and the control state of the control unit 21 transitions from one module to another module.

例えば、図3に示したように、モジュールMaが実行されているとき、制御部21は、「onResume()」というメソッドが実行されたことを契機として、このモジュールの名前であるモジュール名「Ma」とメソッドの名前であるメソッド名「onResume()」とを履歴情報221に記憶する。また、ユーザが、例えば表示部24に表示されている仮想的なボタンを押下する操作を操作部25に対して行うと、制御部21はこの操作を取得し、「onKeyDown()」というメソッドを実行する。この押下されたボタンが「バックボタン」であることを識別すると、制御部21は、モジュールMaの直前に表示部24による表示の占有権を有していたモジュールMbにその占有権を返す。   For example, as illustrated in FIG. 3, when the module Ma is being executed, the control unit 21 is triggered by the execution of the method “onResume ()” as a module name “Ma” that is the name of this module. And the method name “onResume ()” that is the name of the method is stored in the history information 221. For example, when the user performs an operation of pressing a virtual button displayed on the display unit 24 on the operation unit 25, the control unit 21 acquires this operation and calls a method "onKeyDown ()". Run. When it is identified that the pressed button is a “back button”, the control unit 21 returns the exclusive right to the module Mb that has the exclusive right to display by the display unit 24 immediately before the module Ma.

このとき、制御部21は、インテントを送信したモジュールのモジュール名「Ma」と、送信したメソッドのメソッド名「onKeyDown()」と、その契機となったイベント「バックボタンの押下」と、インテントを受信したモジュールのモジュール名「Mb」と、受信したメソッドのメソッド名「onResume()」を履歴情報221に記憶する。   At this time, the control unit 21 receives the module name “Ma” of the module that transmitted the intent, the method name “onKeyDown ()” of the transmitted method, the event “back button press” that triggered the intent, The module name “Mb” of the module that received the tent and the method name “onResume ()” of the received method are stored in the history information 221.

制御部21は、モジュールの呼び出しをその呼び出しを行ったモジュール、およびその呼び出しの種類ごとに区別して履歴情報221に記憶する。例えば制御部21は、モジュールが上述したように通常起動により起動される場合と、遠隔手続呼び出し(RPC:remote procedure call)により起動される場合とを区別して履歴情報221に記憶する。遠隔手続呼び出しとは、端末2のアプリが使用するアドレス空間とは異なるアドレス空間からの機能呼び出しであり、例えば、別々のプロセス空間にあるモジュール間で機能が呼び出されることなどである。   The control unit 21 distinguishes and stores the module call in the history information 221 for each module that made the call and the type of the call. For example, the control unit 21 stores the history information 221 by distinguishing between the case where the module is activated by normal activation as described above and the case where the module is activated by remote procedure call (RPC). The remote procedure call is a function call from an address space different from the address space used by the application of the terminal 2, for example, a function is called between modules in different process spaces.

また、端末2におけるシステム管理機能の一つであるアラームマネージャを経由してタイマー駆動でモジュールが起動された場合も、制御部21は、他のモジュールから起動された通常起動の場合と区別して履歴情報221に記憶する。インテントの送受信に関して引数が引き渡されたり、返り値が供給されたりした場合には、制御部21は、それらの値を履歴情報221に記憶する。   In addition, when the module is activated by the timer drive via the alarm manager which is one of the system management functions in the terminal 2, the control unit 21 distinguishes the history from the case of the normal activation activated from other modules. The information 221 is stored. When an argument is delivered or a return value is supplied for intent transmission / reception, the control unit 21 stores those values in the history information 221.

このように制御部21は、インテントの送受信などによる状態遷移の際に、その遷移に関わったモジュールやメソッドの名称を時刻とともに履歴情報221に記憶する。アプリが終了するときに、制御部21は、そのアプリが動作した総期間(アプリ動作期間という)を算出する。そして、制御部21は、そのアプリの名称であるアプリ名と、そのアプリを端末2に実行させたユーザの名前であるユーザ名とともに、算出したアプリ動作期間を履歴情報221のヘッダ部に記憶する。制御部21は、アプリ動作期間に加えて、アプリの開始時刻と終了時刻とを記憶してもよく、また、制御部21は、ユーザの操作が行われた時間(操作時間という)と、ユーザの操作が行われなかった時間(非操作時間という)とを区別して記憶してもよい。アプリ動作期間に加えて、制御部21は、モジュールごとの動作期間を記憶してもよい。なお、上述した操作時間とはアプリの画面が表示される時間の合計である。   As described above, the control unit 21 stores the names of the modules and methods involved in the transition in the history information 221 together with the time at the time of the state transition due to intent transmission / reception or the like. When the application ends, the control unit 21 calculates a total period during which the application has been operated (referred to as an application operation period). And the control part 21 memorize | stores the calculated application operation | movement period in the header part of the historical information 221 with the application name which is the name of the application, and the user name which is the name of the user who performed the application on the terminal 2. . The control unit 21 may store the start time and end time of the application in addition to the application operation period, and the control unit 21 stores the time when the user's operation is performed (referred to as operation time) and the user You may memorize | store and distinguish the time (it is called non-operation time) when this operation was not performed. In addition to the application operation period, the control unit 21 may store an operation period for each module. The operation time described above is the total time for which the app screen is displayed.

制御部21は、履歴情報221をモジュールごとの動作情報に区分けして記憶する。図3に示す例では、アプリの実行によって、1からNまでのN個のモジュールが起動され、その各動作を示す情報(モジュール動作情報という)がそれぞれ履歴情報221に記憶される。モジュール動作情報には、そのモジュール名、モジュールの種別、モジュールの開始時刻と終了時刻、他のモジュールへの遷移時刻、起動の契機となったイベントの種別、モジュールの実行に伴って使用される資源の消費量、および消費電力量が含まれる。ここで、資源とは、例えば、制御部21のCPUや記憶部22、通信部23、測位部26、および撮像部27など、端末2においてアプリに使用される資源をいう。   The control unit 21 stores the history information 221 by dividing it into operation information for each module. In the example shown in FIG. 3, N modules from 1 to N are activated by executing the application, and information indicating each operation (referred to as module operation information) is stored in the history information 221. Module operation information includes the module name, module type, module start time and end time, transition time to other modules, event type that triggered the start, and resources used in executing the module Consumption and power consumption. Here, the resources refer to resources used for the application in the terminal 2, such as the CPU of the control unit 21, the storage unit 22, the communication unit 23, the positioning unit 26, and the imaging unit 27, for example.

1−4.解析装置の構成
図5は、解析装置1の構成を示す図である。制御部11は、解析装置1の各部の動作を制御する手段である。制御部11は、CPUなどの演算処理装置や、ROM、RAMなどの記憶装置を備え、これら記憶装置に記憶されたプログラムを実行する。通信部13は、通信回線3との間で情報を通信するインターフェイスであり、例えば各種のモデムや無線通信回路、あるいは、USB(Universal Serial Bus)規格に準拠したシリアルインターフェースや、IrDA(Infrared Data Association)などに準拠した無線インターフェイスなどである。
1-4. Configuration of Analysis Device FIG. 5 is a diagram illustrating a configuration of the analysis device 1. The control unit 11 is means for controlling the operation of each unit of the analysis apparatus 1. The control unit 11 includes an arithmetic processing device such as a CPU and a storage device such as a ROM and a RAM, and executes a program stored in these storage devices. The communication unit 13 is an interface for communicating information with the communication line 3. For example, various modems, wireless communication circuits, serial interfaces compliant with the USB (Universal Serial Bus) standard, IrDA (Infrared Data Association) ) And other wireless interfaces.

記憶部12はハードディスク、フラッシュメモリなどの大容量の記憶手段であり、制御部11に読み込まれるプログラムを記憶する。なお、記憶部12は、いわゆるリムーバブルディスク、すなわち着脱可能な記録媒体を含んでもよい。また、記憶部12は、履歴データベース(以下、図において「データベース」を「DB」と表記する)121と、分類情報122とを記憶する。   The storage unit 12 is a large-capacity storage unit such as a hard disk or a flash memory, and stores a program read by the control unit 11. The storage unit 12 may include a so-called removable disk, that is, a removable recording medium. In addition, the storage unit 12 stores a history database (hereinafter, “database” is expressed as “DB” in the figure) 121 and classification information 122.

1−5.解析装置の機能的構成
図6は、解析装置1の機能的構成を示す図である。解析装置1の制御部11は、取得部111、算出部112、集計部113、出力部114、および分類部115として機能する。
1-5. Functional Configuration of Analysis Device FIG. 6 is a diagram illustrating a functional configuration of the analysis device 1. The control unit 11 of the analysis apparatus 1 functions as an acquisition unit 111, a calculation unit 112, a totaling unit 113, an output unit 114, and a classification unit 115.

取得部111は、通信部13を介して複数の端末2から履歴情報221の複製を取得し、これらを履歴データベース121に記憶する。図7は、履歴データベース121を示す図である。各端末2から取得した履歴情報221の複製は、履歴データベース121に含まれる履歴情報1211としてそれぞれ記憶される。   The acquisition unit 111 acquires a copy of the history information 221 from the plurality of terminals 2 via the communication unit 13 and stores them in the history database 121. FIG. 7 is a diagram showing the history database 121. A copy of the history information 221 acquired from each terminal 2 is stored as history information 1211 included in the history database 121.

分類部115は、履歴データベース121に含まれる複数の履歴情報1211をグループに分類し、分類した結果を分類情報122として記憶部12に記憶させる。図8は、分類情報122の例を示す図である。分類部115は、履歴情報1211に記述されたアプリ名、ユーザ名、アプリ動作期間を参照し、それらに基づいて各履歴情報1211を予め決められた区分に従って所定数(例えば3つ)のグループに分類する。具体的には、アプリ名、ユーザ名が共通する履歴情報1211を履歴データベース121から抽出し、抽出された履歴情報1211に含まれるアプリ動作期間をその日付ごとに合算することで、当該ユーザの当該アプリに対する一日あたりの動作期間を算出する。その上で、当該アプリの一日当たりの動作期間が長いユーザ(ヘビーユーザ)、短いユーザ(ライトユーザ)、その他のユーザ(通常ユーザ)の3つのグループを規定し、履歴情報1211を対応するユーザが属するグループに分類する。例えば、図8に示すように、共通するアプリ名およびユーザ名が記述された履歴情報1211は、対応するユーザの一日あたりのアプリ動作期間の合計が20分未満のグループと、20分以上120分未満のグループと、120分以上のグループとに分類される。   The classification unit 115 classifies the plurality of history information 1211 included in the history database 121 into groups, and stores the classification result in the storage unit 12 as the classification information 122. FIG. 8 is a diagram illustrating an example of the classification information 122. The classification unit 115 refers to the application name, the user name, and the application operation period described in the history information 1211, and based on these, the history information 1211 is grouped into a predetermined number (for example, three) according to a predetermined category. Classify. Specifically, the history information 1211 having the same application name and user name is extracted from the history database 121, and the application operation period included in the extracted history information 1211 is added for each date, so that Calculate the operating period per day for the app. In addition, three groups of a user (heavy user), a short user (light user), and another user (normal user) whose operation period per day of the application is long are defined, and the user corresponding to the history information 1211 Classify to the group to which it belongs. For example, as illustrated in FIG. 8, history information 1211 in which a common application name and user name are described includes a group in which the total application operation period per day of the corresponding user is less than 20 minutes, and 20 minutes or more 120 It is classified into a group of less than minutes and a group of more than 120 minutes.

なお、アプリ動作期間は、アプリが実行される期間であるから、この場合の分類部115は、アプリが実行される期間ごとに履歴情報1211を分類する分類手段の一例である。
また、分類部115は、特定のアプリ名が記述された履歴情報1211を、それらに記述されたユーザ名ごとに区分けせずに、上述したアプリ動作期間に基づいて複数のグループに分類してもよい。この場合、対応するユーザの一日あたりのアプリ動作期間の合計ごとに履歴情報1211を分類するのではなく、履歴情報1211に記述されたアプリ動作期間そのものに応じてその履歴情報1211を複数のグループに分類すればよい。また、分類に用いられるアプリ動作期間は、履歴情報1211に含まれるその他のどの時間情報(例えば操作時間)であってもよい。履歴情報1211が分類されるグループは3つに限られず、2つでも4つ以上でもよい。
Since the application operation period is a period during which the application is executed, the classification unit 115 in this case is an example of a classification unit that classifies the history information 1211 for each period during which the application is executed.
Further, the classification unit 115 may classify the history information 1211 in which a specific application name is described into a plurality of groups based on the above-described application operation period without classifying the history information 1211 for each user name described therein. Good. In this case, the history information 1211 is not classified according to the total application operation period per day of the corresponding user, but the history information 1211 is divided into a plurality of groups according to the application operation period itself described in the history information 1211. What is necessary is just to classify. Further, the application operation period used for classification may be any other time information (for example, operation time) included in the history information 1211. The group into which the history information 1211 is classified is not limited to three, and may be two or four or more.

算出部112は、取得部111により取得された履歴データベース121に基づいて、実行されたモジュール(第1モジュールという)により消費された電力量を、その第1モジュールを呼び出したモジュール(第2モジュールという)ごとに算出する。具体的には、履歴データベース121に含まれる複数の履歴情報1211から、モジュールの実行に伴って使用される資源の消費量、および消費電力量を抽出して、上述した電力量を算出する。なお、この算出部112は、分類部115により分類されたグループごとに、この算出を行ってもよい。   Based on the history database 121 acquired by the acquisition unit 111, the calculation unit 112 uses the power consumed by the executed module (referred to as the first module) as the module (referred to as the second module) that called the first module. ) Every time. Specifically, the consumption amount of the resources used in association with the execution of the module and the power consumption amount are extracted from the plurality of history information 1211 included in the history database 121, and the above-described power amount is calculated. The calculation unit 112 may perform this calculation for each group classified by the classification unit 115.

集計部113は、第1モジュールが呼び出された回数を、第2モジュール、およびこの第2モジュールの呼び出しの種類ごとに集計する。すなわち、集計部113は、履歴データベース121を参照して、例えばモジュールMaが通常起動により起動された回数と、遠隔手続呼び出しにより起動された回数と、アラームマネージャにより起動された回数とをそれぞれ集計する。なお、この集計部113は、分類部115により分類されたグループごとに、この集計を行ってもよい。   The counting unit 113 counts the number of times the first module is called for each type of the second module and the calling of the second module. That is, the totaling unit 113 refers to the history database 121 and totals, for example, the number of times the module Ma has been activated by normal activation, the number of times by which the module Ma has been activated, and the number of times by which the alarm manager has been activated. . Note that the totaling unit 113 may perform this totaling for each group classified by the classification unit 115.

出力部114は、算出部112により算出された電力量と、集計部113により集計された回数とを、第1モジュールおよび第2モジュールの組み合わせ、および分類部115により分類されたグループごとにそれぞれ出力する。例えば、モジュールMa、モジュールMbおよびモジュールMcがそれぞれ実行されるアプリにおいて、モジュールMaが、モジュールMbから呼び出される場合と、モジュールMcから呼び出される場合とがあるとき、算出部112は、第1モジュールとしてのモジュールMaにより消費された電力量を、第2モジュールとしてのモジュールMbおよびモジュールMcごとにそれぞれ算出する。   The output unit 114 outputs the amount of power calculated by the calculation unit 112 and the number of times totalized by the totalization unit 113 for each combination of the first module and the second module and the group classified by the classification unit 115. To do. For example, in an application in which the module Ma, the module Mb, and the module Mc are respectively executed, when the module Ma is called from the module Mb and may be called from the module Mc, the calculation unit 112 is set as the first module. The amount of power consumed by the module Ma is calculated for each of the modules Mb and Mc as the second modules.

つまり、算出部112は、モジュールMbがモジュールMaを呼び出した場合(Mb→Ma)に消費された電力量と、モジュールMcがモジュールMaを呼び出した場合(Mc→Ma)に消費された電力量とをそれぞれ区別して算出する。同様に、集計部113は、モジュールMbがモジュールMaを(Mb→Ma)呼び出した回数と、モジュールMcがモジュールMaを(Mc→Ma)呼び出した回数とをそれぞれ区別して集計する。そして、出力部114は、Mb→Maの電力量と回数、Mc→Maの電力量と回数をそれぞれ出力する。   That is, the calculation unit 112 calculates the amount of power consumed when the module Mb calls the module Ma (Mb → Ma) and the amount of power consumed when the module Mc calls the module Ma (Mc → Ma). Are calculated separately. Similarly, the summation unit 113 sums up the number of times that the module Mb called the module Ma (Mb → Ma) and the number of times the module Mc called the module Ma (Mc → Ma) separately. Then, the output unit 114 outputs the power amount and the number of times of Mb → Ma, and the power amount and the number of times of Mc → Ma, respectively.

なお、出力部114は、電力量と回数について、その実際のデータを出力してもよいが、実際のデータに応じた情報を出力してもよい。例えば、出力部114は、算出部112により算出された電力量と、集計部113により集計された回数とに応じた情報を、グラフのデータを記述するグラフデータ記述言語に従った文字列により出力してもよい。図9は、グラフデータ記述言語に従った文字列で出力された出力結果の例を示す図である。図9に示す文字列は、有向グラフを示すデータを記述するグラフデータ記述言語の規則にしたがっている。   The output unit 114 may output actual data regarding the amount of power and the number of times, but may output information corresponding to the actual data. For example, the output unit 114 outputs information corresponding to the amount of power calculated by the calculation unit 112 and the number of times calculated by the totaling unit 113 as a character string according to a graph data description language that describes graph data. May be. FIG. 9 is a diagram illustrating an example of an output result output as a character string according to the graph data description language. The character string shown in FIG. 9 follows the rules of a graph data description language that describes data indicating a directed graph.

例えば変数「a」は1行目に「Act.Ma」という文字列が、2行目に「50mAh」という文字列がそれぞれラベルとして図形内に記述されるブロックを表しており、その色は青に設定されている。また、変数「a」から変数「b」に引く矢印は、太さが「2mm」に、色が黄色に、それぞれ設定されている。すなわち、この文字列によれば、線の太さや色の設定によって、第1モジュールおよび第2モジュールの組み合わせごとの電力量や呼び出し回数が表現される。そして、出力部114が出力する文字列は、例えば、呼び出し回数が多くなるほど、線が太くなるように構成されたグラフを表現してもよいし、電力量が大きくなるほど、線の色が明るくなるように構成されたグラフを表現してもよい。なお、上述したラベルは、モジュール名およびそのモジュールにおいて消費された総電力量に応じて決められてもよい。   For example, the variable “a” represents a block in which a character string “Act.Ma” is described in the first line and a character string “50 mAh” is described as a label in the second line, and the color is blue. Is set to The arrow drawn from the variable “a” to the variable “b” is set to have a thickness of “2 mm” and a color of yellow. That is, according to this character string, the amount of power and the number of calls for each combination of the first module and the second module are expressed by setting the line thickness and color. The character string output from the output unit 114 may represent a graph configured such that the line becomes thicker as the number of calls increases, or the color of the line becomes brighter as the power amount increases. A graph configured as described above may be expressed. The label described above may be determined according to the module name and the total amount of power consumed in the module.

出力部114が出力した文字列は、通信部13を介して開発装置4に送信される。開発装置4は、上述したグラフデータ記述言語に従って書かれた文字列を解釈して、その内容に応じた有向グラフを描画する機能を有する。図10は、開発装置4において描画された有向グラフの例を示す図である。図10に示す有向グラフは、各モジュール間の呼び出しの回数とそれによって消費された電力量とが、モジュール間を結ぶ矢印線の太さや色により表現されているため、アプリの開発者は、実際に端末2においてアプリが実行される場合に、ユーザの操作に応じて、どのモジュール間の呼び出し回数が多くなり消費電力量が大きくなるかについて、把握し易くなる。その結果、アプリの開発者はアプリをどのように修正するべきかに関する示唆を得ることができる。   The character string output by the output unit 114 is transmitted to the development device 4 via the communication unit 13. The development device 4 has a function of interpreting a character string written according to the graph data description language described above and drawing a directed graph according to the content. FIG. 10 is a diagram illustrating an example of a directed graph drawn in the development device 4. In the directed graph shown in FIG. 10, the number of calls between modules and the amount of power consumed thereby are expressed by the thickness and color of the arrow lines connecting the modules. When the application is executed on the terminal 2, it is easy to grasp which module is called more times and the power consumption is larger in accordance with the user's operation. As a result, the app developer can get suggestions on how to modify the app.

また、解析装置1は、履歴データベース121に含まれる複数の履歴情報1211を、複数のグループに分類し、このグループごとに電力量と回数とを出力するので、アプリの開発者は、各グループに固有の不具合に気付き易い。例えば、上述した分類部115は、対応するユーザの一日あたりのアプリ動作期間の合計に応じて複数の履歴情報1211を複数のグループに分類するので、アプリの開発者は、アプリ動作期間が長い場合にユーザに生じる不具合や、アプリ動作期間が短い場合にユーザに生じる不具合をそれぞれ気付き易い。   Further, the analysis device 1 classifies the plurality of history information 1211 included in the history database 121 into a plurality of groups, and outputs the electric energy and the number of times for each group. It is easy to notice inherent problems. For example, since the classification unit 115 described above classifies the plurality of history information 1211 into a plurality of groups according to the total application operation period per day of the corresponding user, the application developer has a long application operation period. In this case, it is easy to notice a problem that occurs in the user and a problem that occurs in the user when the application operation period is short.

2.変形例
以上が実施形態の説明であるが、この実施形態の内容は以下のように変形し得る。また、以下の変形例を組み合わせてもよい。
2. Modification The above is the description of the embodiment, but the contents of this embodiment can be modified as follows. Further, the following modifications may be combined.

2−1.変形例1
上述した実施形態において、解析装置1の制御部11は、分類部115として機能していたが、この機能を有していなくてもよい。この場合、取得部111は、予め決められた1つのアプリについて記憶された履歴情報221の複製を、複数の端末2から取得すればよい。この構成であっても、解析装置1は、第1モジュールと、第1モジュールを呼び出した第2モジュールとの組み合わせごとに、第2モジュールが第1モジュールを呼び出した回数および呼び出した第1モジュールにより消費された電力量をユーザに知らせることができる。
2-1. Modification 1
In the above-described embodiment, the control unit 11 of the analysis apparatus 1 functions as the classification unit 115, but may not have this function. In this case, the acquisition unit 111 may acquire a copy of the history information 221 stored for one predetermined application from the plurality of terminals 2. Even in this configuration, the analysis apparatus 1 uses the number of times the second module calls the first module and the number of times the first module is called for each combination of the first module and the second module that calls the first module. The user can be notified of the amount of power consumed.

2−2.変形例2
上述した実施形態において、解析装置1の制御部11は、履歴データベース121に含まれる複数の履歴情報1211を対応するユーザの一日あたりのアプリ動作期間の合計ごとにグループに分類していたが、アプリ動作期間に代えてまたは加えて、アプリに使用される資源の種類ごとに履歴情報1211を分類してもよい。例えば、アプリがCPU、記憶部22、通信部23、測位部26、および撮像部27のうちいずれか複数の資源を使用する場合、制御部11は、これらの使用量(例えば使用時間や使用回数)を多変量解析して各履歴情報1211を複数のグループに分類してもよい。具体的には、k平均法などのアルゴリズムに従ってクラスタリングし履歴情報1211に反映された傾向ごとに、履歴情報1211を分類してもよい。すなわち、この場合、制御部11は、アプリケーションプログラムに使用される資源の種類ごとに履歴を複数のグループに分類する分類部115として機能する。なお、履歴情報1211ごとに、アプリ動作期間は異なるので、制御部11は、上記資源の使用量をアプリ動作期間で除した単位時間当たりの使用量を基に分類することとしてもよい。
2-2. Modification 2
In the above-described embodiment, the control unit 11 of the analysis apparatus 1 classifies the plurality of history information 1211 included in the history database 121 into groups according to the total application operation period per day of the corresponding user. Instead of or in addition to the application operation period, the history information 1211 may be classified for each type of resource used for the application. For example, when the application uses any of the resources of the CPU, the storage unit 22, the communication unit 23, the positioning unit 26, and the imaging unit 27, the control unit 11 uses these usage amounts (for example, usage time and usage count). ) May be subjected to multivariate analysis to classify each piece of history information 1211 into a plurality of groups. Specifically, the history information 1211 may be classified for each tendency that is clustered according to an algorithm such as the k-average method and reflected in the history information 1211. That is, in this case, the control unit 11 functions as a classification unit 115 that classifies the history into a plurality of groups for each type of resource used in the application program. Since the application operation period is different for each history information 1211, the control unit 11 may classify based on the usage amount per unit time obtained by dividing the resource usage amount by the application operation period.

2−3.変形例3
また、解析装置1の制御部11は、アプリ動作期間などに代えてまたは加えて、アプリが実行される環境ごとに履歴情報1211を分類してもよい。例えば、電車などに乗って移動するユーザに端末2が操作されているとき、端末2が通信部23を用いて通信を行うと、ユーザが静止しているときに比べて頻繁に基地局の接続切り替えが発生する。接続が切り替えられる度に、それを検知した端末2は新たな通信経路を探索する処理をバックグラウンドプロセスで実行するため、モジュールの呼び出しが行われる。したがって、接続切り替えの頻度に応じて履歴情報1211は異なった内容となる。この場合、制御部11は、接続切り替えの頻度を特定し、これらの履歴情報1211を、特定した頻度に応じて複数のグループに分類すればよい。例えば、単位時間当たりの接続切り替え回数が所定数より多い高速移動中、単位時間当たりの切り替え回数が所定数より少ない低速移動中、単位時間当たりの切り替えが発生しない静止中の3つのグループに分類する。すなわち、この場合、制御部11は、アプリケーションプログラムが実行される環境ごとに履歴を複数のグループに分類する分類部115として機能する。この構成によれば、履歴データベース121に含まれる複数の履歴情報1211は、高速又は低速で移動しながらアプリを実行させた場合の履歴と、移動せずにアプリを実行させた履歴とに分類されるので、アプリの開発者は、それぞれの使用環境に応じた不具合に気付き易くなる。
2-3. Modification 3
Further, the control unit 11 of the analysis apparatus 1 may classify the history information 1211 for each environment in which the application is executed instead of or in addition to the application operation period. For example, when the terminal 2 is operated by a user who moves on a train or the like, if the terminal 2 communicates using the communication unit 23, the base station connection is more frequent than when the user is stationary. Switching occurs. Each time the connection is switched, the terminal 2 that has detected the connection executes a process for searching for a new communication path in the background process, so that a module is called. Accordingly, the history information 1211 has different contents depending on the connection switching frequency. In this case, the control unit 11 may specify the connection switching frequency and classify the history information 1211 into a plurality of groups according to the specified frequency. For example, it is classified into three groups that are stationary, in which switching per unit time does not occur, during high-speed movement where the number of connection switching per unit time is greater than a predetermined number, during low-speed movement where the number of switching per unit time is less than a predetermined number. . That is, in this case, the control unit 11 functions as the classification unit 115 that classifies the history into a plurality of groups for each environment in which the application program is executed. According to this configuration, the plurality of pieces of history information 1211 included in the history database 121 are classified into a history when the application is executed while moving at high speed or low speed, and a history when the application is executed without moving. Therefore, it becomes easy for the developer of the application to notice a defect corresponding to each use environment.

2−4.変形例4
また、解析装置1の制御部11は、アプリ動作期間などに代えてまたは加えて、アプリの設定ごとに履歴情報1211を分類してもよい。アプリの設定とは、例えば、通信ネットワークとして、LTEと3Gの2方式のどちらの方式を優先させるかについての設定などである。設定データは、1つ以上の設定項目名と設定値の組からなり、上記の例では、設定項目名は「通信ネットワーク」、設定値は例えばLTEの場合は「1」、3Gの場合は「0」となる。これらの設定が複数ある場合には、複数の設定項目に対応する設定値を多変量解析して各履歴情報1211を複数のグループに分類してもよい。具体的には、k平均法などのアルゴリズムに従ってクラスタリングし履歴情報1211に反映された傾向ごとに、履歴情報1211を分類してもよい。すなわち、この場合、制御部11は、端末で実行されるアプリケーションプログラムの設定ごとに、履歴を複数のグループに分類する分類部115として機能する。この構成によれば、例えば複数の端末2において、各ユーザの設定に応じてその端末2で記憶される履歴を分類するので、アプリの開発者は、各ユーザの設定の好みに応じた不具合に気付き易くなる。
2-4. Modification 4
Further, the control unit 11 of the analysis apparatus 1 may classify the history information 1211 for each application setting instead of or in addition to the application operation period. The application setting is, for example, a setting as to which of the two systems, LTE and 3G, is given priority as a communication network. The setting data consists of a set of one or more setting item names and setting values. In the above example, the setting item name is “communication network”, and the setting value is “1” for LTE, for example “1” for 3G. 0 ". When there are a plurality of these settings, the history information 1211 may be classified into a plurality of groups by performing multivariate analysis on the setting values corresponding to the plurality of setting items. Specifically, the history information 1211 may be classified for each tendency that is clustered according to an algorithm such as the k-average method and reflected in the history information 1211. That is, in this case, the control unit 11 functions as the classification unit 115 that classifies the history into a plurality of groups for each setting of the application program executed on the terminal. According to this configuration, for example, in a plurality of terminals 2, since the history stored in the terminal 2 is classified according to the setting of each user, the developer of the application is in trouble according to the preference of each user's setting. It becomes easy to notice.

2−5.変形例5
上述した実施形態において、解析装置1の制御部11は、算出された電力量と、集計された回数とを、第1モジュールおよび第2モジュールの組み合わせごとにそれぞれ出力する出力部114として機能していたが、第1モジュールを呼び出した第2モジュール、およびこの第2モジュールを呼び出した1以上の第3モジュールによる呼び出しの順序ごとに、消費された電力量と呼び出しの回数とを出力する出力部114として機能してもよい。
2-5. Modification 5
In the above-described embodiment, the control unit 11 of the analysis apparatus 1 functions as the output unit 114 that outputs the calculated power amount and the total number of times for each combination of the first module and the second module. However, the output unit 114 that outputs the amount of power consumed and the number of calls for each order of calling by the second module that called the first module and one or more third modules that called the second module. May function as

例えば、モジュールMa、モジュールMb、およびモジュールMcが呼び出されるアプリの開発者が、モジュールMaからモジュールMcを直接呼び出す必要がないと考えたとする。この場合、アプリの開発者は、モジュールMaにモジュールMbを呼び出す機能を設け、かつ、モジュールMbにモジュールMcを呼び出す機能を設けるが、モジュールMaにモジュールMcを呼び出す機能を設けない。   For example, suppose that the developer of the application in which the module Ma, the module Mb, and the module Mc are called does not need to call the module Mc directly from the module Ma. In this case, the developer of the application provides the module Ma with a function of calling the module Mb and provides the module Mb with a function of calling the module Mc, but does not provide the module Ma with a function of calling the module Mc.

一方、実際のユーザがモジュールMaをアクティブにしているときにモジュールMcを起動させたいと思うことが多かったとすると、モジュールMaが表示の占有権を有しているときに、モジュールMcを直接呼び出せないため、ユーザは、いったんモジュールMbを起動し、このモジュールMbを経由してモジュールMcを起動する操作を頻繁に行うようになる。このようにアプリが設計されていると、ユーザが起動することを必要としていないモジュールMbの起動が頻繁に行われるため、無駄な電力が消費され、無駄な資源が使用されることとなる。しかし、このような実際のユーザによる使用態様が分からないため、アプリの開発者は、こういった設計の無駄に気付かない場合がある。   On the other hand, if an actual user often wants to activate the module Mc when the module Ma is active, the module Mc cannot be directly called when the module Ma has the exclusive right to display. Therefore, the user starts the module Mb once, and frequently performs an operation of starting the module Mc via the module Mb. When the application is designed in this manner, the module Mb that does not require the user to start is frequently started, so that useless power is consumed and useless resources are used. However, since the actual usage by the user is unknown, the application developer may not be aware of such a design waste.

制御部11が、上述した呼び出しの順序ごとに、消費された電力量と呼び出しの回数とを出力する出力部114として機能することにより、モジュールMa→モジュールMb→モジュールMcという順序での起動が頻繁に行われていることが分かると、アプリの開発者は、モジュールMbがモジュールMcの起動のためだけに起動されていることに気付くことができる。そして、この場合、アプリの開発者は、モジュールMaにモジュールMcを直接呼び出す機能を設けることでこの不具合は解消する。すなわち、この構成によれば、ユーザが現状の機能の制約から仕方なく編み出した複雑な操作手順にアプリの開発者が気付くことができ、それを簡素なものに変える設計変更をし易くなる。なお、上述した例において、制御部11は、3つのモジュールが呼び出された順序ごとに出力を行ったが、4つ以上のモジュールの呼び出し順序ごとに出力を行ってもよい。また、制御部11が監視する順序は、決められた時間内に生じる呼び出しに限ってもよい。   The control unit 11 functions as the output unit 114 that outputs the amount of power consumed and the number of calls for each calling order described above, so that the activation in the order of the module Ma → module Mb → module Mc is frequently performed. If the application developer knows that the module Mb is being executed, the module developer can notice that the module Mb is activated only for the activation of the module Mc. In this case, the developer of the application solves this problem by providing the module Ma with a function of directly calling the module Mc. In other words, according to this configuration, the developer of the application can notice a complicated operation procedure that the user has inevitably created from the restrictions of the current functions, and it is easy to make a design change to change it to a simple one. In the above-described example, the control unit 11 performs output in the order in which the three modules are called. However, the control unit 11 may perform output in the order in which four or more modules are called. The order of monitoring by the control unit 11 may be limited to calls that occur within a predetermined time.

2−6.変形例6
上述した実施形態において、測位部26は、GPSによって端末2の位置を測定していたが、端末2の位置を、いわゆる位置登録を行うロケーションレジスタへの問い合わせによって特定してもよい。ここでいうロケーションレジスタは、無線機器である端末2が、移動通信網6に接続されたどの無線基地局のセル(通信圏内)にあるかを記憶する装置である。
2-6. Modification 6
In the embodiment described above, the positioning unit 26 measures the position of the terminal 2 by GPS. However, the position of the terminal 2 may be specified by an inquiry to a location register that performs so-called position registration. Here, the location register is a device that stores which radio base station cell (communication range) connected to the mobile communication network 6 the terminal 2 that is a radio device is in.

2−7.変形例7
解析装置1の制御部11によって実行されるプログラムは、磁気テープや磁気ディスクなどの磁気記録媒体、光ディスクなどの光記録媒体、光磁気記録媒体、半導体メモリなどの、コンピュータ装置が読み取り可能な記録媒体に記憶された状態で提供し得る。また、このプログラムを、インターネットのようなネットワーク経由でダウンロードさせることも可能である。なお、上記の制御部11によって例示した制御手段としてはCPU以外にも種々の装置が適用される場合があり、例えば、専用のプロセッサなどが用いられる。
2-7. Modification 7
The program executed by the control unit 11 of the analysis apparatus 1 is a recording medium readable by a computer device, such as a magnetic recording medium such as a magnetic tape or a magnetic disk, an optical recording medium such as an optical disk, a magneto-optical recording medium, or a semiconductor memory. Can be provided in a stored state. It is also possible to download this program via a network such as the Internet. Note that various devices other than the CPU may be applied as the control means exemplified by the control unit 11. For example, a dedicated processor or the like is used.

2−8.変形例8
上述した実施形態において、制御部11により実現する算出部112は、取得部111により取得された履歴データベース121に基づいて、実行された第1モジュールにより消費された電力量を、その第1モジュールを呼び出した第2モジュールごとに算出していたが、電力量を算出し得る数値を特定するだけでもよい。すなわち、電力量を算出するとは、電力量を算出し得る数値を特定することを含む。例えば、携帯電話機のような端末2に供給される電圧が一定であると見なせる場合、制御部11は、電流を特定することにより、電力量を算出し得る。したがって、制御部11は、電力量に代えて第1モジュールにより使われた電流を、その第1モジュールを呼び出した第2モジュールごとに算出してもよい。
2-8. Modification 8
In the embodiment described above, the calculation unit 112 realized by the control unit 11 uses the first module to calculate the amount of power consumed by the executed first module based on the history database 121 acquired by the acquisition unit 111. Although it is calculated for each called second module, it is also possible to specify only a numerical value from which the amount of power can be calculated. That is, calculating the electric energy includes specifying a numerical value from which the electric energy can be calculated. For example, when the voltage supplied to the terminal 2 such as a mobile phone can be considered to be constant, the control unit 11 can calculate the electric energy by specifying the current. Therefore, the control unit 11 may calculate the current used by the first module instead of the electric energy for each second module that calls the first module.

1…解析装置、11…制御部、111…取得部、112…算出部、113…集計部、114…出力部、115…分類部、12…記憶部、121…履歴データベース、1211…履歴情報、122…分類情報、13…通信部、2…端末、21…制御部、22…記憶部、221…履歴情報、23…通信部、24…表示部、25…操作部、26…測位部、27…撮像部、3…通信回線、4…開発装置、5…サーバ装置、6…移動通信網、9…解析システム。 DESCRIPTION OF SYMBOLS 1 ... Analysis apparatus, 11 ... Control part, 111 ... Acquisition part, 112 ... Calculation part, 113 ... Aggregation part, 114 ... Output part, 115 ... Classification part, 12 ... Storage part, 121 ... History database, 1211 ... History information, 122: Classification information, 13: Communication unit, 2 ... Terminal, 21 ... Control unit, 22 ... Storage unit, 221 ... History information, 23 ... Communication unit, 24 ... Display unit, 25 ... Operation unit, 26 ... Positioning unit, 27 DESCRIPTION OF SYMBOLS: Imaging part, 3 ... Communication line, 4 ... Development apparatus, 5 ... Server apparatus, 6 ... Mobile communication network, 9 ... Analysis system.

Claims (10)

複数の端末で実行されるアプリケーションプログラムにおいて呼び出されたモジュールの履歴を少なくとも含む履歴情報を取得する取得手段と、
前記取得手段により取得された履歴情報に基づいて、第1モジュールにより消費された電力量を、当該第1モジュールを呼び出した第2モジュールごとに算出する算出手段と、
前記取得手段により取得された履歴情報に基づいて、前記第1モジュールが呼び出された回数を、前記第2モジュール、および当該第2モジュールの呼び出しの種類ごとに集計する集計手段と、
前記算出手段により算出された電力量と、前記集計手段により集計された回数とを、前記第1モジュールおよび前記第2モジュールの組み合わせごとにそれぞれ出力する出力手段と
を有することを特徴とする解析装置。
Acquisition means for acquiring history information including at least a history of modules called in application programs executed on a plurality of terminals;
Calculation means for calculating the amount of power consumed by the first module for each second module that has called the first module, based on the history information acquired by the acquisition means;
Based on the history information acquired by the acquisition means, the counting means for counting the number of times the first module is called for each type of call of the second module and the second module;
And an output unit that outputs the amount of power calculated by the calculation unit and the number of times totalized by the totalization unit for each combination of the first module and the second module. .
前記取得手段により取得された履歴情報を複数のグループに分類する分類手段を有し、
前記算出手段は、前記第1モジュールにより消費される電力量を、前記グループごとに算出し、
前記集計手段は、前記第1モジュールが呼び出された回数を、当該第1モジュールを呼び出した前記第2モジュール、当該第2モジュールの呼び出しの種類、および前記グループごとに集計する
ことを特徴とする請求項1に記載の解析装置。
Classification means for classifying history information acquired by the acquisition means into a plurality of groups;
The calculation means calculates the amount of power consumed by the first module for each group,
The counting means totals the number of times the first module has been called for each of the second module that has called the first module, the type of calling of the second module, and the group. Item 4. The analysis device according to Item 1.
前記分類手段は、所定期間内における前記アプリケーションプログラムの実行時間に基づいて、前記端末のユーザが共通する前記履歴情報を前記複数のグループに分類する
ことを特徴とする請求項2に記載の解析装置。
The analysis device according to claim 2, wherein the classification unit classifies the history information common to users of the terminal into the plurality of groups based on an execution time of the application program within a predetermined period. .
前記分類手段は、前記アプリケーションプログラムに使用される資源の種類に基づいて、前記履歴情報を前記複数のグループに分類する
ことを特徴とする請求項2または3に記載の解析装置。
The analysis device according to claim 2 or 3, wherein the classification unit classifies the history information into the plurality of groups based on a type of a resource used for the application program.
前記分類手段は、前記アプリケーションプログラムが実行される前記端末がおかれている通信環境に基づいて、前記履歴情報を前記複数のグループに分類する
ことを特徴とする請求項2から4のいずれか1項に記載の解析装置。
The classification means classifies the history information into the plurality of groups based on a communication environment in which the terminal on which the application program is executed is placed. The analysis device according to item.
前記分類手段は、前記端末で実行されるアプリケーションプログラムの設定に基づいて、前記履歴情報を前記複数のグループに分類する
ことを特徴とする請求項2から5のいずれか1項に記載の解析装置。
The analysis device according to claim 2, wherein the classification unit classifies the history information into the plurality of groups based on a setting of an application program executed on the terminal. .
前記出力手段は、前記第1モジュールを呼び出した前記第2モジュール、および当該第2モジュールを呼び出した1以上の第3モジュールによる呼び出しの順序ごとに、前記電力量と前記回数とを出力する
ことを特徴とする請求項1から6のいずれか1項に記載の解析装置。
The output means outputs the power amount and the number of times for each order of calling by the second module that calls the first module and one or more third modules that call the second module. The analyzing apparatus according to claim 1, wherein the analyzing apparatus is characterized in that:
請求項1から7のいずれか1項に記載の解析装置と、
前記解析装置が出力する出力内容に基づいて、前記第1モジュールおよび前記第2モジュールの組み合わせに応じた電力量および回数を有向グラフにより表示する表示装置と
を有する解析システム。
The analysis device according to any one of claims 1 to 7,
An analysis system comprising: a display device that displays a power amount and the number of times according to a combination of the first module and the second module as a directed graph based on output contents output from the analysis device.
コンピュータを、
複数の端末で実行されるアプリケーションプログラムにおいて呼び出されたモジュールの履歴を少なくとも含む履歴情報を取得する取得手段と、
前記取得手段により取得された履歴情報に基づいて、第1モジュールにより消費された電力量を、当該第1モジュールを呼び出した第2モジュールごとに算出する算出手段と、
前記取得手段により取得された履歴情報に基づいて、前記第1モジュールが呼び出された回数を、前記第2モジュール、および当該第2モジュールの呼び出しの種類ごとに集計する集計手段と、
前記算出手段により算出された電力量と、前記集計手段により集計された回数とを、前記第1モジュールおよび前記第2モジュールの組み合わせごとにそれぞれ出力する出力手段
として機能させるためのプログラム。
Computer
Acquisition means for acquiring history information including at least a history of modules called in application programs executed on a plurality of terminals;
Calculation means for calculating the amount of power consumed by the first module for each second module that has called the first module, based on the history information acquired by the acquisition means;
Based on the history information acquired by the acquisition means, the counting means for counting the number of times the first module is called for each type of call of the second module and the second module;
A program for functioning as output means for outputting the amount of power calculated by the calculation means and the number of times counted by the counting means for each combination of the first module and the second module.
取得手段が、複数の端末で実行されるアプリケーションプログラムにおいて呼び出されたモジュールの履歴を少なくとも含む履歴情報を取得する取得ステップと、
算出手段が、前記取得ステップにおいて取得された履歴情報に基づいて、第1モジュールにより消費された電力量を、当該第1モジュールを呼び出した第2モジュールごとに算出する算出ステップと、
集計手段が、前記取得ステップにおいて取得された履歴情報に基づいて、前記第1モジュールが呼び出された回数を、前記第2モジュール、および当該第2モジュールの呼び出しの種類ごとに集計する集計ステップと、
出力手段が、前記算出ステップにおいて算出された電力量と、前記集計ステップにおいて集計された回数とを、前記第1モジュールおよび前記第2モジュールの組み合わせごとにそれぞれ出力する出力ステップと
を有することを特徴とする解析装置の制御方法。
An acquisition step for acquiring history information including at least a history of modules called in an application program executed by a plurality of terminals;
A calculating step in which the calculating means calculates the amount of power consumed by the first module for each second module that has called the first module, based on the history information acquired in the acquiring step;
A counting step in which the counting means counts the number of times the first module has been called based on the history information acquired in the acquiring step for each type of the second module and the second module called;
The output means includes an output step of outputting the amount of power calculated in the calculation step and the number of times counted in the counting step for each combination of the first module and the second module. A control method of the analysis device.
JP2013247790A 2013-11-29 2013-11-29 Analysis device, analysis system, program, and control method of analysis device Active JP6228824B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013247790A JP6228824B2 (en) 2013-11-29 2013-11-29 Analysis device, analysis system, program, and control method of analysis device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013247790A JP6228824B2 (en) 2013-11-29 2013-11-29 Analysis device, analysis system, program, and control method of analysis device

Publications (2)

Publication Number Publication Date
JP2015106268A JP2015106268A (en) 2015-06-08
JP6228824B2 true JP6228824B2 (en) 2017-11-08

Family

ID=53436332

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013247790A Active JP6228824B2 (en) 2013-11-29 2013-11-29 Analysis device, analysis system, program, and control method of analysis device

Country Status (1)

Country Link
JP (1) JP6228824B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7218797B2 (en) 2019-04-01 2023-02-07 富士通株式会社 Information processing device and API usage history display program

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5045122B2 (en) * 2007-01-29 2012-10-10 富士通株式会社 Program evaluation program, program evaluation apparatus, and program evaluation method
JP5787259B2 (en) * 2011-02-23 2015-09-30 株式会社Nttドコモ Power consumption analysis system and application development tools

Also Published As

Publication number Publication date
JP2015106268A (en) 2015-06-08

Similar Documents

Publication Publication Date Title
EP3502880B1 (en) Method for preloading application, storage medium, and terminal device
EP3502878B1 (en) Method for preloading application and terminal device
US11164097B2 (en) Method for preloading application, storage medium, and terminal device
EP3242203B1 (en) Method for operating a display device and display device
US11748224B2 (en) Detection and analysis of energy consumption of software applications
CN107798108B (en) Asynchronous task query method and device
JP2017504121A5 (en)
US8825761B2 (en) Systems and methods for sharing group status within a social network
CN111078556B (en) Application testing method and device
CN109343926A (en) Application program image target display methods, device, terminal and storage medium
CN107390983A (en) Service order performs method, client and storage medium
CN108334530B (en) User behavior information analysis method, device and storage medium
CN114615177A (en) Load detection method and device of cloud platform, electronic equipment and storage medium
JP6228824B2 (en) Analysis device, analysis system, program, and control method of analysis device
CN112181570A (en) Background task display method and device and electronic equipment
KR102106484B1 (en) Information display method, terminal, and server
CN105262829B (en) Geographical position monitoring method and system
CN110807330B (en) Semantic understanding model evaluation method, device and storage medium
CN113467867A (en) Information processing method, information processing device, electronic equipment and storage medium
CN112256948A (en) Data processing method and device and electronic equipment
CN117097635B (en) Method, device, storage medium and equipment for calling link sampling
CN114595231B (en) Database table generation method and device, electronic equipment and storage medium
CN115269697A (en) Product data information conversion method and device, storage medium and electronic equipment
CN115103068A (en) Outbound list generation method and device, storage medium and electronic equipment
Almasri et al. Adding Energy Star Rating Schema to Android Applications on Google Play Store an Example of a Preventive Power Saving Model

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160805

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170524

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170606

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170710

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171016

R150 Certificate of patent or registration of utility model

Ref document number: 6228824

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250