Nothing Special   »   [go: up one dir, main page]

JP2007048247A - System freeze diagnostics and restoration technique applied to wireless device - Google Patents

System freeze diagnostics and restoration technique applied to wireless device Download PDF

Info

Publication number
JP2007048247A
JP2007048247A JP2005258451A JP2005258451A JP2007048247A JP 2007048247 A JP2007048247 A JP 2007048247A JP 2005258451 A JP2005258451 A JP 2005258451A JP 2005258451 A JP2005258451 A JP 2005258451A JP 2007048247 A JP2007048247 A JP 2007048247A
Authority
JP
Japan
Prior art keywords
deadlock
wireless device
freeze
diagnostic
processes
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.)
Pending
Application number
JP2005258451A
Other languages
Japanese (ja)
Inventor
Shiyousei Ou
昌正 王
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.)
MOVELL SOFTWARE KK
Original Assignee
MOVELL SOFTWARE KK
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 MOVELL SOFTWARE KK filed Critical MOVELL SOFTWARE KK
Priority to JP2005258451A priority Critical patent/JP2007048247A/en
Publication of JP2007048247A publication Critical patent/JP2007048247A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To avoid freeze of the whole system by avoiding deadlock and restoring the system by detecting generated deadlock when the deadlock cannot be avoided in a wireless device. <P>SOLUTION: A diagnostic engine is made to reside in the wireless device to always observe an operating state of a process and a use state of a system resource, the deadlock is avoided when the process is started and the system resource is required, the deadlock is immediately diagnosed when the deadlock is generated between processes to specify a place (process) and a cause of the deadlock, when the deadlock can instantaneously be fixed, a countermeasure is taken to restore the system. For a bug on software, a diagnostic report in which detailed diagnostic data is recorded is transmitted to a diagnostic server. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、ワイヤレスデバイスのシステムフリーズの診断と復旧方法、システムフリーズ診断機能を持つワイヤレスデバイスおよびワイヤレスデバイスのシステムフリーズ診断と復旧を実施するシステムに関する。  The present invention relates to a system freeze diagnosis and recovery method for a wireless device, a wireless device having a system freeze diagnosis function, and a system for performing system freeze diagnosis and recovery for a wireless device.

近年、携帯電話の高機能化によって、数多くのアプリケーションが高負荷の状態で走り、システムリソースの競合が発生してシステムがフリーズするリスクが高くなり、フリーズしたシステムを復旧させるには強制的に再起動する方法しかなく、作成途中のデータがなくなってしまい、利用者の満足度が低下する傾向にある。デッドロックとは、マルチタスクの環境で走る二つ以上のプロセスがシステムリソース又は相互通信の競合によって永遠にブロックされてしまうことである。システムフリーズとは、プロセス間のデッドロックがシステム全体へ広がり、システムがフリーズとなる状態である。  In recent years, with the advancement of mobile phone functionality, many applications run under high load, and there is a higher risk of system freezes due to system resource contention. There is only a method to start, data in the middle of creation is lost, and the user's satisfaction tends to decrease. Deadlock means that two or more processes running in a multitasking environment are blocked forever due to system resource or mutual communication contention. The system freeze is a state where a deadlock between processes spreads to the entire system and the system is frozen.

システムフリーズが発生した場合は、利用者が携帯電話事業者のカスタマサポートセンタに電話してサポートを受ける。しかし、担当者が電話に出てくるまで長く待たされることが多い。担当者が出てきても、問題が解決できない場合も大いにある。事業者は、必要な情報が不十分であるために、問題の原因を究明しないままで製造メーカにまわしてしまう場合が多い。  When a system freeze occurs, the user calls the customer support center of the mobile phone carrier for support. However, there is often a long wait until the person in charge answers the phone. There are many cases where the problem cannot be solved even if the person in charge comes out. In many cases, a business operator turns to a manufacturer without investigating the cause of a problem because necessary information is insufficient.

製造メーカは多くの人員を投入し、時間をかけてシステムフリーズのバグを再現させ、バグの発生原因を調べる。時間を費やしてもバグが見つからない場合もある。バグが見つからなければ、バグを修正することができない。バグを速やかに修正できなければ、顧客(事業者と利用者)との関係が悪くなる恐れがある。  The manufacturer invests a lot of people, takes time to reproduce the system freeze bug, and investigates the cause of the bug. Sometimes bugs are not found even if time is spent. If a bug is not found, it cannot be fixed. If bugs cannot be fixed promptly, the relationship between customers (business operators and users) may deteriorate.

一方、ソフトウェアのバグでなくても、携帯電話を使えなくなることもある。たとえば、利用者の操作順番によってシステムリソースの競合が起きてシステムがおかしくなり、動作しなくなる。また、利用者の勘違いで、フリーズの問題ではなくても利用者から事業者のカスタマサポートに連絡するケースも少なくない。さらに、利用者がサポートへ連絡した際に新しい携帯電話機交換を要求するケースが多くある。修理受付窓口または小売店では、システムフリーズの有力な検査方法が無いことにより、多くの故障等の問題が無い携帯電話機を回収して新しい携帯電話に交換してしまう。この場合は、膨大な交換費用をメーカが負担することになる。  On the other hand, even if it is not a software bug, the mobile phone may become unusable. For example, a system resource conflict occurs depending on the user's operation order, the system becomes strange, and the system does not operate. Moreover, due to misunderstandings of users, there are many cases in which users contact customer support of business operators even if it is not a problem of freezing. In addition, there are many cases in which a user requests replacement of a new mobile phone when contacting support. At the repair reception desk or retail store, since there is no effective inspection method for system freezes, mobile phones that do not have many problems such as malfunctions are collected and replaced with new mobile phones. In this case, the manufacturer bears a huge replacement cost.

