JP6952058B2 - メモリ使用量判断技術 - Google Patents
メモリ使用量判断技術 Download PDFInfo
- Publication number
- JP6952058B2 JP6952058B2 JP2018558658A JP2018558658A JP6952058B2 JP 6952058 B2 JP6952058 B2 JP 6952058B2 JP 2018558658 A JP2018558658 A JP 2018558658A JP 2018558658 A JP2018558658 A JP 2018558658A JP 6952058 B2 JP6952058 B2 JP 6952058B2
- Authority
- JP
- Japan
- Prior art keywords
- stack
- thread
- seasonal
- segmentinfo
- measurements
- 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
Links
- 238000005516 engineering process Methods 0.000 title description 5
- 230000001932 seasonal effect Effects 0.000 claims description 260
- 238000000034 method Methods 0.000 claims description 139
- 238000005259 measurement Methods 0.000 claims description 66
- 230000008569 process Effects 0.000 claims description 63
- 230000001788 irregular Effects 0.000 claims description 32
- 230000006870 function Effects 0.000 claims description 24
- 238000012417 linear regression Methods 0.000 claims description 23
- 239000006185 dispersion Substances 0.000 claims description 6
- 238000009966 trimming Methods 0.000 claims description 4
- 238000003860 storage Methods 0.000 description 37
- 238000005070 sampling Methods 0.000 description 36
- 230000000875 corresponding effect Effects 0.000 description 29
- 238000012545 processing Methods 0.000 description 29
- 238000007726 management method Methods 0.000 description 27
- 238000004891 communication Methods 0.000 description 25
- 238000009499 grossing Methods 0.000 description 22
- 230000004044 response Effects 0.000 description 21
- 238000012544 monitoring process Methods 0.000 description 18
- 238000004519 manufacturing process Methods 0.000 description 17
- 238000009826 distribution Methods 0.000 description 14
- 230000006835 compression Effects 0.000 description 11
- 238000007906 compression Methods 0.000 description 11
- 238000004458 analytical method Methods 0.000 description 10
- 238000012360 testing method Methods 0.000 description 10
- 230000008859 change Effects 0.000 description 8
- 238000001514 detection method Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 8
- 238000005457 optimization Methods 0.000 description 8
- 239000000243 solution Substances 0.000 description 8
- 230000007704 transition Effects 0.000 description 7
- 230000009471 action Effects 0.000 description 6
- 230000002596 correlated effect Effects 0.000 description 6
- 239000012636 effector Substances 0.000 description 6
- 238000013459 approach Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000003044 adaptive effect Effects 0.000 description 4
- 239000011521 glass Substances 0.000 description 4
- 230000008520 organization Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 230000009467 reduction Effects 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- 230000007774 longterm Effects 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 238000012552 review Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 241000699670 Mus sp. Species 0.000 description 2
- 238000000692 Student's t-test Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 229910052739 hydrogen Inorganic materials 0.000 description 2
- 238000002347 injection Methods 0.000 description 2
- 239000007924 injection Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013450 outlier detection Methods 0.000 description 2
- 238000001558 permutation test Methods 0.000 description 2
- 235000019633 pungent taste Nutrition 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 1
- 241000238558 Eucarida Species 0.000 description 1
- 241000700605 Viruses Species 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000004397 blinking Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000002591 computed tomography Methods 0.000 description 1
- 238000010219 correlation analysis Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 239000004615 ingredient Substances 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000002595 magnetic resonance imaging Methods 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000002600 positron emission tomography Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 238000012882 sequential analysis Methods 0.000 description 1
- 238000013179 statistical model Methods 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 238000004454 trace mineral analysis Methods 0.000 description 1
- 238000002604 ultrasonography Methods 0.000 description 1
- 230000003442 weekly effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3037—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3442—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for planning or managing the needed capacity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3452—Performance evaluation by statistical analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
- G06F11/3612—Software analysis for verifying properties of programs by runtime analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5022—Mechanisms to release resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5044—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5055—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5003—Managing SLA; Interaction between SLA and QoS
- H04L41/5009—Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3471—Address tracing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/86—Event-based monitoring
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Data Mining & Analysis (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Human Computer Interaction (AREA)
- Operations Research (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
本願は、2017年5月5日に出願され、「Memory Usage Determination Techniques(メモリ使用量判断技術)」と題された米国通常出願第15/588,526号、2016年5月9日に出願され、「Memory Usage Determination Techniques(メモリ使用量判断技術)」と題された米国仮出願第62/333,798号、2016年5月9日に出願され、「Correlation of Thread Intensity and Heap Usage to Identify Heap-Hoarding Stack Traces(ヒープをため込んでいるスタックトレースを特定するための、スレッド強度とヒープ使用量との相関)」と題された米国仮出願第62/333,786号、2016年5月9日に出願され、「Compression Techniques for Encoding Stack Traces Information(スタックトレース情報を符号化するための圧縮技術)」と題された米国仮出願第62/333,804号、2016年5月9日に出願され、「Correlation of Stack Segment Intensity in Emergent Relationships(出現した関係におけるスタックセグメント強度の相関)」と題された米国仮出願第62/333,811号、2016年5月9日に出願され、「Systems and Methods of Stack Trace Analysis(スタックトレース分析のシステムおよび方法)」と題された米国仮出願第62/333,809号、2016年5月23日に出願され、「Characterization of Segments of Time-Series(時系列のセグメントの特徴づけ)」と題された米国仮出願第62/340,256号、2017年5月5日に出願され、「Correlation of Thread Intensity and Heap Usage to Identify Heap-Hoarding Stack Traces(ヒープをため込んでいるスタックトレースを特定するための、スレッド強度とヒープ使用量との相関)」と題された米国通常出願第15/588,531号、2017年5月5日に出願され、「Compression Techniques for Encoding Stack Trace Information(スタックトレース情報を符号化するための圧縮技術)」と題された米国通常出願第15/588,523、および、2017年5月5日に出願され、「Correlation of Stack Segment Intensity in Emergent Relationships(出現した関係におけるスタックセグメント強度の相関)」と題された米国通常出願第15/588,521の国際出願であり、米国特許法第119条(e)の下で、これらの出願に基づく優先権の利益を主張するものであり、これらの出願のすべてを、あらゆる目的のために引用により本明細書に援用する。
一般に、クラウドサービスプロバイダは、顧客とのサービスレベル契約(SLA:Service Level Agreements)を満たすために運用資源を維持する。プロバイダは、クラウドサービスがSLAに適合していることを確実にするために、自身が提供するサービスのパフォーマンス評価指標を常時監視する。しかしながら、利用可能なツールが、差し迫ったSLA違反を予測または検出する機能を有していない場合があるので、この運用資源では、当該違反を避けることができないだろう。これに加えて、ツールは、SLA違反の根本的原因を診断する機能を有していない場合があるので、運用には、このような違反が生じたときにそれを解決するためにより多くの時間がかかってしまうだろう。その結果、カスタマーエクスペリエンスに悪影響を与えてしまう可能性がある。
複数の期間の季節指数を推定するための特定の手法を開示する。いくつかの実施形態は、ロバスト最小二乗回帰を利用して、特定のデータセットにおいて示される弱外生性および分散の不均一性を克服してもよい。
I.概要
下記の記載において、本開示の実施形態の十分な理解を与えるために、説明の便宜上、具体的な詳細を記載する。しかしながら、これらの具体的な詳細なしに様々な実施形態を実施してもよいことは明らかである。図面および説明は、限定を意図したものではない。
図1〜図2は、様々なスタックセグメントが互いに関連してどれくらいの間スレッドのコールスタック上に存在するのかを判断するために、実行中のスレッドをプロファイリングする手法を表す図である。図1は、一定期間にわたって1つのスレッド100のランタイムを比較的高い周波数の標本抽出レートでプロファイリングする例を示す。場合によっては、特定の手法は、ランタイムプロファイラを利用して、スレッドの複数のスタックトレース標本を出力し、図2に示す呼び出しコンテキストのツリー200を構成してもよい。ランタイムプロファイラが採用する標本抽出間隔がスレッドの実行時間と比較して短い場合、スレッドの呼び出しコンテキストごとの観測回数(すなわち、呼び出し回数)の統計データを使用して、標本抽出間隔に対する呼び出しコンテキストの実行時間を正確に推定および/または表すことができる。
様々な実施形態は、スレッドクラスを特定して当該スレッドクラスに関係する強度統計データを追跡するために1台以上の仮想マシン(たとえば、JVM)から出力された一連のスレッドダンプ標本を逐次解析するための手法を提供する。たとえば、仮想マシン内での1つ以上のマルチスレッドプロセスの実行中、制御システムは、仮想マシンのスレッドダンプを定期的に出力してもよい。このスレッドダンプによって、仮想マシンにおいて動作中のスレッド毎のスタックトレースができてもよい。受信するスタックトレースごとに、制御システムは、スタックトレースに含まれるテキストを解析して、関連するスレッドを分類し、すべてのスレッドクラスについて追跡された強度統計データをスタックトレースに基づいて更新してもよい。
特定の実施形態は、コンパクト符号の可変長シーケンスをスレッドのスタックトレースに割り当て得る。シーケンスの長さは、スレッドの強度によって異なる。例示的なスタックトレースを以下に示す。
分類シグネチャは、1つ以上のオブジェクト型を介してメモリで表されてもよい。具体的には、いくつかの実施形態は、ThreadClassificationInfoオブジェクトを用いてスレッドクラスの分類シグネチャ(すなわち、トレースシグネチャ)を表し、SegmentInfoオブジェクトを用いてスレッドセグメントの分類シグネチャ(すなわち、セグメントシグネチャ)を表し、StackFrameInfoオブジェクトを用いてスタックセグメント内の線形接続されたスタックフレームに含まれる各要素を表し、SeasonalTrendInfoオブジェクトを用いてスレッドクラスまたはスレッドセグメントの強度統計データをカプセル化して追跡してもよい。
図3は、いくつかの実施形態に係る、一定期間にわたる仮想マシン300のスレッドダンプの例を示す図である。図1の標本抽出間隔が100ミリ秒〜1秒であるランタイムプロファイリングとは対照的に、図3の制御システムが採用する標本抽出間隔は、標本抽出のオーバヘッドを低減するために、さらに長くてもよい(たとえば、20秒〜1分の間)。図3に示すように、2〜3つの標本抽出間隔内で、仮想マシン300内で動作中のプロセスは、スレッド302、304、306、308、310、および312を生成する。スレッド302〜312の各々は、動作中に別のコールスタックに関連付けられるので、スレッドダンプが出力されたときにスタックトレースを出力することができる。図3は、スレッドダンプN、スレッドダンプN+1、およびスレッドダンプN+2という、全部で3つの出力されるスレッドダンプを表す。
SegmentInfo(A,B,D).totalNumOfOccur = 1.
図4は、スタックトレース(A,B,D)に応答して登録された1つの分類シグネチャ450を含む分類シグネチャ400のセットを示す図である。図4から分かるように、分類シグネチャ450は、SegmentInfo(A,B,D)に対応する1つのノード402を含む。SegmentInfo(A,B,D)は、スタックトレースのすべてのスタックフレームa1〜d3の結合ノードとして示されている。
SegmentInfo(A,B,D).totalNumOfOccur = 2.
スレッドダンプN+1においてスタックトレース(A,C)が初めて観測された場合、制御システムは、スタックセグメント(A,B,D)内のスタックフレームのセット全体はもはや線形接続されていないと判断する。ここで、「A」で表されるスタックフレームのセットのうちの最後のスタックフレーム(たとえば、スタックトレースの上から下へと進む)と、「B,D」で表されるスタックフレームのセットのうちの最初のスタックフレームとの間に分岐点が存在する。なぜならば、どのようなスタックトレースにおいても、最後のスタックフレームに続く次のスタックフレームは、(1)(B,D)のうちの最初のスタックフレーム、または(2)「C」で表されるスタックフレームのセットのうちの最初のスタックフレームであるからである。したがって、制御システムは、ノードSegmentInfo(A)およびSegmentInfo(B,D)を作成してこれら2つのノードをSegmentInfo(A,B,D)の子ノードに割り当てることによって、スタックセグメント(A,B,D)をスタックセグメント(A)とスタックセグメント(B,D)とに分割してもよい。スタックトレース(A,C)については、制御システムは、ノードSegmentInfo(C)を作成することによってスタックセグメント(C)を初期化し、SegmentInfo(A)およびSegmentInfo(C)をスタックトレース(A,C)の分類シグネチャとして含む順序組を登録してもよい。
SeasonalTrendInfo(B,D) <-SeasonalTrendInfo(A,B,D)
SeasonalTrendInfo(C) <- new SeasonalTrendInfo
また、制御システムは、上記SegmentInfoノードを、以下のように更新してもよい。
SegmentInfo(A).totalNumOfOccur = 3
SegmentInfo(C).numOfOccur = 1
SegmentInfo(C).totalNumOfOccur = 1
図5は、分類シグネチャ450と、スタックトレース(A,C)を初めて観測したことに応答して生成された新しい分類シグネチャ550とを含む、分類シグネチャ500のセットを示す図である。図5から分かるように、ここで、分類シグネチャ450は、ノード402、ノード502、およびノード504という3つのノードを含む。ノード402は、SegmentInfo(A,B,D)に対応し、これは、ノード502およびノード504の結合ノードである。ノード502は、SegmentInfo(A)に対応し、スタックフレームa1〜a3を結合する。ノード504は、SegmentInfo(B,D)に対応し、スタックフレームb1〜d3を結合する。分類シグネチャ550は、スタックフレームa1〜a3を結合するものとして示されるSegmentInfo(A)に対応するノード506、および、スタックフレームc1〜c3を結合するものとして示されるSegmentInfo(C)に対応するノード508という2つのノードを含む。
SeasonalTrendInfo(D) <-SeasonalTrendInfo(B,D)
SeasonalTrendInfo(E) <- new SeasonalTrendInfo
また、制御システムは、上記SegmentInfoノードを、以下のように更新してもよい。
SegmentInfo(A).totalNumOfOccur = 4
SegmentInfo(B).numOfOccur = 1
SegmentInfo(B).totalNumOfOccur = 3
SegmentInfo(E).numOfOccur = 1
SegmentInfo(E).totalNumOfOccur = 1
図6は、分類シグネチャ450および550と、スタックトレース(A,B,E)に応答して生成された新しい分類シグネチャ650とを含む、分類シグネチャ600を示す図である。図6から分かるように、ここで、分類シグネチャ450は、ノード402、ノード502、ノード504、ノード602、およびノード604という5つのノードを含む。ノード504は、SegmentInfo(B,D)に対応し、これは、ノード602とノード604との結合ノードである。ノード602は、SegmentInfo(B)に対応し、スタックフレームb1〜b3を結合する。ノード604は、SegmentInfo(D)に対応し、これは、スタックフレームd1〜d3の結合ノードである。分類シグネチャ550は変更されていない。分類シグネチャ650は、スタックフレームa1〜a3を結合するものとして示されるSegmentInfo(A)に対応するノード606、スタックフレームb1〜b3を結合するものとして示されるSegmentInfo(B)に対応するノード608、およびスタックフレームe1〜e3を結合するものとして示されるSegmentInfo(E)に対応するノード610という3つのノードを含む。
Thread2 ->(A)(C)
Thread3 ->(A)(B)(E)
(A,B,D) ->(A)(B,D)
(B,D) ->(B)(D)
A -> a1,a2,a3
B -> b1,b2,b3
C -> c1,c2,c3
D -> d1,d2,d3
E -> e1,e2,e3
上記から分かるように、個々のスタックフレームai、bi、ci、di、eiが文法の終端であるのに対して、SegmentInfoノードは、非終端である。いくつかの実施形態は、スタックトレースのスタックフレームを、スタックトレースの下から上に(下記の表記法において左から右の方向に)構文解析できる。
(A),b1,b2,b3,d1,d2,d3 生成規則(A)->a1,a2,a3を使用
(A),(B),d1,d2,d3 生成規則(B)->b1,b2,b3を使用
(A),(B),(D) 生成規則(D) -> d1,d2,d3を使用
(A),(B,D) 生成規則(B,D) -> (B)(D)を使用
(A,B,D) 生成規則(A,B,D) -> (A),(B,D)を使用
Thread1 生成規則Thread1 -> (A,B,D)を使用
上記から分かるように、いくつかの実施形態は、上向き構文解析によってスタックフレームを解析できる。上向き構文解析は、シフト還元構文解析または左から右への「LR」構文解析と同様であり得る。この解析には、木の葉から根に向かって解析を進めていくことによってスタックトレースの解析木を構成するために、スタックフレームおよびSegmentInfoノードをシフト還元することが必要になり得る。いくつかの実施形態は、スレッドのスタックトレースの先の出現についての解析木を合成し、別の出現のスレッドのスタックトレースを、同じ解析木に還元する(すなわち、シフト還元構文解析、左から右に読む「LR」構文解析)ことによって解析する。分類木の各ノードは、スタックトレースのクラスのコンパクトラベルで有り得、分類木の根は、スレッドのクラスのコンパクトラベルで有り得る。
いくつかの実施形態は、制御システムに時系列データのヒープ割当て(すなわち、ヒープ使用量)を監視させて、トレンドを推定したり、将来の仮想マシン内のメモリ使用量を予測したりしてもよい。季節トレンドを検出して記憶容量要件を予測することによって、いくつかの実施形態は、共有システムメモリを仮想マシン間で動的に再割り当てすることができ、リソース割り当てを柔軟にすることができる。容量要件の予測には、ヒープの増加率の推定が必要である場合がある。標本の正確さを確実にするために、フルガベージコレクション(GC)サイクルの間にヒープ割当てを測定してもよい。GCサイクルは、不規則な間隔で発生する。ヒープ増加率の推定には、ランダム間隔による分割が必要である場合があり、断続的に気まぐれにゼロに近づく不規則な間隔により、複雑になっている。増加率の測定値におけるノイズは、コーシー分布をもたらす2つのガウス分布の割合であり、ガウス分布は、フィルタリングすることが難しい。多数のデータ点では、1つのデータ点よりも、平均および標準偏差を正確に推定できない、という意味では、コーシー分布の平均および標準偏差は未定義である。標本のプールが大きくなると、時間近接間隔による分割に対応する大きな絶対値を有する標本点に遭遇する可能性が上昇し得る。
様々な実施形態は、マルチスレッドアプリケーションによって生成された様々なスレッドのクラスの強度統計データとヒープ使用量統計データとの間でトレンドを相関させることによってアプリケーション内のヒープをため込んでいるスタックトレース(すなわち、スレッドのクラス)を特定するための手法を提供する。そうすることで、いくつかの実施形態は、ヒープ使用量統計データに基づいて、1つ以上のマルチスレッドアプリケーションがソフトウェア実行環境内で実行中の期間内で、高いヒープ使用量が大きい傾向にある季節(すなわち、ヒープ使用量が高い季節)を特定してもよい。上に説明したように、次に、いくつかの実施形態は、ヒープ使用量が高い季節と同じ期間にソフトウェア実行環境から取得したスレッドダンプの解析によって、複数のスレッドのクラスの強度統計データを特定および収集してもよい。次に、いくつかの実施形態は、特定されたクラスのスレッドの強度統計データとヒープ使用量が高いトレンドとの相関度合いによってスレッドのクラスをランク付けすることによって、特定されたクラスのスレッドの中から「ヒープをため込んでいる」スレッドのクラス(すなわち、ヒープをため込んでいるスタックトレース)を特定してもよい。
非効率なメモリ使用の一般的な原因の1つは、スレッドのスタックフレームにおいて定義されたローカル変数によるものである。一般に、実行中のスレッドがオブジェクトをインスタンス化した場合、そのオブジェクトは、ヒープメモリを、オブジェクトを(直接または間接的に)参照するスタックフレームの数がヒープメモリが次のガベージコレクションにおいて解放されるゼロになるまで、占有する。したがって、長い間稼働したままであるスタックフレームから大きなオブジェクトを参照するローカル変数は、ヒープメモリ使用量の大きな一因に意図せずになってしまう可能性がある。なぜならば、このようなローカル変数は、オブジェクトをガベージコレクションさせないからである。
fileOS.write(buffer.toString().getBytes());
いくつかの実施形態は、ヒープをため込んでいるスレッドのスタックフレームに含まれるローカル変数によってbuffer、buffer.toString()、およびbuffer.toString().getBytes()という3つのオブジェクトが保持されているという理由で、上記コードがメモリ使用量に関して非効率であると判断され得る。具体的には、当該ローカル変数は、ファイルシステムコールにおいてスレッドがブロック状態である間にこれらの3つのオブジェクトがガベージコレクションされないようにする。
ヒープをため込んでいるスタックトレースを特定するために、いくつかの実施形態は、(1)実行環境のヒープ使用量統計データの季節トレンドを推定することによってヒープ使用量が高い季節を特定し、(2)1つ以上のスレッドのクラスの各々について、スレッドのクラスのスレッド強度統計データの季節トレンドを推定してもよい。規則的間隔または不規則な間隔のヒープ使用量統計データの季節トレンドおよびスレッド強度統計データの季節トレンドを決定するためのいくつかの手法が、特許出願第14/109,578号、第14/109,546号、および第14/705,304号に記載されている。これらの出願は、あらゆる目的のために、引用により本明細書に援用する。
3月、4月、および5月は、春の季節として分類される。
9月、10月、および11月は、秋の季節として分類される。
上述したように、いくつかの実施形態は、「1」という季節因子が平日期間および週末期間に共通の基準レベルを表すように、平日季節因子および週末季節因子をくりこんでもよい。
週末の季節指数:Ei、i=1,2,…,192
10個の祝祭日の季節指数:Hk,i、i=1,2,…,96;k=1,2,…10
特定の年において、253日の平日(祝祭日を除く)と、50.5日の週末と、10日の祝祭日があるとする。253+50.5×2+10=364日である。この例において、いくつかの実施形態は、下記の式を用いて、季節因子の加重平均「A」を算出してもよい。ここで、重みは、1年における各期間(たとえば、平日期間、週末期間、および10個の祝祭日期間)のサイクルの数に比例する。
上述したように、いくつかの実施形態は、複数の期間にわたって平滑化スプラインをフィットさせて、1つの期間のサイクル間(たとえば、2つの平日期間の間)または2つの隣接する期間のサイクル間(たとえば、平日期間と週末との間)の遷移を平滑にしてもよい。具体的には、スプラインをフィットさせることには、1つ以上の期間の季節指数を連結してこれらの期間の間の遷移を円滑にすることが必要になり得る。
smoothedWeekdaySeasonalFactor,
smoothedWeekdaySeasonalFactor)
次に、いくつかの実施形態は、スプラインを適用して平日因子の配列を平滑化してもよい。たとえば、いくつかの実施形態は、0.3という平滑化パラメータを用いてR言語のsmooth.spline関数を呼び出して、当該因子を平滑化してもよい。
f <- smooth.spline(extendedWeekdayIndices, factors, spar = 0.3)
次に、いくつかの実施形態は、配列内の中間シーケンス(すなわち、中間の96個の平日因子)を、平滑化後の平日因子として指定してもよい。たとえば、いくつかの実施形態は、下記のRプログラミング言語のコードを実行することによって、当該平滑化後の平日因子を取得してもよい。
smoothedWeekdaySeasonalFactor <- predict(f, sandwichWeekdayIndices)$y
平日因子を平滑化する方法と同様のやり方で、いくつかの実施形態は、スプラインを適用して週末因子を平滑化してもよい。具体的には、いくつかの実施形態は、平日因子の2つのシーケンスの間に週末因子のシーケンスを連結することによって、季節因子の配列を構成することができる。たとえば、いくつかの実施形態は、下記のRプログラミング言語のコードを実行することによって、この配列を生成してもよい。
smoothedWeekendSeasonalFactor,
smoothedWeekdaySeasonalFactor)
次に、いくつかの実施形態は、スプラインを適用して平日因子と週末因子との配列を平滑化してもよい。たとえば、いくつかの実施形態は、0.3という平滑化パラメータを用いてR言語のsmooth.spline関数を呼び出して、これらの因子を平滑化してもよい。
f <- smooth.spline(extendedWeekendIndices, factors, spar = 0.3)
次に、いくつかの実施形態は、配列内の中間シーケンス(すなわち、週末因子である、配列内の中間の192個の季節因子)を、平滑化後の週末因子として指定してもよい。たとえば、いくつかの実施形態は、下記のRプログラミング言語のコードを実行することによって、平滑化後の週末因子を取得してもよい。
smoothedWeekendSeasonalFactor <- predict(f, sandwichWeekendIndices)$y
なお、いくつかの実施形態は、平日の間に観測された季節パターンを週末の間に観測された季節パターンから切り離すために、96個の平日季節指数と192個の週末季節指数とを別々に表してもよい。いくつかの実施形態では、ヒープ使用量統計データの時系列を逐次フィルタリングするには、ヒープ使用量の測定値のための指数フィルタと、季節因子のための指数フィルタと、線形トレンドのための指数フィルタと、加速トレンドのための指数フィルタと、残差のための指数フィルタとを含む、指数フィルタの5つのセットが必要になり得る。
smoothedWeekdaySeasonalFactor,
smoothedWeekdaySeasonalFactor)
次に、いくつかの実施形態は、スプラインを適用して平日因子の配列を平滑化してもよい。たとえば、いくつかの実施形態は、0.3という平滑化パラメータを用いてR言語のsmooth.spline関数を呼び出して、当該因子を平滑化してもよい。
f <- smooth.spline(extendedWeekdayIndices, factors, spar = 0.3)
次に、いくつかの実施形態は、配列内の中間シーケンス(すなわち、中間の96個の平日因子)を、平滑化後の平日因子として指定してもよい。たとえば、いくつかの実施形態は、下記のRプログラミング言語のコードを実行することによって、当該平滑化後の平日因子を取得してもよい。
smoothedWeekdaySeasonalFactor <- predict(f, sandwichWeekdayIndices)$y
別の場合では、週末期間に先行する平日期間の終わりに到達(すなわち、金曜日から土曜日に遷移)した場合、いくつかの実施形態は、週末季節因子のシーケンスを平日季節因子の2つのシーケンスの間に連結することによって、季節因子の配列を構成できる。たとえば、いくつかの実施形態は、下記のRプログラミング言語のコードを実行することによって、当該配列を生成してもよい。
smoothedWeekendSeasonalFactor,
smoothedWeekdaySeasonalFactor)
次に、いくつかの実施形態は、スプラインを適用して平日因子および週末因子の配列を平滑化してもよい。たとえば、いくつかの実施形態は、0.3という平滑化パラメータを用いてR言語のsmooth.spline関数を呼び出して、当該因子を平滑化してもよい。
f <- smooth.spline(extendedWeekendIndices, factors, spar = 0.3)
次に、いくつかの実施形態は、配列内の左側シーケンス(すなわち、平日因子である、配列内の最初の96個の季節因子)を、平滑化後の平日因子として指定してもよい。たとえば、いくつかの実施形態は、下記のRプログラミング言語のコードを実行することによって、平滑化後の平日因子を取得してもよい。
smoothedWeekdaySeasonalFactor <- predict(f, leftsideWeekendIndices)$y
別の場合では、週末期間の終わりに到達(すなわち、日曜日から月曜日に遷移)した場合、いくつかの実施形態は、週末季節因子のシーケンスを平日季節因子の2つのシーケンスの間に連結することによって、季節因子の配列を構成することができる。たとえば、いくつかの実施形態下記のRプログラミング言語のコードを実行することによって、当該配列を生成してもよい。
smoothedWeekendSeasonalFactor,
smoothedWeekdaySeasonalFactor)
次に、いくつかの実施形態は、スプラインを適用して平日因子および週末因子の配列を平滑化してもよい。たとえば、いくつかの実施形態は、0.3という平滑化パラメータを用いてR言語のsmooth.spline関数を呼び出して、当該因子を平滑化してもよい。
f <- smooth.spline(extendedWeekendIndices, factors, spar = 0.3)
次に、いくつかの実施形態は、配列内の中間シーケンス(すなわち、週末因子である、配列内の中間の192個の季節因子)を、平滑化後の週末因子として指定してもよい。たとえば、いくつかの実施形態は、下記のRプログラミング言語のコードを実行することによって、平滑化後の週末因子を取得してもよい。
smoothedWeekendSeasonalFactor <- predict(f, sandwichWeekendIndices)$y
また、いくつかの実施形態は、配列内の右側シーケンス(すなわち、平日因子である、配列内の最後の96個の季節因子)を、平滑化後の平日因子として指定してもよい。たとえば、いくつかの実施形態は、下記のRプログラミング言語のコードを実行することによって、平滑化後の平日因子を取得してもよい。
smoothedWeekdaySeasonalFactor <- predict(f, rightsideWeekendIndices)$y
なお、いくつかの実施形態は、シーケンシャルフィルタが(1)期間の1つのサイクルの終わりに到達して、同じ期間の新しいサイクルを開始する(たとえば、シーケンシャルフィルタが月曜日の終わりに到達する)、または、(2)期間の1つのサイクルの終わりに到達して、隣接する期間の新しいサイクルを開始する(たとえば、シーケンシャルフィルタが金曜日の終わりに到達する)たびに、上述のくりこみおよび平滑化スプラインフィットを実行してもよい。
いくつかの実施形態は、データセットの1つ以上の候補期間に季節サイクルが存在するかどうかを検定して、この期間の季節指数の別のシーケンスが表されるべきかどうかを判断できる。一般に、データセットが特定の期間の季節サイクルを示しているかどうかを判断するために、いくつかの実施形態は、下記のステップを実行してもよい。
ソフトウェア実行環境の複数年のヒープ使用量統計データを解析する際、いくつかの実施形態は、それぞれ異なる時間尺度で2つ以上の季節トレンドを検出してもよい。たとえば、このような実施形態は、ヒープ使用量統計データの複数年分の時系列、年ごとの季節トレンド、および1日の季節トレンドを検出してもよい。1年の季節トレンド、および1日の季節トレンドは、多季節トレンドに重ねられる。したがって、いくつかの実施形態は、1年の季節トレンドを解析するために適切な時間尺度を取り入れてもよい。この時間尺度は、1年に対応する期間と、1か月に対応する間隔とを有する。このように、1年という期間が12個の1か月という長さの間隔に分割されてもよい。
直近の年とそれより前の年との間に共通の季節サイクルがあると判断された場合、いくつかの実施形態は、下記の式を採用することによって、月次季節指数0〜11によって列挙された月ごとの季節因子を計算できる。
いくつかの実施形態は、時間帯オフセットの推定を含めることができる。時間帯オフセットが利用できない場合、いくつかの実施形態は、データセットのセグメントに対して非線形回帰を行って時間帯オフセットを推定し、この時間帯オフセットを用いてデータをフィルタリングすることができる。時間帯オフセットの推定を提供することによって、いくつかの実施形態は、期間の間の遷移における季節指数の推定を向上させることができる。
年間ヒープ使用量が高い季節が決定されると、いくつかの実施形態は、最近(たとえば、直近)の年間ヒープ使用量が高い季節に含まれる日ごと/週ごとの季節サイクルを表す平日因子/週末因子を算出および/または取得してもよい。なお、データセットのこのセグメントにおける(すなわち、年間ヒープ使用量が高い季節の間の)日ごと/週ごとの季節サイクルは、ほか(すなわち、年間ヒープ使用量が高い季節以外)の時よりも顕著であるだろう。したがって、1つ以上のスレッドのクラスのヒープ使用量における季節トレンドと強度統計データにおける季節トレンドとの相関度合いの判断は、データセットのこのセグメントに基づき得る。言い換えると、相関分析のために、いくつかの実施形態は、直近の年間ヒープ使用量が高い季節に含まれる間隔と同じ間隔を用いて、様々なスレッドのクラスの季節トレンドを導出できる。
上述したように、標本の正確さを確実にするために、不規則な間隔で発生するフルガベージコレクション(GC)サイクルの間にヒープ割当てを測定してもよい。ヒープ使用量が特に高い状況では、絶え間ないガベージコレクションにより、標本抽出間隔は、気まぐれにゼロに近づいてしまうだろう。その結果、ヒープ割当ての測定に基づく時系列データは、弱外生性および分散の不均一性を示すだろう。弱外生性では、残差を生成するプロセスが、フルGC標本の時間間隔を生成するプロセスに多少依存する。分散の不均一性では、残差の分散が、時間を通じて一定でない。
Claims (10)
- コンピュータにより実現される方法であって、
1つ以上のコンピュータシステムによって、タイムスパンの間に標本抽出された複数の測定値を含む信号を、1つ以上のプロセスが実行中の環境から受信するステップを含み、前記信号は、ヒープ使用量に対応しており、前記方法は、さらに、
前記信号から、季節因子を有する前記複数の測定値の第1成分と、季節変動が除去された前記複数の測定値の第2成分とを取り出すステップと、
前記第1成分に1つ以上のスプライン関数を適用して第1モデルを生成するステップと、
前記第2成分に線形回帰法を適用して第2モデルを生成するステップと、
前記第1モデルおよび前記第2モデルに基づいて、前記ヒープ使用量の予測を生成するステップと、
前記ヒープ使用量が将来増加することを前記予測が示す場合、前記環境に追加リソースを提供するステップとを含む、方法。 - 前記タイムスパンは、特定の長さを有する期間の複数のサイクルにまたがり、
前記期間は、複数の一定の間隔に分割され、
前記信号から前記第1成分および前記第2成分を取り出すステップは、
前記複数の一定の間隔の各々について、間隔の平均測定値を決定するステップと、
前記複数のサイクルの各々について、サイクルの平均測定値を決定するステップと、
前記複数の一定の間隔の各々について間隔の前記平均測定値を前記サイクルの平均測定値と比較することによって前記間隔の季節因子を決定することによって、前記季節因子を有する前記複数の測定値の第1成分を取得するステップと、
前記第1成分に基づいて前記複数の測定値から季節変動を除去して前記第2成分を取得するステップとを含む、請求項1に記載の方法。 - 前記複数の測定値は、前記タイムスパンの間に不規則な間隔で標本抽出される、請求項1または2に記載の方法。
- 前記複数の測定値が標本抽出される前記不規則な間隔と前記複数の測定値は依存関係を示し、前記線形回帰法はロバスト線形回帰法であり、前記依存関係を補償するために、前記第2成分に前記ロバスト線形回帰法が適用される、請求項3に記載の方法。
- 前記第2成分に前記ロバスト線形回帰法を適用するステップは、前記複数の測定値の各々について、測定値に関連する不規則な間隔の長さに基づいて前記測定値に重みを割り当てるステップを含む、請求項4に記載の方法。
- 前記第2成分に前記ロバスト線形回帰法を適用するステップは、前記複数の測定値の各々について、測定値に関連する前記不規則な間隔の長さが閾値長さを上回らない場合、前記測定値をトリムするステップをさらに含む、請求項5に記載の方法。
- 前記第2成分に前記ロバスト線形回帰法を適用するステップは、前記複数の測定値の各々について、
測定値に対応する期待測定値を予測するステップと、
前記期待測定値と前記測定値との間のずれに基づいて前記測定値に重みを割り当てるステップとを含む、請求項5に記載の方法。 - 前記信号は、分散の不均一性を有し、前記信号の分散の不均一性を考慮に入れるために、前記第2成分に前記線形回帰法が適用される、請求項1〜7のいずれか1項に記載の方法。
- 1つ以上のプロセッサと、
前記1つ以上のプロセッサにアクセス可能なメモリとを備え、前記メモリは、1つ以上の命令を格納し、前記1つ以上の命令は、前記1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに、
タイムスパンの間に標本抽出された複数の測定値を含む信号を、1つ以上のプロセスが実行中の環境から受信させ、前記信号は、ヒープ使用量に対応しており、前記1つ以上の命令は、前記1つ以上のプロセッサに、さらに、
前記信号から、季節因子を有する前記複数の測定値の第1成分と、季節変動が除去された前記複数の測定値の第2成分とを取り出させ、
前記第1成分に1つ以上のスプライン関数を適用して第1モデルを生成させ、
前記第2成分に線形回帰法を適用して第2モデルを生成させ、
前記第1モデルおよび前記第2モデルに基づいて、前記ヒープ使用量の予測を生成させ、
前記ヒープ使用量が将来増加することを前記予測が示す場合、前記環境に追加リソースを提供させる、システム。 - 請求項1〜8のいずれか1項に記載の方法を1つ以上のプロセッサに実行させるためのコンピュータ読み取り可能なプログラム。
Applications Claiming Priority (21)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662333809P | 2016-05-09 | 2016-05-09 | |
US201662333786P | 2016-05-09 | 2016-05-09 | |
US201662333804P | 2016-05-09 | 2016-05-09 | |
US201662333798P | 2016-05-09 | 2016-05-09 | |
US201662333811P | 2016-05-09 | 2016-05-09 | |
US62/333,786 | 2016-05-09 | ||
US62/333,804 | 2016-05-09 | ||
US62/333,809 | 2016-05-09 | ||
US62/333,798 | 2016-05-09 | ||
US62/333,811 | 2016-05-09 | ||
US201662340256P | 2016-05-23 | 2016-05-23 | |
US62/340,256 | 2016-05-23 | ||
US15/588,531 | 2017-05-05 | ||
US15/588,521 US10417111B2 (en) | 2016-05-09 | 2017-05-05 | Correlation of stack segment intensity in emergent relationships |
US15/588,526 US11327797B2 (en) | 2016-05-09 | 2017-05-05 | Memory usage determination techniques |
US15/588,531 US10534643B2 (en) | 2016-05-09 | 2017-05-05 | Correlation of thread intensity and heap usage to identify heap-hoarding stack traces |
US15/588,523 US10467123B2 (en) | 2016-05-09 | 2017-05-05 | Compression techniques for encoding stack trace information |
US15/588,523 | 2017-05-05 | ||
US15/588,526 | 2017-05-05 | ||
US15/588,521 | 2017-05-05 | ||
PCT/US2017/031589 WO2017196746A1 (en) | 2016-05-09 | 2017-05-08 | Memory usage determination techniques |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2019521413A JP2019521413A (ja) | 2019-07-25 |
JP2019521413A5 JP2019521413A5 (ja) | 2020-05-14 |
JP6952058B2 true JP6952058B2 (ja) | 2021-10-20 |
Family
ID=60242506
Family Applications (8)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018558661A Active JP6952719B2 (ja) | 2016-05-09 | 2017-05-08 | ヒープをため込んでいるスタックトレースを特定するための、スレッド強度とヒープ使用量との相関 |
JP2018558676A Active JP6913695B2 (ja) | 2016-05-09 | 2017-05-08 | スタックトレース情報を符号化するための圧縮技術 |
JP2018558658A Active JP6952058B2 (ja) | 2016-05-09 | 2017-05-08 | メモリ使用量判断技術 |
JP2018558656A Active JP6949878B2 (ja) | 2016-05-09 | 2017-05-08 | 出現した関係におけるスタックセグメント強度の相関 |
JP2021154119A Active JP7331057B2 (ja) | 2016-05-09 | 2021-09-22 | 出現した関係におけるスタックセグメント強度の相関 |
JP2021158071A Active JP7202432B2 (ja) | 2016-05-09 | 2021-09-28 | ヒープをため込んでいるスタックトレースを特定するための、スレッド強度とヒープ使用量との相関 |
JP2022207000A Active JP7490038B2 (ja) | 2016-05-09 | 2022-12-23 | ヒープをため込んでいるスタックトレースを特定するための、スレッド強度とヒープ使用量との相関 |
JP2023129817A Pending JP2023162238A (ja) | 2016-05-09 | 2023-08-09 | 出現した関係におけるスタックセグメント強度の相関 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018558661A Active JP6952719B2 (ja) | 2016-05-09 | 2017-05-08 | ヒープをため込んでいるスタックトレースを特定するための、スレッド強度とヒープ使用量との相関 |
JP2018558676A Active JP6913695B2 (ja) | 2016-05-09 | 2017-05-08 | スタックトレース情報を符号化するための圧縮技術 |
Family Applications After (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018558656A Active JP6949878B2 (ja) | 2016-05-09 | 2017-05-08 | 出現した関係におけるスタックセグメント強度の相関 |
JP2021154119A Active JP7331057B2 (ja) | 2016-05-09 | 2021-09-22 | 出現した関係におけるスタックセグメント強度の相関 |
JP2021158071A Active JP7202432B2 (ja) | 2016-05-09 | 2021-09-28 | ヒープをため込んでいるスタックトレースを特定するための、スレッド強度とヒープ使用量との相関 |
JP2022207000A Active JP7490038B2 (ja) | 2016-05-09 | 2022-12-23 | ヒープをため込んでいるスタックトレースを特定するための、スレッド強度とヒープ使用量との相関 |
JP2023129817A Pending JP2023162238A (ja) | 2016-05-09 | 2023-08-09 | 出現した関係におけるスタックセグメント強度の相関 |
Country Status (4)
Country | Link |
---|---|
US (9) | US10534643B2 (ja) |
EP (4) | EP3455732B1 (ja) |
JP (8) | JP6952719B2 (ja) |
CN (5) | CN109313600B (ja) |
Families Citing this family (56)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9330119B2 (en) | 2013-04-11 | 2016-05-03 | Oracle International Corporation | Knowledge intensive data management system for business process and case management |
US10740358B2 (en) | 2013-04-11 | 2020-08-11 | Oracle International Corporation | Knowledge-intensive data processing system |
US10748116B2 (en) * | 2015-10-16 | 2020-08-18 | Dell Products L.P. | Test vector generation from documentation |
US10725800B2 (en) | 2015-10-16 | 2020-07-28 | Dell Products L.P. | User-specific customization for command interface |
US10931593B2 (en) * | 2016-03-30 | 2021-02-23 | Nec Corporation | Management node, management system, management method and computer-readable recording medium |
US10534643B2 (en) | 2016-05-09 | 2020-01-14 | Oracle International Corporation | Correlation of thread intensity and heap usage to identify heap-hoarding stack traces |
US10732714B2 (en) | 2017-05-08 | 2020-08-04 | Cirrus Logic, Inc. | Integrated haptic system |
FR3067486B1 (fr) * | 2017-06-09 | 2021-08-27 | Cryptosense | Procede de detection non intrusif des failles de securite d'un programme informatique |
US11259121B2 (en) | 2017-07-21 | 2022-02-22 | Cirrus Logic, Inc. | Surface speaker |
US10635570B2 (en) * | 2017-09-29 | 2020-04-28 | Oracle International Corporation | Memory leak profiling events |
US11139767B2 (en) | 2018-03-22 | 2021-10-05 | Cirrus Logic, Inc. | Methods and apparatus for driving a transducer |
US10832537B2 (en) | 2018-04-04 | 2020-11-10 | Cirrus Logic, Inc. | Methods and apparatus for outputting a haptic signal to a haptic transducer |
US11069206B2 (en) | 2018-05-04 | 2021-07-20 | Cirrus Logic, Inc. | Methods and apparatus for outputting a haptic signal to a haptic transducer |
US11281686B2 (en) * | 2018-06-04 | 2022-03-22 | Nec Corporation | Information processing apparatus, method, and program |
US11269415B2 (en) | 2018-08-14 | 2022-03-08 | Cirrus Logic, Inc. | Haptic output systems |
US10613894B1 (en) * | 2018-08-15 | 2020-04-07 | Lendingclub Corporation | State analysis for one or more virtual machines |
US10970055B2 (en) * | 2018-08-21 | 2021-04-06 | International Business Machines Corporation | Identifying software and hardware bottlenecks |
US11068375B2 (en) * | 2018-10-17 | 2021-07-20 | Oracle International Corporation | System and method for providing machine learning based memory resiliency |
GB201817495D0 (en) | 2018-10-26 | 2018-12-12 | Cirrus Logic Int Semiconductor Ltd | A force sensing system and method |
KR102456023B1 (ko) * | 2019-02-13 | 2022-10-19 | 한국전자통신연구원 | 클라우드 컴퓨팅 기반의 시뮬레이션 장치 및 방법 |
US11509292B2 (en) | 2019-03-29 | 2022-11-22 | Cirrus Logic, Inc. | Identifying mechanical impedance of an electromagnetic load using least-mean-squares filter |
US10828672B2 (en) | 2019-03-29 | 2020-11-10 | Cirrus Logic, Inc. | Driver circuitry |
US11644370B2 (en) | 2019-03-29 | 2023-05-09 | Cirrus Logic, Inc. | Force sensing with an electromagnetic load |
US12035445B2 (en) | 2019-03-29 | 2024-07-09 | Cirrus Logic Inc. | Resonant tracking of an electromagnetic load |
US10992297B2 (en) * | 2019-03-29 | 2021-04-27 | Cirrus Logic, Inc. | Device comprising force sensors |
US11283337B2 (en) | 2019-03-29 | 2022-03-22 | Cirrus Logic, Inc. | Methods and systems for improving transducer dynamics |
US10726683B1 (en) | 2019-03-29 | 2020-07-28 | Cirrus Logic, Inc. | Identifying mechanical impedance of an electromagnetic load using a two-tone stimulus |
US10955955B2 (en) | 2019-03-29 | 2021-03-23 | Cirrus Logic, Inc. | Controller for use in a device comprising force sensors |
US10976825B2 (en) | 2019-06-07 | 2021-04-13 | Cirrus Logic, Inc. | Methods and apparatuses for controlling operation of a vibrational output system and/or operation of an input sensor system |
US11150733B2 (en) | 2019-06-07 | 2021-10-19 | Cirrus Logic, Inc. | Methods and apparatuses for providing a haptic output signal to a haptic actuator |
GB2604215B (en) | 2019-06-21 | 2024-01-31 | Cirrus Logic Int Semiconductor Ltd | A method and apparatus for configuring a plurality of virtual buttons on a device |
US11340924B2 (en) * | 2019-06-27 | 2022-05-24 | International Business Machines Corporation | Machine-learning based heap memory tuning |
CN110489179B (zh) * | 2019-08-02 | 2022-12-27 | 北京字节跳动网络技术有限公司 | 获取调用栈栈帧函数签名的方法、装置、介质和设备 |
US10833960B1 (en) * | 2019-09-04 | 2020-11-10 | International Business Machines Corporation | SLA management in composite cloud solutions using blockchain |
US11408787B2 (en) | 2019-10-15 | 2022-08-09 | Cirrus Logic, Inc. | Control methods for a force sensor system |
JP7467064B2 (ja) * | 2019-10-17 | 2024-04-15 | キオクシア株式会社 | メモリシステムおよびガベッジコレクション制御方法 |
US11068393B2 (en) | 2019-10-17 | 2021-07-20 | Microsoft Technology Licensing, Llc | Enhanced concurrency garbage collection stack scanning |
US11380175B2 (en) | 2019-10-24 | 2022-07-05 | Cirrus Logic, Inc. | Reproducibility of haptic waveform |
US11545951B2 (en) | 2019-12-06 | 2023-01-03 | Cirrus Logic, Inc. | Methods and systems for detecting and managing amplifier instability |
US12093414B1 (en) * | 2019-12-09 | 2024-09-17 | Amazon Technologies, Inc. | Efficient detection of in-memory data accesses and context information |
JP7434925B2 (ja) * | 2020-01-23 | 2024-02-21 | 日本電気株式会社 | 情報処理装置、情報処理方法およびプログラム |
US11662821B2 (en) | 2020-04-16 | 2023-05-30 | Cirrus Logic, Inc. | In-situ monitoring, calibration, and testing of a haptic actuator |
CN111797006B (zh) * | 2020-06-11 | 2022-06-21 | 新奇点智能科技集团有限公司 | 一种线程测试的方法、装置、设备以及存储介质 |
CN111817910B (zh) * | 2020-06-22 | 2021-08-13 | 电子科技大学 | 一种网络流量的网络级测量方法 |
US12039031B2 (en) * | 2020-09-16 | 2024-07-16 | Cisco Technology, Inc. | Security policies for software call stacks |
CN112199449B (zh) * | 2020-09-23 | 2021-09-14 | 况客科技(北京)有限公司 | 数据处理系统 |
CN112286933B (zh) * | 2020-10-28 | 2021-09-14 | 况客科技(北京)有限公司 | 数据处理系统 |
US11933822B2 (en) | 2021-06-16 | 2024-03-19 | Cirrus Logic Inc. | Methods and systems for in-system estimation of actuator parameters |
US11908310B2 (en) | 2021-06-22 | 2024-02-20 | Cirrus Logic Inc. | Methods and systems for detecting and managing unexpected spectral content in an amplifier system |
US11765499B2 (en) | 2021-06-22 | 2023-09-19 | Cirrus Logic Inc. | Methods and systems for managing mixed mode electromechanical actuator drive |
US11720471B2 (en) * | 2021-08-09 | 2023-08-08 | International Business Machines Corporation | Monitoring stack memory usage to optimize programs |
US12106984B2 (en) * | 2021-11-23 | 2024-10-01 | Applied Materials, Inc. | Accelerating preventative maintenance recovery and recipe optimizing using machine-learning based algorithm |
US11552649B1 (en) | 2021-12-03 | 2023-01-10 | Cirrus Logic, Inc. | Analog-to-digital converter-embedded fixed-phase variable gain amplifier stages for dual monitoring paths |
US12112151B2 (en) | 2022-08-31 | 2024-10-08 | Microsoft Technology Licensing, Llc | Collection and representation of program call stacks |
WO2024049570A1 (en) * | 2022-08-31 | 2024-03-07 | Microsoft Technology Licensing, Llc | Collection and representation of program call stacks |
US11947531B1 (en) * | 2023-02-14 | 2024-04-02 | Oracle International Corporation | Copy avoidance via static analysis for DBMS querying |
Family Cites Families (179)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3726192A1 (de) | 1987-08-06 | 1989-02-16 | Otto Mueller | Stacksteuerung |
US5928369A (en) | 1996-06-28 | 1999-07-27 | Synopsys, Inc. | Automatic support system and method based on user submitted stack trace |
US6167535A (en) | 1997-12-09 | 2000-12-26 | Sun Microsystems, Inc. | Object heap analysis techniques for discovering memory leaks and other run-time information |
US6751789B1 (en) | 1997-12-12 | 2004-06-15 | International Business Machines Corporation | Method and system for periodic trace sampling for real-time generation of segments of call stack trees augmented with call stack position determination |
US6055492A (en) | 1997-12-12 | 2000-04-25 | International Business Machines Corporation | System and method for providing trace information data reduction |
US6002872A (en) | 1998-03-31 | 1999-12-14 | International Machines Corporation | Method and apparatus for structured profiling of data processing systems and applications |
US6560773B1 (en) | 1997-12-12 | 2003-05-06 | International Business Machines Corporation | Method and system for memory leak detection in an object-oriented environment during real-time trace processing |
US6839725B2 (en) | 2000-05-16 | 2005-01-04 | Sun Microsystems, Inc. | Dynamic adaptive tenuring of objects |
US6968557B1 (en) | 2000-12-18 | 2005-11-22 | Stratum8 Corporation | Reducing stack memory resources in a threaded computer system |
US7320125B2 (en) | 2001-05-24 | 2008-01-15 | Techtracker, Inc. | Program execution stack signatures |
US6898737B2 (en) | 2001-05-24 | 2005-05-24 | Microsoft Corporation | Automatic classification of event data |
US6754796B2 (en) | 2001-07-31 | 2004-06-22 | Sun Microsystems, Inc. | Frameworks for implementation of java heaps |
US6934942B1 (en) | 2001-08-24 | 2005-08-23 | Microsoft Corporation | System and method for using data address sequences of a program in a software development tool |
US7802236B2 (en) | 2002-09-09 | 2010-09-21 | The Regents Of The University Of California | Method and apparatus for identifying similar regions of a program's execution |
US20040054991A1 (en) | 2002-09-17 | 2004-03-18 | Harres John M. | Debugging tool and method for tracking code execution paths |
US7035846B2 (en) | 2002-09-23 | 2006-04-25 | International Business Machines Corporation | Methods, computer programs and apparatus for caching directory queries |
US6670897B1 (en) | 2002-10-03 | 2003-12-30 | Motorola, Inc. | Compression/decompression techniques based on tokens and Huffman coding |
US7100079B2 (en) | 2002-10-22 | 2006-08-29 | Sun Microsystems, Inc. | Method and apparatus for using pattern-recognition to trigger software rejuvenation |
US7071940B2 (en) | 2002-10-30 | 2006-07-04 | Iviz, Inc. | Interactive data visualization and charting framework with self-detection of data commonality |
CA2634470C (en) * | 2003-01-24 | 2013-05-14 | Pratt & Whitney Canada Corp. | Method and system for trend detection and analysis |
US7249286B1 (en) * | 2003-03-24 | 2007-07-24 | Network Appliance, Inc. | System and method for automatically diagnosing protocol errors from packet traces |
US7072918B2 (en) | 2003-03-24 | 2006-07-04 | Sun Microsystems, Inc. | Remembered-set scrubbing to remove stale entries in an incremental garbage collector |
US7568003B2 (en) | 2003-03-28 | 2009-07-28 | Microsoft Corporation | Publishing interface for publishing content from a content-authoring application to a content server |
WO2004099985A1 (ja) | 2003-05-09 | 2004-11-18 | Fujitsu Limited | 実行環境の危険予測/回避方法,システム,プログラムおよびその記録媒体 |
US7529786B2 (en) | 2003-07-30 | 2009-05-05 | Bea Systems, Inc. | System and method for adaptive garbage collection in a virtual machine environment |
US7089273B2 (en) | 2003-08-01 | 2006-08-08 | Intel Corporation | Method and apparatus for improving the performance of garbage collection using stack trace cache |
US7412694B2 (en) | 2003-09-18 | 2008-08-12 | International Business Machines Corporation | Detecting program phases with periodic call-stack sampling during garbage collection |
US7257657B2 (en) | 2003-11-06 | 2007-08-14 | International Business Machines Corporation | Method and apparatus for counting instruction execution and data accesses for specific types of instructions |
US7149870B2 (en) * | 2004-06-04 | 2006-12-12 | International Business Machines Corporation | Assigning sections within a memory heap for efficient garbage collection of large objects |
US7685575B1 (en) | 2004-06-08 | 2010-03-23 | Sun Microsystems, Inc. | Method and apparatus for analyzing an application |
US7480648B2 (en) | 2004-12-06 | 2009-01-20 | International Business Machines Corporation | Research rapidity and efficiency improvement by analysis of research artifact similarity |
US7703087B1 (en) | 2004-12-10 | 2010-04-20 | Oracle America, Inc. | Reducing layout conflicts among code units with caller-callee relationships |
US20060173877A1 (en) | 2005-01-10 | 2006-08-03 | Piotr Findeisen | Automated alerts for resource retention problems |
DE602005004886T2 (de) | 2005-01-26 | 2009-02-19 | Oce-Technologies B.V. | Automatische Leistungsanalyse und Fehlerbeseitigung |
US7747556B2 (en) | 2005-02-28 | 2010-06-29 | Microsoft Corporation | Query-based notification architecture |
US7434206B2 (en) | 2005-03-10 | 2008-10-07 | Hewlett-Packard Development Company, L.P. | Identifying memory leaks in computer systems |
US7739143B1 (en) * | 2005-03-24 | 2010-06-15 | Amazon Technologies, Inc. | Robust forecasting techniques with reduced sensitivity to anomalous data |
US7509632B2 (en) | 2005-03-24 | 2009-03-24 | International Business Machines Corporation | Method and apparatus for analyzing call history data derived from execution of a computer program |
EP2998894B1 (en) | 2005-07-11 | 2021-09-08 | Brooks Automation, Inc. | Intelligent condition monitoring and fault diagnostic system |
GB0515405D0 (en) | 2005-07-27 | 2005-08-31 | Ibm | Memory leak detection |
US7702966B2 (en) | 2005-09-07 | 2010-04-20 | Intel Corporation | Method and apparatus for managing software errors in a computer system |
US7765528B2 (en) | 2005-09-21 | 2010-07-27 | Hewlett-Packard Development Company, L.P. | Identifying sources of memory retention |
US7779054B1 (en) | 2005-09-30 | 2010-08-17 | Oracle America, Inc. | Heuristic-based resumption of fully-young garbage collection intervals |
US7735074B2 (en) | 2005-10-17 | 2010-06-08 | Oracle International Corporation | Code outlining without trampolines |
US7926071B2 (en) | 2005-10-20 | 2011-04-12 | Microsoft Corporation | Load balancing interfaces |
US8234378B2 (en) | 2005-10-20 | 2012-07-31 | Microsoft Corporation | Load balancing in a managed execution environment |
US20070168915A1 (en) | 2005-11-15 | 2007-07-19 | Cesura, Inc. | Methods and systems to detect business disruptions, determine potential causes of those business disruptions, or both |
US20070136402A1 (en) | 2005-11-30 | 2007-06-14 | International Business Machines Corporation | Automatic prediction of future out of memory exceptions in a garbage collected virtual machine |
JP2007199811A (ja) | 2006-01-24 | 2007-08-09 | Hitachi Ltd | プログラム制御方法、計算機およびプログラム制御プログラム |
US7590513B2 (en) * | 2006-01-30 | 2009-09-15 | Nec Laboratories America, Inc. | Automated modeling and tracking of transaction flow dynamics for fault detection in complex systems |
US20070220513A1 (en) | 2006-03-15 | 2007-09-20 | International Business Machines Corporation | Automatic detection of hang, bottleneck and deadlock |
US20070234296A1 (en) | 2006-03-31 | 2007-10-04 | Microsoft Corporation | Software variation for robustness through randomized execution contexts |
JP2007286811A (ja) | 2006-04-14 | 2007-11-01 | Konica Minolta Holdings Inc | 情報処理システム |
US20080040674A1 (en) | 2006-08-09 | 2008-02-14 | Puneet K Gupta | Folksonomy-Enhanced Enterprise-Centric Collaboration and Knowledge Management System |
US7475214B2 (en) | 2006-08-16 | 2009-01-06 | International Business Machines Corporation | Method and system to optimize java virtual machine performance |
US8949295B2 (en) | 2006-09-21 | 2015-02-03 | Vmware, Inc. | Cooperative memory resource management via application-level balloon |
US8019632B2 (en) | 2006-10-16 | 2011-09-13 | Accenture Global Services Limited | System and method of integrating enterprise applications |
US20080270945A1 (en) | 2007-04-24 | 2008-10-30 | Fatdoor, Inc. | Interior spaces in a geo-spatial environment |
CN201000563Y (zh) | 2006-11-27 | 2008-01-02 | 哈尔滨工业大学 | 毫秒级实时计算机系统监控装置 |
US7788198B2 (en) | 2006-12-14 | 2010-08-31 | Microsoft Corporation | Method for detecting anomalies in server behavior using operational performance and failure mode monitoring counters |
US20080222074A1 (en) | 2007-02-22 | 2008-09-11 | Peter Lieberwirth | Method or corresponding system employing templates for creating an organizational structure of knowledge |
US9223622B2 (en) | 2007-03-09 | 2015-12-29 | Hewlett-Packard Development Company, L.P. | Capacity planning of multi-tiered applications from application logs |
US20090024939A1 (en) | 2007-04-27 | 2009-01-22 | Bea Systems, Inc. | Web based application constructor using querying across data |
US8108874B2 (en) | 2007-05-24 | 2012-01-31 | International Business Machines Corporation | Minimizing variations of waiting times of requests for services handled by a processor |
US7823006B2 (en) | 2007-05-29 | 2010-10-26 | Microsoft Corporation | Analyzing problem signatures |
US7793161B2 (en) | 2007-05-29 | 2010-09-07 | International Business Machines Corporation | Method and apparatus to anticipate memory exhaustion in an open services gateway initiative environment |
US8156378B1 (en) | 2010-10-15 | 2012-04-10 | Red Hat, Inc. | System and method for determination of the root cause of an overall failure of a business application service |
CN101339533B (zh) | 2007-07-04 | 2012-10-10 | 国际商业机器公司 | 基于分区的诊断Java系统的内存泄漏的方法及装置 |
US8156492B2 (en) | 2007-09-07 | 2012-04-10 | Oracle International Corporation | System and method to improve memory usage in virtual machines running as hypervisor guests |
US8266190B2 (en) | 2007-09-25 | 2012-09-11 | International Business Machines Corporation | Memory management for garbage collection of critical real time threads |
US7991961B1 (en) | 2007-10-15 | 2011-08-02 | Oracle America, Inc. | Low-overhead run-time memory leak detection and recovery |
US8074103B2 (en) | 2007-10-19 | 2011-12-06 | Oracle International Corporation | Data corruption diagnostic engine |
US8214308B2 (en) | 2007-10-23 | 2012-07-03 | Sas Institute Inc. | Computer-implemented systems and methods for updating predictive models |
US9354890B1 (en) * | 2007-10-23 | 2016-05-31 | Marvell International Ltd. | Call stack structure for enabling execution of code outside of a subroutine and between call stack frames |
US7962437B2 (en) | 2007-11-16 | 2011-06-14 | International Business Machines Corporation | Data comparison using different time periods in data sequences |
US20090177692A1 (en) | 2008-01-04 | 2009-07-09 | Byran Christopher Chagoly | Dynamic correlation of service oriented architecture resource relationship and metrics to isolate problem sources |
JP5157537B2 (ja) | 2008-03-06 | 2013-03-06 | 日本電気株式会社 | メモリ管理装置、システム、方法、及び、プログラム |
JP2009217617A (ja) | 2008-03-11 | 2009-09-24 | Hitachi Ltd | メモリリーク箇所の特定方法及び装置 |
US8738652B2 (en) | 2008-03-11 | 2014-05-27 | Paragon Science, Inc. | Systems and methods for dynamic anomaly detection |
US8683483B2 (en) * | 2008-03-25 | 2014-03-25 | Oracle America, Inc. | Resource utilization monitor |
CN100570581C (zh) | 2008-04-09 | 2009-12-16 | 中兴通讯股份有限公司 | 故障定位的方法和装置 |
US8224624B2 (en) | 2008-04-25 | 2012-07-17 | Hewlett-Packard Development Company, L.P. | Using application performance signatures for characterizing application updates |
US8990792B2 (en) | 2008-05-26 | 2015-03-24 | Samsung Electronics Co., Ltd. | Method for constructing dynamic call graph of application |
US8457913B2 (en) | 2008-06-04 | 2013-06-04 | Oracle America, Inc. | Computer system with integrated electromagnetic-interference detectors |
US8230269B2 (en) | 2008-06-17 | 2012-07-24 | Microsoft Corporation | Monitoring data categorization and module-based health correlations |
US20090320021A1 (en) | 2008-06-19 | 2009-12-24 | Microsoft Corporation | Diagnosis of application performance problems via analysis of thread dependencies |
US7526682B1 (en) | 2008-06-20 | 2009-04-28 | International Business Machines Corporation | Effective diagnosis of software hangs |
US8566795B2 (en) | 2008-07-15 | 2013-10-22 | International Business Machines Corporation | Selectively obtaining call stack information based on criteria |
CN101661425B (zh) | 2008-08-26 | 2012-03-21 | 国际商业机器公司 | 测试覆盖分析方法和装置 |
JP2010122825A (ja) | 2008-11-18 | 2010-06-03 | Osaka Prefecture Univ | データ予測装置、データ予測方法、データ予測プログラム |
US8856754B2 (en) | 2008-12-15 | 2014-10-07 | Sap Ag | Systems and methods for enhanced profiling of computer applications |
JP5509609B2 (ja) | 2009-02-09 | 2014-06-04 | 日本電気株式会社 | スタックトレース採取システム、方法およびプログラム |
JP5310094B2 (ja) | 2009-02-27 | 2013-10-09 | 日本電気株式会社 | 異常検出システム、異常検出方法および異常検出用プログラム |
US8595702B2 (en) | 2009-03-13 | 2013-11-26 | Microsoft Corporation | Simultaneously displaying multiple call stacks in an interactive debugger |
US8185781B2 (en) | 2009-04-09 | 2012-05-22 | Nec Laboratories America, Inc. | Invariants-based learning method and system for failure diagnosis in large scale computing systems |
US8375251B2 (en) | 2009-06-11 | 2013-02-12 | Microsoft Corporation | Monitoring and healing a computing system |
US9058421B2 (en) | 2009-06-16 | 2015-06-16 | Freescale Semiconductor, Inc. | Trace correlation for profiling subroutines |
US9280436B2 (en) | 2009-06-17 | 2016-03-08 | Hewlett Packard Enterprise Development Lp | Modeling a computing entity |
US8099631B2 (en) | 2009-07-17 | 2012-01-17 | Sap Ag | Call-stacks representation for easier analysis of thread dump |
CN101630285A (zh) | 2009-08-07 | 2010-01-20 | 华南理工大学 | 一种应用于嵌入式系统的软件性能测试方法 |
US8103769B1 (en) | 2009-09-03 | 2012-01-24 | Amazon Technologies, Inc. | Dynamic isolation of shared resources |
US20110067007A1 (en) | 2009-09-14 | 2011-03-17 | Red Hat, Inc. | Automatic thread dumping |
CN102576328B (zh) | 2009-10-15 | 2015-09-09 | 日本电气株式会社 | 系统操作管理装置、系统操作管理方法和程序存储介质 |
US8166269B2 (en) | 2009-11-05 | 2012-04-24 | Oracle America, Inc. | Adaptive triggering of garbage collection |
US20110160927A1 (en) | 2009-12-30 | 2011-06-30 | Wilson Kevin W | Method for Prediction for Nonlinear Seasonal Time Series |
US20110161048A1 (en) | 2009-12-31 | 2011-06-30 | Bmc Software, Inc. | Method to Optimize Prediction of Threshold Violations Using Baselines |
US9003377B2 (en) | 2010-01-07 | 2015-04-07 | Microsoft Technology Licensing, Llc | Efficient resumption of co-routines on a linear stack |
JP5418250B2 (ja) | 2010-01-26 | 2014-02-19 | 富士通株式会社 | 異常検出装置、プログラム、及び異常検出方法 |
US8464255B2 (en) | 2010-03-12 | 2013-06-11 | Microsoft Corporation | Managing performance interference effects on cloud computing servers |
JP2011192097A (ja) | 2010-03-16 | 2011-09-29 | Hitachi Ltd | 異常検知方法およびそれを用いた情報処理システム |
WO2011128922A1 (en) | 2010-04-15 | 2011-10-20 | Neptuny S.R.L. | Automated upgrading method for capacity of it system resources |
US9053234B2 (en) | 2010-04-19 | 2015-06-09 | Apple Inc. | Collapsible stack trace |
US8712950B2 (en) | 2010-04-29 | 2014-04-29 | Microsoft Corporation | Resource capacity monitoring and reporting |
US8522216B2 (en) | 2010-05-04 | 2013-08-27 | Oracle International Corporation | Memory leak detection |
US8726240B2 (en) | 2010-05-12 | 2014-05-13 | Salesforce.Com, Inc. | Capturing replayable information at software defect locations in a multi-tenant environment |
US8839209B2 (en) | 2010-05-12 | 2014-09-16 | Salesforce.Com, Inc. | Software performance profiling in a multi-tenant environment |
US9274842B2 (en) | 2010-06-29 | 2016-03-01 | Microsoft Technology Licensing, Llc | Flexible and safe monitoring of computers |
US9122784B2 (en) | 2010-08-26 | 2015-09-01 | Hewlett-Packard Development Company, L.P. | Isolation of problems in a virtual environment |
US9459942B2 (en) | 2010-08-27 | 2016-10-04 | Hewlett Packard Enterprise Development Lp | Correlation of metrics monitored from a virtual environment |
US8667334B2 (en) | 2010-08-27 | 2014-03-04 | Hewlett-Packard Development Company, L.P. | Problem isolation in a virtual environment |
US8499066B1 (en) | 2010-11-19 | 2013-07-30 | Amazon Technologies, Inc. | Predicting long-term computing resource usage |
US20120159449A1 (en) | 2010-12-15 | 2012-06-21 | International Business Machines Corporation | Call Stack Inspection For A Thread Of Execution |
US8892960B2 (en) | 2011-01-19 | 2014-11-18 | Oracle International Corporation | System and method for determining causes of performance problems within middleware systems |
US8627150B2 (en) | 2011-01-19 | 2014-01-07 | Oracle International Corporation | System and method for using dependency in a dynamic model to relate performance problems in a complex middleware environment |
US8631280B2 (en) | 2011-01-19 | 2014-01-14 | Oracle International Corporation | Method of measuring and diagnosing misbehaviors of software components and resources |
US20120197733A1 (en) | 2011-01-27 | 2012-08-02 | Linkedln Corporation | Skill customization system |
US8818787B2 (en) | 2011-01-31 | 2014-08-26 | Yahoo! Inc. | Method and system for predicting performance of software applications on prospective hardware architecture |
US10558544B2 (en) * | 2011-02-14 | 2020-02-11 | International Business Machines Corporation | Multiple modeling paradigm for predictive analytics |
US8856767B2 (en) | 2011-04-29 | 2014-10-07 | Yahoo! Inc. | System and method for analyzing dynamic performance of complex applications |
US20120330717A1 (en) | 2011-06-24 | 2012-12-27 | Oracle International Corporation | Retail forecasting using parameter estimation |
US8713378B2 (en) | 2011-07-07 | 2014-04-29 | Microsoft Corporation | Health monitoring of applications in a guest partition |
US9727441B2 (en) | 2011-08-12 | 2017-08-08 | Microsoft Technology Licensing, Llc | Generating dependency graphs for analyzing program behavior |
US9122602B1 (en) | 2011-08-31 | 2015-09-01 | Amazon Technologies, Inc. | Root cause detection service |
US8965889B2 (en) | 2011-09-08 | 2015-02-24 | Oracle International Corporation | Bi-temporal user profiles for information brokering in collaboration systems |
US8990546B2 (en) | 2011-10-31 | 2015-03-24 | Freescale Semiconductor, Inc. | Data processing system with safe call and return |
US8739172B2 (en) * | 2012-01-16 | 2014-05-27 | Hewlett-Packard Development Company, L.P. | Generating a virtual machine placement plan for an identified seasonality of segments of an aggregated resource usage |
US9172608B2 (en) | 2012-02-07 | 2015-10-27 | Cloudera, Inc. | Centralized configuration and monitoring of a distributed computing cluster |
US9104563B2 (en) | 2012-02-09 | 2015-08-11 | Microsoft Technology Licensing, Llc | Self-tuning statistical resource leak detection |
US8984344B2 (en) * | 2012-02-09 | 2015-03-17 | Freescale Semiconductor, Inc. | Stack-based trace message generation for debug and device thereof |
US8943290B2 (en) | 2012-03-27 | 2015-01-27 | Oracle International Corporation | Automatic management of heterogeneous memory resources |
US20130304901A1 (en) | 2012-05-11 | 2013-11-14 | James Malnati | Automated integration of disparate system management tools |
US8719791B1 (en) | 2012-05-31 | 2014-05-06 | Google Inc. | Display of aggregated stack traces in a source code viewer |
US10057726B2 (en) | 2012-10-02 | 2018-08-21 | Razer (Asia-Pacific) Pte. Ltd. | Managing user data on an electronic device |
US8671373B1 (en) * | 2012-11-09 | 2014-03-11 | Jasper Design Automation, Inc. | Analysis of circuit designs via trace signatures |
US9697102B2 (en) | 2012-11-21 | 2017-07-04 | Sap Se | Compare concurrent threads executions |
US8978022B2 (en) | 2013-01-10 | 2015-03-10 | Oracle International Corporation | Reducing instruction miss penalties in applications |
US8997063B2 (en) * | 2013-02-12 | 2015-03-31 | Concurix Corporation | Periodicity optimization in an automated tracing system |
US9292550B2 (en) * | 2013-02-21 | 2016-03-22 | Oracle International Corporation | Feature generation and model selection for generalized linear models |
US9396030B2 (en) | 2013-03-13 | 2016-07-19 | Samsung Electronics Co., Ltd. | Quota-based adaptive resource balancing in a scalable heap allocator for multithreaded applications |
US9015689B2 (en) * | 2013-03-14 | 2015-04-21 | Board of Regents on Behalf of Arizona State University | Stack data management for software managed multi-core processors |
US10740358B2 (en) | 2013-04-11 | 2020-08-11 | Oracle International Corporation | Knowledge-intensive data processing system |
US9330119B2 (en) | 2013-04-11 | 2016-05-03 | Oracle International Corporation | Knowledge intensive data management system for business process and case management |
CN104182332B (zh) | 2013-05-21 | 2017-09-29 | 华为技术有限公司 | 判断资源泄漏、预测资源使用情况的方法及装置 |
US8977600B2 (en) * | 2013-05-24 | 2015-03-10 | Software AG USA Inc. | System and method for continuous analytics run against a combination of static and real-time data |
US9146862B2 (en) * | 2013-07-18 | 2015-09-29 | International Business Machines Corporation | Optimizing memory usage across multiple garbage collected computer environments |
US9176869B2 (en) | 2013-07-18 | 2015-11-03 | Globalfoundries Inc | Memory use for garbage collected computer environments |
US9442725B2 (en) | 2013-08-21 | 2016-09-13 | Airwatch Llc | Branch trace compression |
US9367428B2 (en) | 2013-10-14 | 2016-06-14 | Nec Corporation | Transparent performance inference of whole software layers and context-sensitive performance debugging |
US9189214B2 (en) | 2013-10-30 | 2015-11-17 | International Business Machines Corporation | Code stack management |
US9009539B1 (en) | 2014-03-18 | 2015-04-14 | Splunk Inc | Identifying and grouping program run time errors |
US9210181B1 (en) | 2014-05-26 | 2015-12-08 | Solana Networks Inc. | Detection of anomaly in network flow data |
US9459894B2 (en) | 2014-06-17 | 2016-10-04 | International Business Machines Corporation | Active control of memory for java virtual machines and other application runtime environments |
US9454454B2 (en) * | 2014-09-09 | 2016-09-27 | Microsoft Technology Licensing, Llc | Memory leak analysis by usage trends correlation |
US10241901B2 (en) | 2014-10-06 | 2019-03-26 | Oracle International Corporation | Web application performance testing |
DE112014007090T5 (de) | 2014-10-24 | 2017-07-13 | Google Inc. | Verfahren und systeme zum automatischen tagging anhand von software-ausführungs-traces |
US9678868B2 (en) | 2014-10-31 | 2017-06-13 | Xiaomi Inc. | Method and device for optimizing memory |
US9557917B2 (en) * | 2014-11-10 | 2017-01-31 | International Business Machines Corporation | Conditional stack frame allocation |
WO2016084076A1 (en) | 2014-11-25 | 2016-06-02 | enSilo Ltd. | Systems and methods for malicious code detection accuracy assurance |
EP3274869A1 (en) | 2015-03-23 | 2018-01-31 | Oracle International Corporation | Knowledge-intensive data processing system |
US10248561B2 (en) | 2015-06-18 | 2019-04-02 | Oracle International Corporation | Stateless detection of out-of-memory events in virtual machines |
US9600394B2 (en) | 2015-06-18 | 2017-03-21 | Oracle International Corporation | Stateful detection of anomalous events in virtual machines |
US9720823B2 (en) | 2015-06-18 | 2017-08-01 | Oracle International Corporation | Free memory trending for detecting out-of-memory events in virtual machines |
CN104951379A (zh) | 2015-07-21 | 2015-09-30 | 国家计算机网络与信息安全管理中心 | 一种基于乘积季节模型的软件再生方法 |
CN105023066B (zh) | 2015-07-31 | 2018-07-17 | 山东大学 | 一种基于季节调整的业扩报装分析预测系统及方法 |
US10025650B2 (en) * | 2015-09-17 | 2018-07-17 | International Business Machines Corporation | Determining a trace of a system dump |
US9792259B2 (en) * | 2015-12-17 | 2017-10-17 | Software Ag | Systems and/or methods for interactive exploration of dependencies in streaming data |
US9792200B2 (en) * | 2016-03-01 | 2017-10-17 | Sap Se | Assessing vulnerability impact using call graphs |
US10534643B2 (en) | 2016-05-09 | 2020-01-14 | Oracle International Corporation | Correlation of thread intensity and heap usage to identify heap-hoarding stack traces |
WO2017196749A1 (en) | 2016-05-09 | 2017-11-16 | Oracle International Corporation | Correlation of stack segment intensity in emergent relationships |
-
2017
- 2017-05-05 US US15/588,531 patent/US10534643B2/en active Active
- 2017-05-05 US US15/588,523 patent/US10467123B2/en active Active
- 2017-05-05 US US15/588,526 patent/US11327797B2/en active Active
- 2017-05-05 US US15/588,521 patent/US10417111B2/en active Active
- 2017-05-08 CN CN201780036496.XA patent/CN109313600B/zh active Active
- 2017-05-08 CN CN201780036490.2A patent/CN109313599B/zh active Active
- 2017-05-08 EP EP17724237.7A patent/EP3455732B1/en active Active
- 2017-05-08 CN CN202210533901.1A patent/CN114896127A/zh active Pending
- 2017-05-08 EP EP17724239.3A patent/EP3455735A1/en not_active Withdrawn
- 2017-05-08 CN CN201780036501.7A patent/CN109313601B/zh active Active
- 2017-05-08 JP JP2018558661A patent/JP6952719B2/ja active Active
- 2017-05-08 JP JP2018558676A patent/JP6913695B2/ja active Active
- 2017-05-08 JP JP2018558658A patent/JP6952058B2/ja active Active
- 2017-05-08 JP JP2018558656A patent/JP6949878B2/ja active Active
- 2017-05-08 EP EP17724238.5A patent/EP3455733A1/en active Pending
- 2017-05-08 EP EP17724692.3A patent/EP3455734A1/en active Pending
- 2017-05-08 CN CN201780036497.4A patent/CN109313602B/zh active Active
-
2019
- 2019-10-30 US US16/669,254 patent/US11093285B2/en active Active
- 2019-12-12 US US16/712,758 patent/US11144352B2/en active Active
-
2021
- 2021-07-02 US US17/366,636 patent/US11614969B2/en active Active
- 2021-09-08 US US17/469,482 patent/US11640320B2/en active Active
- 2021-09-22 JP JP2021154119A patent/JP7331057B2/ja active Active
- 2021-09-28 JP JP2021158071A patent/JP7202432B2/ja active Active
-
2022
- 2022-03-24 US US17/703,862 patent/US20220214918A1/en active Pending
- 2022-12-23 JP JP2022207000A patent/JP7490038B2/ja active Active
-
2023
- 2023-08-09 JP JP2023129817A patent/JP2023162238A/ja active Pending
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6952058B2 (ja) | メモリ使用量判断技術 | |
US12039287B2 (en) | Identifying regulator and driver signals in data systems | |
WO2017196748A1 (en) | Compression techniques for encoding stack trace information |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200402 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200402 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210430 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210525 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210818 |
|
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: 20210831 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210927 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6952058 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |