JP2007048247A - System freeze diagnostics and restoration technique applied to wireless device - Google Patents
System freeze diagnostics and restoration technique applied to wireless device Download PDFInfo
- 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
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
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に記載された方法がある。その方法では、保守情報を保存する保守情報記憶領域が記憶部に確保され、保守情報を保守情報記憶領域に書き込むとともに保守情報記憶領域から保守情報を読み出して表示部に表示させる。
しかし、特許文献1に記載された方法では、保守情報しか記録していないので、一定のハードウェアに関する故障や不具合しか判定することができない。上述のように、携帯電話機は様々な機能を実現できるようになっているので、システムフリーズの問題がソフトウェアが原因となって発生するために、ハードウェアに関する故障や不具合しか判定できないのでは、ユーザに対するカスタマサポート・サービスとして不十分である。また、特許文献1に記載された方法では、修理受付窓口への持込みが必要とされている。しかし、そのようなやり方では、数百万台の携帯電話で一斉に発生したシステムフリーズの問題に対応することが不可能である。 However, since only the maintenance information is recorded in the method described in
そこで、本発明は、特別な機能に限定することなく、ワイヤレスデバイスにおいてあらゆるアプリケーションがあらゆるタイミングで起動することが原因でシステムフリーズが発生した場合に、修理受付窓口へ持ち込む必要もなく、リアルタイムで診断してシステムを復旧することができる方法、この方法を実現したソフトウェアおよびこのソフトウェアを実装したワイヤレスデバイスを提供することを目的とする。 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
事業者のカスタマサポートから、この診断レポートを見ることができる。事業者のカスタマサポートは、この診断レポートをチェックして、ワイヤレスデバイス側で解決しなかったケースに対して、診断レポートに記載する情報に基づいて、解決方法を見つける。ソフトウェア上のバグであれば、メーカに対してバグ報告を行い、バグ修正を依頼する。メーカが、バグ修正依頼を受けた後に、ネットワーク経由で診断データベースから詳細な診断情報データを取り寄せて、バグの原因を調べ、バグの場所を特定し、ソフトウェア上のバグを修正する。 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
図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
図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
デッドロックが上記のように限られたシステムリソースを共用するときに起きるだけでなく、プロセス間のメッセージ通信にも起きる。図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
図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
また、リソース管理モジュールが実行中のプロセスからのリソース割付要求に対して直ちにその要求を許可するのでなく、そのリソースを割り付けることによってデッドロックになるかどうかの審査を行う。図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
図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
図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
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
23
31 Process B
32 Process C
33 Process D
40 Memory as a system resource 41 Data as a
52 System Resource Manager 53 API for checking the history of system resources allocated to processes
60 Process E
61 Process F
70
Claims (5)
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)
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 |
-
2005
- 2005-08-09 JP JP2005258451A patent/JP2007048247A/en active Pending
Cited By (2)
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 |