携帯電話機が故障してユーザが携帯電話機を修理受付窓口や小売店に持ち込んだときに、持ち込まれた携帯電話機の状態を窓口担当者が即座に的確に判断することができ、修理の迅速化を図ることができる携帯電話機の修理サービス支援方法として、特許文献1に記載された方法がある。その方法では、保守情報を保存する保守情報記憶領域が記憶部に確保され、保守情報を保守情報記憶領域に書き込むとともに保守情報記憶領域から保守情報を読み出して表示部に表示させる。
特開2004−194247号公報
When a mobile phone breaks down and a user brings the mobile phone to a repair reception desk or a retail store, the person in charge of the counter can immediately and accurately determine the state of the mobile phone that has been brought in. There is a method described in Patent Document 1 as a mobile phone repair service support method that can be achieved. In this method, a maintenance information storage area for storing maintenance information is secured in the storage unit, the maintenance information is written in the maintenance information storage area, and the maintenance information is read from the maintenance information storage area and displayed on the display unit.
JP 2004-194247 A

しかし、特許文献1に記載された方法では、保守情報しか記録していないので、一定のハードウェアに関する故障や不具合しか判定することができない。上述のように、携帯電話機は様々な機能を実現できるようになっているので、システムフリーズの問題がソフトウェアが原因となって発生するために、ハードウェアに関する故障や不具合しか判定できないのでは、ユーザに対するカスタマサポート・サービスとして不十分である。また、特許文献1に記載された方法では、修理受付窓口への持込みが必要とされている。しかし、そのようなやり方では、数百万台の携帯電話で一斉に発生したシステムフリーズの問題に対応することが不可能である。  However, since only the maintenance information is recorded in the method described in Patent Document 1, it is possible to determine only a failure or malfunction related to certain hardware. As described above, since the mobile phone can realize various functions, since the problem of system freeze is caused by software, it is not possible to determine only a hardware failure or malfunction. Customer support service is insufficient. Moreover, in the method described in Patent Document 1, it is necessary to bring it to a repair reception desk. However, with such a method, it is impossible to deal with the problem of system freeze that has occurred simultaneously in millions of mobile phones.

そこで、本発明は、特別な機能に限定することなく、ワイヤレスデバイスにおいてあらゆるアプリケーションがあらゆるタイミングで起動することが原因でシステムフリーズが発生した場合に、修理受付窓口へ持ち込む必要もなく、リアルタイムで診断してシステムを復旧することができる方法、この方法を実現したソフトウェアおよびこのソフトウェアを実装したワイヤレスデバイスを提供することを目的とする。  Therefore, the present invention is not limited to a special function, and it is not necessary to bring it to a repair reception desk when a system freeze occurs due to the start of any application on the wireless device at any timing. It is an object of the present invention to provide a method capable of recovering a system, software that implements the method, and a wireless device that implements the software.

本発明によるワイヤレスデバイスは、システムフリーズの診断エンジンを備えた携帯電話機であって、診断エンジンがシステムの健康を観察し、システムフリーズを回避する手段と、システムフリーズを認識する手段と、フリーズが認識されたときに必要な情報を収集し、診断を行ってシステムを復旧する診断・復旧手段とを有することを特徴とする。  A wireless device according to the present invention is a mobile phone equipped with a system freeze diagnostic engine, the diagnostic engine observes the health of the system, avoids the system freeze, means for recognizing the system freeze, and freeze recognition And a diagnosis / recovery unit that collects necessary information and performs diagnosis to restore the system.

システム健康の観察手段は、診断エンジンがシステムに常駐して、システムリソースの利用状況を監視し、アプリケーションが起動するときや起動したアプリケーションから再びシステムリソースを要求するときに、アプリケーションのリソース要求に対して利用可能なリソースを基に審査し、システムリソースの競合が発生しないのであれば、必要なリソースを割り付ける。  System health observation means that the diagnosis engine stays in the system, monitors the usage status of system resources, and responds to application resource requests when the application starts or requests system resources from the started application again. If there is no contention for system resources, the necessary resources are allocated.

システムリソースは、プロセッサ、I/Oチャンネル、メモリ、デバイス、データ(例えばファイル)、データベース、セマフォがある。これらのシステムリソースにアクセスするときに制限があり、例えばメモリの割付要求に対して、メモリが不足したときに、プロセスの間にシステムリソースの競合(デッドロック)が起きる。  System resources include processors, I / O channels, memories, devices, data (eg, files), databases, and semaphores. There is a limit when accessing these system resources. For example, when memory is insufficient for a memory allocation request, contention (deadlock) of system resources occurs between processes.

デッドロックは、一つのプロセスが一つのシステムリソースを持ったまま、次のシステムリソースを要求する際(Hold−and−wait)に起きる。例えば、200KBのメモリは、二つのプロセスからそれぞれ70KBと80KBの割付要求があったときに、150KBのメモリが割り当てられ、残りのメモリが50KBとなる。二つのプロセスが割り当てられたメモリを持ったまま、次にまたそれぞれ60KBと70KBの割付要求があった際に、要求されるメモリがないため割り当てられなく、二つのプロセスが互いにブロックされてしまう。高負荷のシステムには、メモリのリークなどによるプロセスのデッドロックがよく起き、悪循環が起き、すべてのプロセスが動かなくなり、システム全体がフリーズしてしまい、システムを再起動する以外に復旧方法がなくなってしまう。  A deadlock occurs when one process requests the next system resource while holding one system resource (hold-and-wait). For example, in the case of 200 KB memory, when there are 70 KB and 80 KB allocation requests from two processes, 150 KB memory is allocated, and the remaining memory is 50 KB. Next, when there is an allocation request of 60 KB and 70 KB, respectively, while the two processes have the allocated memory, they are not allocated because there is no required memory, and the two processes are blocked from each other. In heavy-duty systems, process deadlocks due to memory leaks often occur, creating a vicious circle, all processes fail to freeze, the entire system freezes, and there is no recovery method other than restarting the system End up.

本発明は、まず、デッドロックの回避を図り、デッドロックの回避ができない場合には、部分的に発生したデッドロックを検出して、システムの復旧を行って最悪のシステム全体フリーズを回避する。  The present invention first attempts to avoid deadlocks, and when deadlocks cannot be avoided, detects a partially generated deadlock and performs system recovery to avoid the worst system-wide freeze.

システムフリーズの回避手段は、システムリソースとプロセスの動きを監視して、デッドロックになる可能性のあるリソース割付をしない。リソース割付の判断基準として、常に利用可能なシステムリソースを10%以上確保するという手段をとる。例えば、32MBメモリのシステムにおいて、常に3MBのフリーメモリを残す。また、ループになるシステムリソース割付が行わない。例えば、プロセスAがリソースAを利用しているときにプロセスBが利用しているリソースBの割付を要求する同時に、プロセスBがリソースAの割付を要求する。プロセスAとプロセスBが互いに持っているリソースBとリソースAの開放を待ち、デッドロックになってしまう。これをリソースのループ割付と言う。  System freeze avoidance measures monitor system resources and process activity and do not allocate resources that could result in deadlocks. As a criterion for determining resource allocation, a method of ensuring 10% or more of system resources that are always available is used. For example, in a 32 MB memory system, 3 MB of free memory is always left. Also, system resource allocation that makes a loop is not performed. For example, when the process A is using the resource A, the process B requests the allocation of the resource A used at the same time as the process B requests the allocation of the resource A. The process A and the process B wait for the release of the resource B and the resource A that the process B has, and a deadlock occurs. This is called resource loop assignment.

デッドロックの検出手段は、長くスリープしているプロセスを探し、そのプロセスの履歴を調べて、デッドロックになっているかを判断する。長いスリープ・プロセスの判断基準として、一定の時間内(例えば5分)に起きていない、若しくは起きてもすぐにスリープになるプロセスを判断する。デッドロックになったプロセスの判断基準として、長いスリープ・プロセスであり、スリープの間に活動(例えばリソースの割付、I/O入出力)の履歴がないプロセスを判断する。  The deadlock detection means searches for a process that has been sleeping for a long time and examines the history of the process to determine whether it is deadlocked. As a criterion for determining a long sleep process, a process that does not wake up within a certain time (for example, 5 minutes) or immediately goes to sleep when it wakes up is determined. As a criterion for determining a deadlocked process, a process which is a long sleep process and has no history of activity (eg, resource allocation, I / O input / output) during the sleep is determined.

システムの復旧手段は、デッドロックにあったプロセスに対して、すべてのプロセス又は一部のプロセスを強制的に終了させ、これらのプロセスに占用されたすべてのシステムリソースを開放する。一部のプロセスを終了させる場合は、デッドロックを解除するまでプロセスを一つずつ終了する作業を繰り返す。終了させたプロセスは、デッドロックにならないように順番に再起動して実行する。  The system recovery means forcibly terminates all or some of the processes in the deadlock, and releases all system resources occupied by these processes. To end some processes, repeat the process of ending processes one by one until the deadlock is released. The terminated processes are restarted and executed in order so that deadlock does not occur.

デッドロックを診断した結果は、OTA(Over−the−air)を通して診断サーバに報告する。報告内容は、デッドロック発生した場所、原因および関連診断データが含まれる。これらの情報は、携帯電話事業者がカスタマをサポートするときに利用でき、また携帯電話メーカがバグをフィックスするときに利用することができる。  The result of diagnosing the deadlock is reported to the diagnosis server through OTA (Over-the-air). The report content includes the location where the deadlock occurred, the cause and associated diagnostic data. These pieces of information can be used when a mobile phone operator supports a customer, and can also be used when a mobile phone manufacturer fixes a bug.

以上のように、本発明によれば、ワイヤレスデバイスにおいてシステムフリーズの回避、診断と復旧方法およびデッドロック診断実施のためのシステムとして、デバイスに診断エンジンが常駐し、プロセスの間にシステムリソースの競合が起きてデッドロックになることを回避し、回避できない場合に一部のプロセスの間においてデッドロックが発生した後に直ちにデッドロックを検出して、デッドロックになったプロセスを終了させ、システム全体のフリーズを回避させるので、ほとんどの場合に事業者のカスタマサポートに連絡する必要がなく、修理受付窓口に持ち込まれる必要もない。たとえ、事業者のカスタマサポートに連絡されたときでも、サポートに必要な情報が既に診断サーバに報告されてあり、すぐにカスタマへ対応ができる。また、ソフトウェア上でバグが見つかった場合に、バグに関する詳細な診断情報が収集されており、メーカが即座に的確にバグを判断することができ、バグを直ちに直すことができる。従って、利用者は、本発明によるデッドロック診断機能をセルフケアとして利用でき、ワイヤレスデバイスに発生するほとんどの最も複雑なシステムフリーズ又はリセットの問題が自動的に回避される。回避できなかった場合に、発生したデッドロックが自動的に診断されてシステムが自動的に復旧される。また、事業者のカスタマサポート担当者は、カスタマに対して的確に、かつ、迅速に問題を特定できるとともに、カスタマ対応の迅速化を図ることができ、顧客サービスの向上を図ることができる。さらに、メーカは、診断報告書に含まれる詳細な診断データを用いて、ソフトウェア上のデッドロックに関わるバグが発生した場所と原因がわかり、直ちにそのバグを修正することができる。事業者とメーカにとって、カスタマとプロダクトのサポートコストを著しく削減することができる。  As described above, according to the present invention, a diagnosis engine resides in a device as a system for avoiding system freeze in a wireless device, performing a diagnosis and recovery method, and performing a deadlock diagnosis, and contention of system resources between processes. If a deadlock occurs between some processes when it cannot be avoided, the deadlock is detected immediately and the deadlocked process is terminated. Since the freeze is avoided, it is not necessary to contact the customer support of the operator in most cases, and it is not necessary to bring it to the repair reception desk. Even when the customer's customer support is contacted, information necessary for the support has already been reported to the diagnostic server, and the customer can be dealt with immediately. In addition, when a bug is found on the software, detailed diagnostic information about the bug is collected, and the manufacturer can immediately and accurately determine the bug, and the bug can be corrected immediately. Thus, the user can utilize the deadlock diagnostic function according to the present invention as self-care and automatically avoid most of the most complex system freeze or reset problems that occur in wireless devices. If it cannot be avoided, the deadlock that occurred is automatically diagnosed and the system is automatically restored. Further, the customer support person in charge of the business operator can identify the problem accurately and quickly with respect to the customer, can speed up the customer response, and can improve the customer service. Further, the manufacturer can use the detailed diagnostic data included in the diagnostic report to find out the location and cause of the bug related to the software deadlock and immediately correct the bug. For businesses and manufacturers, support costs for customers and products can be significantly reduced.

以下、本発明の実施の形態を図面を参照して説明する。図1は、本発明によるワイヤレスデバイスのデッドロック診断と復旧方法を実現することができるシステムの構成を示すブロック図である。  Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram illustrating a configuration of a system capable of realizing a deadlock diagnosis and recovery method for a wireless device according to the present invention.

図1に示す診断システムにおいて、ワイヤレスデバイス01にデッドロック診断・復旧機能を実装して、システムリソースとプロセスの状態を観察し、プロセス間のデッドロックの回避を図り、デッドロックになったときに診断して、必要な処置を行い、システムを正常に復旧する。診断する際に、診断サーバ02に対して、診断データベース03からワイヤレスネットワーク04経由で必要な診断情報を取り寄せることもできる。診断結果は、ワイヤレスネットワーク04を通して、診断サーバ02に報告し、診断レポートとして診断データベース03に登録する。  In the diagnostic system shown in FIG. 1, when a deadlock diagnosis / recovery function is implemented in the wireless device 01, the state of system resources and processes is observed, deadlock between processes is avoided, and a deadlock occurs. Diagnose and take the necessary action to restore the system to normal. When making a diagnosis, necessary diagnosis information can be obtained from the diagnosis database 03 via the wireless network 04 to the diagnosis server 02. The diagnosis result is reported to the diagnosis server 02 through the wireless network 04 and registered in the diagnosis database 03 as a diagnosis report.

事業者のカスタマサポートから、この診断レポートを見ることができる。事業者のカスタマサポートは、この診断レポートをチェックして、ワイヤレスデバイス側で解決しなかったケースに対して、診断レポートに記載する情報に基づいて、解決方法を見つける。ソフトウェア上のバグであれば、メーカに対してバグ報告を行い、バグ修正を依頼する。メーカが、バグ修正依頼を受けた後に、ネットワーク経由で診断データベースから詳細な診断情報データを取り寄せて、バグの原因を調べ、バグの場所を特定し、ソフトウェア上のバグを修正する。  This diagnostic report can be viewed from the operator's customer support. The customer support of the operator checks this diagnostic report, and finds a solution based on the information described in the diagnostic report for a case that the wireless device does not solve. If it is a software bug, report the bug to the manufacturer and request a bug fix. After receiving a bug correction request, the manufacturer obtains detailed diagnostic information data from the diagnostic database via the network, investigates the cause of the bug, identifies the bug location, and corrects the software bug.

図2は、システムフリーズの診断・復旧手順を示す説明図である。診断エンジンはシステムが正常時にプロセスとシステムリソースの状態の観察10を行い、デッドロックを起こす可能性のあるプロセス間のシステムリソース割付をしないようにしてデッドロックの回避11を図る。発生したデッドロックに対して、観察10によって収集されたプロセスとシステムリソースの情報を用いて診断12を行い、デッドロックを検出して、デッドロックになったプロセスをすべて又は一つずつ終了させてシステムリソースを開放し、システムの復旧13を行う。部分的にプロセスを終了させる場合は、プロセスの終了手順が基準として利用者データ(例えば入力したメール)に関わりのないプロセスから終了させて、利用者の作成中データ(例えば送信メールを作成する途中)を優先的に保護する。  FIG. 2 is an explanatory diagram showing a procedure for diagnosis / recovery of system freeze. The diagnosis engine observes the state 10 of the process and system resources when the system is normal, and avoids deadlock 11 by avoiding allocation of system resources between processes that may cause deadlock. Diagnose 12 using the process and system resource information collected by observation 10 for the deadlock that occurred, detect the deadlock, and terminate all or one deadlocked process System resources are released and system recovery 13 is performed. If the process is partially terminated, the process termination procedure is terminated from a process that is not related to user data (for example, entered email), and data being created by the user (for example, while creating outgoing mail) ) Is preferentially protected.

図3は、上記の診断・復旧機能を実装するワイヤレスデバイスを示すブロック図である。図3に示している例では、本発明の診断・復旧を機能するワイヤレスデバイスに、診断エンジン20、マルチタスクの環境において走るプロセス群21、診断情報(システムリソース)22と通信部23を実装する。診断エンジン20は、ワイヤレスデバイス上のシステムに常駐し、発生する可能性のあるデッドロックの回避、発生したデッドロックの診断とシステムフリーズの復旧を行う。プロセス群21は、ワイヤレスデバイス上で高負荷の環境において起動しているマルチプロセスであり、診断エンジン20の診断対象である。診断情報(システムリソース)22は、各プロセスからアクセスするシステムリソースであり、プロセス間において起きうるデッドロックのソースとなる。通信部23は、システムフリーズ診断の結果を診断サーバに報告するときに診断サーバとの通信に通信プロトコル(例えばOMA−DM:Open mobile appliance−device management)を提供して診断データを伝送する手段である。  FIG. 3 is a block diagram showing a wireless device that implements the above diagnosis / recovery function. In the example shown in FIG. 3, a diagnosis engine 20, a process group 21 that runs in a multitasking environment, diagnosis information (system resources) 22, and a communication unit 23 are mounted on a wireless device that functions for diagnosis and recovery according to the present invention. . The diagnosis engine 20 resides in the system on the wireless device, avoids a deadlock that may occur, diagnoses the generated deadlock, and recovers the system freeze. The process group 21 is a multi-process activated in a high-load environment on the wireless device, and is a diagnosis target of the diagnosis engine 20. The diagnostic information (system resource) 22 is a system resource accessed from each process, and becomes a source of deadlock that may occur between processes. The communication unit 23 is a means for providing a communication protocol (for example, OMA-DM: Open mobile application-device management) for communication with the diagnostic server when reporting the result of the system freeze diagnosis to the diagnostic server, and transmitting diagnostic data. is there.

図4は、メモリの競合によって発生するデッドロックの一例を示す説明図である。図2に示す例では、利用可能なメモリが100KBになったときに、システムがプロセスA30とプロセスB31からそれぞれ50KBと30KBのメモリ要求に対してメモリの割付を許可する。次に、プロセスA30とプロセスB31が割り付けたメモリを握ったまま、さらにそれぞれ30KBと30KBのメモリ要求に対して、割り付けられるメモリがないので、プロセスAとプロセスBが互いに待つことになり、強制的に必要なメモリを開放しない限り、デッドロックとなる。  FIG. 4 is an explanatory diagram illustrating an example of a deadlock that occurs due to memory contention. In the example shown in FIG. 2, when the available memory reaches 100 KB, the system permits memory allocation to 50 KB and 30 KB memory requests from process A 30 and process B 31, respectively. Next, while holding the memory allocated by process A30 and process B31, and there is no memory allocated for 30KB and 30KB memory requests, respectively, process A and process B will wait for each other, forcing Unless the necessary memory is released, deadlock occurs.

デッドロックが上記のように限られたシステムリソースを共用するときに起きるだけでなく、プロセス間のメッセージ通信にも起きる。図5は、プロセス間においてメッセージの通信競合によって発生するデッドロックの一例を示す説明図である。プロセスC32がプロセスD33と同時に相手からのメッセージを待つことになると、メッセージの送信ができなくなり、プロセスCとプロセスDの間においてメッセージ受信がブロックされ、双方がデッドロックになってしまう。  Not only does a deadlock occur when sharing limited system resources as described above, it also occurs in message communication between processes. FIG. 5 is an explanatory diagram illustrating an example of a deadlock that occurs due to message communication contention between processes. If the process C32 waits for a message from the other party at the same time as the process D33, the message cannot be transmitted, the message reception is blocked between the process C and the process D, and both are deadlocked.

システムリソースの競合によるデッドロックは、リソース割付の基準を設け、デッドロックの発生を回避することができる。プロセス間のメッセージ通信競合によるデッドロックは、簡単に回避することができないが、診断してシステム設計上の問題(デッドロックになるパス)を究明することができる。  Deadlock due to contention of system resources can set a resource allocation standard and avoid the occurrence of deadlock. Deadlock due to contention between messages in processes cannot be easily avoided, but it can be diagnosed to find out system design problems (paths that lead to deadlocks).

図6は、ワイヤレスデバイス上にあるシステムリソースの一例を示す説明図である。デッドロック診断に必要となる情報は、メモリ40、データ41とセマファ42がある。システムリソース43は、これらの情報データから構成される。メモリ40は、プロセスが共用するリソースであり、使用すると利用可能な領域が少なくなるので、高負荷の環境中に競合が起きやすいリソースである。データ41は、ファイルやデータベースであり、同じデータに対して複数のプロセスからアクセスされるときに、競合が起きる可能性があるリソースである。セマファ42は、共用されるデータに対して複数のプロセスからのアクセスを制御するためのシグナルであり、複数のプロセスがこのシグナルを永遠に待ち続けるとデッドロックになる。  FIG. 6 is an explanatory diagram illustrating an example of system resources on the wireless device. Information necessary for deadlock diagnosis includes a memory 40, data 41, and a semaphore 42. The system resource 43 includes these pieces of information data. The memory 40 is a resource shared by processes, and since the available area decreases when used, the memory 40 is a resource that is likely to compete in a high-load environment. The data 41 is a file or a database, and is a resource that may cause a conflict when the same data is accessed from a plurality of processes. The semaphore 42 is a signal for controlling access from a plurality of processes to shared data, and a deadlock occurs when a plurality of processes continuously wait for this signal.

図7は、これまでの実施例の中に記載してあったデッドロックの回避実施例を示す説明図である。デッドロックを回避するために、システムのプロセス管理モジュールとリソース管理モジュールの中に新たにAPI(Application interface)を組み込み、プロセスの起動要求とプロセスからのリソース要求があるときに、要求に答える審査を行う。図7に示す例では、プロセス管理モジュールがプロセスの起動要求を受けたときに、直ちにはそのプロセス21を起動しない。プロセス管理モジュール50に組み込まれているAPI51が診断エンジン20にシステムリソースをチェックするリクエストを送る。診断エンジン20がシステムリソースを調べ、利用可能なシステムリソース情報をAPI51に送り返す。API51がこのシステムリソース情報を基にプロセス21の必要なシステムリソースを割り付けることによってデッドロックにならないのであれば、プロセス21の起動を許可する。許可しない場合は、プロセス21の起動をデッドロックになる可能性がなくなるまで保留する。プロセス起動許可の判断基準として、前に述べたように、利用可能なシステムリソースが10%以下になるプロセスの起動を許可しない。  FIG. 7 is an explanatory diagram showing an embodiment of avoiding deadlock described in the embodiments so far. In order to avoid deadlocks, API (Application interface) is newly incorporated in the process management module and resource management module of the system, and when there is a process activation request and a resource request from the process, an examination to answer the request is performed. Do. In the example shown in FIG. 7, when the process management module receives a process activation request, the process 21 is not activated immediately. An API 51 incorporated in the process management module 50 sends a request to the diagnostic engine 20 to check system resources. The diagnostic engine 20 examines system resources and sends back available system resource information to the API 51. If the API 51 does not cause a deadlock by allocating necessary system resources of the process 21 based on this system resource information, the process 21 is permitted to start. If not permitted, the process 21 is suspended until there is no possibility of deadlock. As described above, as a determination criterion for process activation permission, activation of a process whose available system resource is 10% or less is not permitted.

また、リソース管理モジュールが実行中のプロセスからのリソース割付要求に対して直ちにその要求を許可するのでなく、そのリソースを割り付けることによってデッドロックになるかどうかの審査を行う。図7に示す例では、リソース管理52がプロセス21からリソース割付の要求があったときに、リソース管理モジュールに組み込まれているAPI53を呼び出して、診断エンジン20にいままでプロセス21のリソース要求履歴を調べるリクエストを送る。診断エンジン20がプロセス21のリソース割付履歴を調べ、もしこのプロセス21が連続して増大する要求であれば、デッドロックを起こす恐れがあるので、引き続きのリソース割付を許可しない。判断基準として、前に述べたように、利用可能なシステムリソースが10%以下になるリソース割付を許可しない。履歴調査の結果が診断エンジン20からAPI53に返される。リソース管理モジュールがこの結果に基づいて、プロセス21に新たにリソースの割付を許可するかどうかを判断する。許可しない場合は、デッドロックの可能性がなくなるまで、プロセス21へのリソース割付を保留する。  In addition, the resource management module does not immediately permit a resource allocation request from a process being executed, but checks whether a deadlock is caused by allocating the resource. In the example shown in FIG. 7, when the resource management 52 receives a resource allocation request from the process 21, the API 53 incorporated in the resource management module is called, and the resource request history of the process 21 is stored in the diagnostic engine 20 so far. Send a request to check. The diagnosis engine 20 checks the resource allocation history of the process 21, and if the process 21 is a request that continuously increases, a deadlock may occur, so that subsequent resource allocation is not permitted. As described above, as described above, resource allocation that allows 10% or less of the available system resources is not permitted. The result of the history investigation is returned from the diagnosis engine 20 to the API 53. Based on this result, the resource management module determines whether or not to permit the process 21 to newly allocate resources. If not permitted, resource allocation to the process 21 is suspended until the possibility of deadlock disappears.

図8は、システムフリーズの診断・復旧実施の一例を示す説明図である。プロセス間のデッドロックを回避できなかった場合は、システムフリーズになり、システムを再起動しなければならない状況になる。本発明は、システム全体がフリーズになる前に、部分的にデットロックになったプロセスを終了させ、システムリソースを開放し、システムをフリーズから復旧することを図る。図8で示す例では、プロセスE60とプロセスF61の間において例えば図4に示したようなデッドロック(Hold−and−wait)が起きた場合に、診断エンジン20がシステムリソース22とスリープになっているプロセスに対して診断を行い、デッドロックが起きたプロセスE70とプロセスF71を検出する。デッドロックを検出する基準として、前に述べたように、長い間にスリープし、活動のないプロセスがデッドロックにある。診断エンジン20がデッドロックになったプロセスE70とプロセスF71に対して一つずつ又はすべてのプロセスを終了させてシステムリソースを開放する処置を取って、システム全体へ広げるデットロックを抑え、システムフリーズを回避する。  FIG. 8 is an explanatory diagram showing an example of system freeze diagnosis / recovery implementation. If deadlock between processes cannot be avoided, the system freezes and the system must be restarted. The present invention seeks to terminate a partially deadlocked process before releasing the entire system, freeing system resources, and recovering the system from freeze. In the example shown in FIG. 8, when a deadlock (Hold-and-wait) as shown in FIG. 4 occurs between the process E60 and the process F61, the diagnosis engine 20 goes into sleep with the system resource 22. The process E70 and the process F71 in which deadlock has occurred are detected. As a criterion for detecting deadlocks, as described above, a process that sleeps for a long time and has no activity is in deadlock. The diagnostic engine 20 takes one or all of the processes E70 and F71 that have become deadlocked and terminates all the processes to release system resources. To avoid.

図9は、ネットワークを通した診断結果報告実施の一例を示す説明図である。図9に示す例では、診断エンジン20が診断結果をリクエスト70に載せてOTA(ワイヤレスネットワーク)を通して診断サーバ02に送り、診断サーバがその診断レポートを受信した後に診断レポートを処理し、データベースに登録して、診断エンジン20にその処理結果をレスポンスとして診断エンジン20に送る。  FIG. 9 is an explanatory diagram showing an example of diagnosis result report execution through the network. In the example shown in FIG. 9, the diagnosis engine 20 places the diagnosis result in the request 70 and sends it to the diagnosis server 02 through the OTA (wireless network). After the diagnosis server receives the diagnosis report, the diagnosis report is processed and registered in the database. Then, the processing result is sent to the diagnosis engine 20 as a response to the diagnosis engine 20.

本発明によるワイヤレスデバイスのデッドロック診断と復旧方法を実現することができる診断システムの構成を示すブロック図である。1 is a block diagram showing a configuration of a diagnostic system capable of realizing a wireless device deadlock diagnosis and recovery method according to the present invention. FIG. デッドロックの回避とシステムフリーズ診断・復旧を実施する手順の一例を示す説明図である。It is explanatory drawing which shows an example of the procedure which implements avoidance of a deadlock and system freeze diagnosis and recovery. ワイヤレスデバイスにデッドロック診断・復旧機能を実装する一例を示すブロック図である。It is a block diagram which shows an example which implements a deadlock diagnosis / recovery function in a wireless device. ワイヤレスデバイス上でメモリの競合によって発生するデッドロックの一例を示す説明図である。It is explanatory drawing which shows an example of the deadlock which generate | occur | produces by the competition of memory on a wireless device. ワイヤレスデバイス上でシグナルの競合によって発生するデッドロックの一例を示す説明図である。It is explanatory drawing which shows an example of the deadlock which generate | occur | produces by the competition of a signal on a wireless device. ワイヤレスデバイスの記憶領域に保存される診断情報(システムリソース)の一例を示す説明図である。It is explanatory drawing which shows an example of the diagnostic information (system resource) preserve | saved at the storage area of a wireless device. デッドロックの回避実施の一例を示す説明図である。It is explanatory drawing which shows an example of avoidance implementation of a deadlock. デッドロックの診断・復旧実施の一例を示す説明図である。It is explanatory drawing which shows an example of deadlock diagnosis and recovery implementation. 診断結果の報告実施の一例を示す説明図である。It is explanatory drawing which shows an example of report implementation of a diagnostic result.

符号の説明Explanation of symbols

01 ワイヤレスデバイス(携帯電話、携帯端末)
02 診断サーバ
03 診断データベース
04 ワイヤレスネットワーク
20 診断エンジン
21 プロセス群
22 診断情報(システムリソース)
23 通信部
30 プロセスA
31 プロセスB
32 プロセスC
33 プロセスD
40 システムリソースであるメモリ
41 システムリソースであるデータ
42 システムリソースであるセマファ
43 診断用データ保存部
50 プロセス管理部
51 プロセスからのシステムリソース要求をチェックするAPI
52 システムリソース管理部
53 プロセスに割り付けたシステムリソースの履歴をチェックするAPI
60 プロセスE
61 プロセスF
70 リクエスト・メッセージ
71 レスポンス・メッセージ
01 Wireless devices (cell phones, portable terminals)
02 diagnostic server 03 diagnostic database 04 wireless network 20 diagnostic engine 21 process group 22 diagnostic information (system resource)
23 Communication unit 30 Process A
31 Process B
32 Process C
33 Process D
40 Memory as a system resource 41 Data as a system resource 42 Semaphore as a system resource 43 Diagnosis data storage unit 50 Process management unit 51 API for checking a system resource request from a process
52 System Resource Manager 53 API for checking the history of system resources allocated to processes
60 Process E
61 Process F
70 Request message 71 Response message

Claims (5)

少なくともひとつのプロセッサとひとつのソフトウェア・アプリケーションをもち、中に搭載するプロセッサによって自動的にプロセス間に起きるデッドロックを回避し、発生したデッドロックを診断してフリーズになるシステムを復旧するワイヤレスデバイスと、ワイヤレスネットワークを通してワイヤレスデバイスと接続できる遠隔地に置かれる診断サーバから構成するシステムフリーズの診断・復旧システム。  A wireless device that has at least one processor and one software application, automatically avoids deadlocks between processes by the onboard processor, diagnoses deadlocks and restores the system to freeze A system freeze diagnostic / recovery system consisting of a diagnostic server located in a remote location that can be connected to a wireless device through a wireless network. 請求項1に記載するワイヤレスデバイス上で起きるプロセス間のデッドロックの回避メソッド。本メソッドは、プロセス間のデッドロックを回避するためにワイヤレスデバイス上でシステムのプロセスとリソースに関する情報を収集する。収集した情報の中には、プロセスの間において起きるデッドロックを回避するために利用できる情報として少なくともひとつを含む。  A method for avoiding deadlock between processes occurring on a wireless device according to claim 1. This method collects information about system processes and resources on the wireless device to avoid inter-process deadlocks. The collected information includes at least one piece of information that can be used to avoid a deadlock that occurs during the process. 請求項1に記載するワイヤレスデバイス上で起きるシステム全体に広がるシステムフリーズの診断メソッド。本メソッドは、ワイヤレスデバイス上でシステムに走るプロセスの動作状態とシステムリソースの利用状態を観察し、複数のプロセス間において起きたデッドロックの診断を行うために情報を収集する。収集した情報の中には、プロセス間のデッドロックを検出するために利用できる情報として少なくともひとつを含む。この情報に基づいて、ワイヤレスデバイス上で発生したシステムフリーズの場所(プロセス)を特定し、システムフリーズが発生した原因を診断する。  A system-free diagnostic method that spans the entire system that occurs on a wireless device according to claim 1. This method observes the operating state of the process running on the system on the wireless device and the utilization state of system resources, and collects information to diagnose deadlocks that occurred between multiple processes. The collected information includes at least one piece of information that can be used to detect a deadlock between processes. Based on this information, the location (process) of the system freeze that occurred on the wireless device is identified and the cause of the system freeze occurring is diagnosed. 請求項1に記載するワイヤレスデバイスのシステムフリーズの復旧メソッド。本復旧メソッドは、診断結果に基づいて発生したシステムフリーズに対応する処置をとり、システムを復旧する。  The system freeze recovery method of the wireless device according to claim 1. This restoration method takes action corresponding to the system freeze that occurred based on the diagnosis result, and restores the system. 請求項1に記載するワイヤレスデバイスのシステムフリーズの診断結果報告メソッド。本診断結果報告メソッドは、OTA(Over−the−air:ワイヤレスネットワーク)を通して診断結果を診断サーバに報告してデータベースに登録する。The method for reporting a system freeze diagnostic result of the wireless device according to claim 1. This diagnosis result report method reports a diagnosis result to a diagnosis server through OTA (Over-the-air: wireless network) and registers it in the database.
JP2005258451A 2005-08-09 2005-08-09 System freeze diagnostics and restoration technique applied to wireless device Pending JP2007048247A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005258451A JP2007048247A (en) 2005-08-09 2005-08-09 System freeze diagnostics and restoration technique applied to wireless device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005258451A JP2007048247A (en) 2005-08-09 2005-08-09 System freeze diagnostics and restoration technique applied to wireless device

Publications (1)

Publication Number Publication Date
JP2007048247A true JP2007048247A (en) 2007-02-22

Family

ID=37850998

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005258451A Pending JP2007048247A (en) 2005-08-09 2005-08-09 System freeze diagnostics and restoration technique applied to wireless device

Country Status (1)

Country Link
JP (1) JP2007048247A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009271858A (en) * 2008-05-09 2009-11-19 Toshiba Corp Computing system and program
CN115061881A (en) * 2022-07-12 2022-09-16 苏州硕实电子科技有限公司 Method for monitoring and debugging multi-thread network equipment

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009271858A (en) * 2008-05-09 2009-11-19 Toshiba Corp Computing system and program
CN115061881A (en) * 2022-07-12 2022-09-16 苏州硕实电子科技有限公司 Method for monitoring and debugging multi-thread network equipment

Similar Documents

Publication Publication Date Title
CN103201724B (en) Providing application high availability in highly-available virtual machine environments
CN105357042B (en) A kind of highly available cluster system and its host node and from node
CN107729213B (en) Background task monitoring method and device
CN109299064B (en) Database monitoring method and terminal equipment
WO2016000298A1 (en) System exception capturing method, main system, shadow system and intelligent device
CN109766198B (en) Stream processing method, device, equipment and computer readable storage medium
CN111625383A (en) Process abnormal event processing method and device, electronic equipment and storage medium
CN112445686A (en) Memory leak detection method, device and computer-readable storage medium
US9092396B2 (en) Standby system device, a control method, and a program thereof
CN110881224A (en) Network long connection method, device, equipment and storage medium
JP2003173272A (en) Information processing system, information processor and maintenance center
US8677323B2 (en) Recording medium storing monitoring program, monitoring method, and monitoring system
JP2007207213A (en) Diagnostic information collecting method applied to real-time diagnosis of wireless device
CN109062718B (en) Server and data processing method
JP2007048247A (en) System freeze diagnostics and restoration technique applied to wireless device
CN104424043B (en) A kind of application platform and the method and system isolated extremely between plug-in unit
CN115190052A (en) Long connection management method, system and control unit
CN116149932A (en) Method and device for detecting software system state and electronic equipment
CN111414270B (en) Exception handling method and device
CN113849350A (en) Ring-shaped two-place three-center topology switching method, device, system and medium
CN111857689A (en) Framework, function configuration method of framework, terminal and storage medium
CN100501699C (en) Method and system for capturing and storing bare nucleus in exception in multi-core processor
CN111542048A (en) Method and device for restarting acquisition function of code detection equipment, server and storage medium
CN113722142B (en) Method and device for analyzing reasons of insufficient memory, electronic equipment and storage medium
CN113687929B (en) Exception handling method and related device