CN100531070C - 网络资源调度仿真系统 - Google Patents
网络资源调度仿真系统 Download PDFInfo
- Publication number
- CN100531070C CN100531070C CNB2007100469264A CN200710046926A CN100531070C CN 100531070 C CN100531070 C CN 100531070C CN B2007100469264 A CNB2007100469264 A CN B2007100469264A CN 200710046926 A CN200710046926 A CN 200710046926A CN 100531070 C CN100531070 C CN 100531070C
- Authority
- CN
- China
- Prior art keywords
- task
- subtask
- module
- tabulation
- finished
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Abstract
一种计算机应用技术领域的网络资源调度仿真系统,包括GridSim模块、任务定义模块、任务记录模块、任务管理模块、任务内存需求描述模块、资源内存描述模块、调度模块,GridSim模块负责仿真网格环境中CPU和网络属性,任务定义模块定义任务中子任务的属性,任务记录模块定义子任务之间的关联性,任务管理模块负责管理子任务,任务内存需求描述模块描述子任务执行时所需的最小内存条件,资源内存描述模块描述网络中每台计算机内存数量,调度模块,基于用户提供的调度策略结合其余模块的信息实现子任务在不同资源之间的调度。本发明具备全面的资源调度仿真功能,实现测试不同调度策略。
Description
技术领域
本发明涉及的是一种计算机应用技术领域的系统,具体是一种网络资源调度仿真系统。
背景技术
网格技术的核心是实现广域范围内的计算资源、信息资源、存储数据资源和其他各种资源的高效共享和互操作。设计一个网格系统需要考虑许多问题,例如,资源广域共享带来的异构性、安全性和网络性能问题;网格中有效的资源管理和调度也将是一个不容忽视的问题;此外,容错能力、可扩展性以及自适应能力都是网格设计者需要考虑的内容。因此,网格系统设计者在实际部署新设计的系统之前需要确保它能够可行并且具有所期望的执行效率。能够进行资源调度仿真的网格模拟器的出现,给研究人员带来了新的希望。模拟器的作用是模拟一个网格环境,我们可以在这个模拟的环境中研究不同的问题,比如可行性和性能。通过配置参数,更真实的模拟现实环境中的各种场景,使得模拟结果更具真实性;通过分析在模拟器上试验的结果,可以不断地改进设计。因此网格模拟器为验证设计方案、测试设计性能提供了极大的便利。
经对现有技术的文献检索发现,Rajkumar Buyya等在《The Journal ofConcurrency and Computation:Practice and Experience(CCPE)》(《并发和计算:实践与经验》)上发表的“GridSim:A Toolkit for the Modeling and Simulation ofDistributed Resource Management and Scheduling for Grid Computing”(GridSim:网格分布资源管理和调度的建模和仿真工具),该文提出GridSim网格资源调度仿真系统,它建立在SimJava的基础上,具有跨平台特性,GridSim可以进行网格调度算法的模拟。GridSim工具包支持网格环境的基本仿真,负责仿真CPU和网络的属性,用作网格环境中任务调度的仿真。其不足在于:GridSim仿真系统支持的任务种类比较简单,只能够简单的模拟互相之间独立的任务,任务之间互相没有任何关联性;同时GridSim仿真系统在模拟网格仿真环境中的资源时往往并不考虑资源内各计算机方面的性能,这与现实情况不符,相应的也没有考虑到在模拟应用程序时考虑该应用程序对资源计算机内存性能的需求。
发明内容
本发明针对上述现有技术的不足,提出了一种网络资源调度仿真系统,使其能够仿真任务中的子任务相关性,描述任务内存需求和资源内存,全面地仿真网络中的资源,并通过调度模块实现子任务在不同资源之间的调度,实现测试不同调度策略的功能。
本发明是通过以下技术方案实现的,本发明包括:GridSim模块、任务定义模块、任务记录模块、任务管理模块、任务内存需求描述模块、资源内存描述模块、调度模块,所述GridSim模块仿真网格环境中计算资源的CPU和网络属性,并将CPU和网络属性信息传递给调度模块;所述任务定义模块负责定义在GridSim模块仿真的网格环境中运行的任务中子任务的属性,并将子任务的属性传输给调度模块;所述任务记录模块负责定义由任务定义模块定义的子任务之间的关联性,并将子任务之间的关联性传输给调度模块;所述任务管理模块分别管理经任务记录模块定义关联性的未达到执行条件的、正在执行的和已经完成的子任务,并将子任务运行状态信息传输给调度模块;所述任务内存需求描述模块负责描述子任务执行时所需的最小内存条件,并将子任务的最小内存需求信息传递给调度模块;所述资源内存描述模块仿真计算资源的内存属性,并将内存信息传递给调度模块;所述调度模块,基于用户提供的调度策略,接收任务定义模块、任务记录模块、任务管理模块、任务内存需求描述模块、资源内存描述模块、GridSim模块的信息,实现子任务在不同资源之间的调度,将所接收的信息再发送到各个模块。
所述任务记录模块,包括前序任务记录模块与后序任务记录模块,所述前序任务记录模块记录子任务的执行条件,即任务中哪些子任务的完成对该子任务的执行是必要条件,该子任务的执行必须在其前序任务记录模块中的子任务全部执行完毕之后才可以进行;所述后序任务记录模块用来描述该子任务是任务中哪些子任务执行的必要条件,当该子任务执行完毕后其后序任务记录模块中的子任务才有可能达到执行的要求。
所述任务管理模块,包括三张列表来对其子任务进行管理,分别是:waiting列表、exec_列表、finished_列表,所述waiting_列表,记录所有未达到执行条件的子任务,当任务刚建立时所有的子任务都被保存在该队列中等待系统对每个子任务进行判断;所述exec_列表,记录所有现在可以执行的子任务,也只有在exec_列表中的子任务才会被调度,当waiting_列表中被系统判断为满足执行条件的子任务,将被从waiting_列表中移除并添加到exec_列表中被调度;所述finished_列表,记录所有已经完成的子任务,当exec_中的子任务被资源执行完毕返回后将被exec_列表移除,并添加入finished_列表,当任务中的所有子任务被执行完毕保存在finished_列表中后,该任务被执行完毕。
所述exec_列表,其中子任务的前序任务在finished_列表中,子任务的后序任务在waiting_列表中;所述finished列表,其中子任务的前序任务也在finished_列表中,子任务的后序任务在waiting_或exec_列表中;所述waiting列表,其中子任务的前序任务在finished_或exec_列表中,子任务的后序任务也在waiting_列表中。
所述调度模块,调度模块根据用户设定的调度策略,结合GridSim模块仿真网格环境中计算资源的CPU和网络属性、资源内存描述模块仿真计算资源的内存属性,根据任务定义模块定义的子任务属性、任务记录模块确定的子任务关联信息、任务管理模块提供的子任务运行状态信息、任务内存需求描述模块确定的子任务内存需求信息,选择与用户设定的调度策略相匹配的计算资源,并将该子任务调度至选定的计算资源中,如果子任务的前序任务执行完毕,执行该子任务,完毕后被资源返回,并将该子任务从任务管理模块的exec_列表中移除并加入任务管理模块的finished_列表,重复上述过程直至所有子任务完成并被加入任务管理模块的finished_列表,最终实现对各种调度策略的测试。
本发明工作时,创建一个新的任务,任务定义模块定义每个子任务的属性,任务记录模块定义子任务之间的关联性,将所有子任务插入任务管理模块的waiting_列表中,子任务开始执行,判断子任务在任务记录模块中所记录的前序任务是否已经全部执行完毕,如果前序任务执行完毕,在任务管理模块中子任务被从waiting_列表移出到exec_列表,调度模块根据用户设定的调度策略,结合GridSim模块仿真网格环境中计算资源的CPU属性和网络属性、资源内存描述模块仿真计算资源的内存属性,根据子任务计算量、子任务间的关联性、内存需求等属性,选择相应的计算资源,并将该子任务调度至选定的计算资源中,如果子任务的前序任务执行完毕,执行该子任务,完毕后被资源返回,则将该子任务从任务管理模块的exec_列表中移除并加入任务管理模块的finished_列表,重复上述过程直至所有子任务完成并被加入任务管理模块的finished_列表,最终可以实现测试不同调度策略的功能:即针对一组任务和设定的资源配置,在网络资源调度仿真系统中根据用户提供的不同调度策略,测试这组任务执行所需的时间开销。
与现有技术相比,本发明具有如下有益效果:本发明支持相互间有关联和依存关系的任务调度,支持对任务内存需求与资源内存的仿真,其优点在于:(1)本发明能够仿真出一个网格任务有多个有数据相关的子任务,子任务之间有一定的执行次序,即一个作业的输出是另一个作业的输入;(2)不同的网格任务中的子任务,对内存有不同的需求,同时网格环境中的计算机也是具备不同的性能,具有不同大小的内存,本发明的仿真系统可以仿真出计算机内存的要求;(3)在GridSim模块仿真CPU和网络属性的基础之上,本发明的仿真系统仿真一个完整的网格计算环境,包括CPU、网络属性和内存。本发明的仿真系统具备全面资源仿真能力,因此可以用于测试复杂类型任务在网格环境中的调度策略,用于为实际网格应用寻找最佳的调度策略,提高网格系统的处理能力。
附图说明
图1为本发明的系统模块框图;
图2为本发明子任务相关性描述框图;
图3为本发明子任务属性框图;
图4为本发明子任务调度流程框图。
具体实施方式
下面结合附图对本发明的实施例作详细说明:本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
本实施例中一个任务由一组子任务构成,分别是子任务A、子任务B、子任务C、子任务D、子任务E、子任务F,网格环境资源由资源1、资源2和资源3构成,每个资源具有不同大小的内存。
如图1所示,本实施例包括七个模块:GridSim模块、任务定义模块、任务记录模块、任务管理模块、任务内存需求描述模块、资源内存描述模块、调度模块,所述GridSim模块仿真网格环境中计算资源的CPU和网络属性,并将CPU和网络属性信息传递给调度模块;所述任务定义模块负责定义在GridSim模块仿真的网格环境中运行的任务中子任务的属性,并将子任务的属性传输给调度模块;所述任务记录模块负责定义由任务定义模块定义的子任务之间的关联性,并将子任务之间的关联性传输给调度模块;所述任务管理模块分别管理经任务记录模块定义关联性的未达到执行条件的、正在执行的和已经完成的子任务,并将子任务运行状态信息传输给调度模块;所述任务内存需求描述模块负责描述子任务执行时所需的最小内存条件,并将子任务的最小内存需求信息传递给调度模块;所述资源内存描述模块仿真计算资源的内存属性,并将内存信息传递给调度模块;所述调度模块,基于用户提供的调度策略,接收任务定义模块、任务记录模块、任务管理模块、任务内存需求描述模块、资源内存描述模块、GridSim模块的信息,实现子任务在不同资源之间的调度。
如图3所示,所述定义任务中子任务的属性,是指定义每个子任务的编号ID、描述该子任务的计算量length、用来表示该子任务的输入输出文件量FileSize、模拟子任务的通信量大小OutputSize、执行结束时间finishTime、执行开始时间execStartTime、每秒开销costPerSec、实际计算时间actualCPUTime。
所述任务记录模块,包括前序任务记录模块Pred与后序任务记录模块Seed,这两个模块用来定义该子任务与其他哪些子任务存在关联,前序任务记录模块Pred定义每一个子任务直接的前序任务有哪些;后序任务记录模块Seed定义每一个子任务直接的后序任务有哪些,如图2所示,如子任务E,其前序任务记录模块Pred记录子任务C和D,即子任务E必须要在子任务C和D执行完成之后才可以执行,其后序任务记录模块Seed记录子任务F,即子任务F必须等子任务E执行结束才可以开始执行。
所述任务管理模块通过waiting_列表、exec_列表、finished_列表三张列表来对其子任务进行管理,分别表示未达到执行条件的、正在执行的、已经完成的子任务,waiting_列表中记录所有未达到执行条件的子任务;exec_列表中记录所有现在可以执行的子任务,finished_列表用来保存所有已经执行完毕的子任务,当任务中的所有子任务被执行完毕保存在finished_列表中后,该任务被执行完毕。如图4所示,子任务C、子任务E、子任务F还没有达到执行条件,存储在waiting_列表中,如果子任务C达到执行条件则移到exec_列表,子任务B、子任务D满足可执行的条件,存储在exec_列表中,如果子任务D执行完毕,存储到finished_列表中。
所述任务内存需求描述模块,负责定义每个子任务执行需要的最小内存,并提供接口用于修改任务的最小内存,具体如下:
private int numMemory_;//定义了该子任务执行最低需要的内存数量
public int getNumMemory() //获得该子任务执行最低需要的内存数量
public void setNumMemory(int arg)//修改该子任务执行最低需要的内存数量
所述资源内存描述模块,负责定义环境中计算机的当前内存大小,并提供接口用于修改当前机器的内存,具体如下:
private int numMemory_;//定义该计算机中内存的数量
public Machine(int id,PEList list,int numMemory)//设定机器内存及其它属性
public int getNumMemory()//获得该计算机中内存的数量
所述调度模块,调度模块根据用户设定的调度策略,结合GridSim模块仿真网格环境中计算资源的CPU和网络属性、资源内存描述模块仿真计算资源的内存属性,根据任务定义模块定义的子任务属性、任务记录模块确定的子任务关联信息、任务管理模块提供的子任务运行状态信息、任务内存需求描述模块确定的子任务内存需求信息,选择与用户设定的调度策略相匹配的计算资源,并将该子任务调度至选定的计算资源中,如果子任务的前序任务执行完毕,执行该子任务,完毕后被资源返回,并将该子任务从任务管理模块的exec_列表中移除并加入任务管理模块的finished_列表,重复上述过程直至所有子任务完成并被加入任务管理模块的finished_列表,最终实现对各种调度策略的测试。
本实施例工作时,其工作过程如下:创建一组子任务,任务定义模块定义每个子任务的属性,任务记录模块定义子任务之间的关联性,将所有子任务插入任务管理模块的waiting_列表中;子任务开始执行,判断子任务在任务记录模块中所记录的前序任务是否已经全部执行完毕,如果前序任务执行完毕,在任务管理模块中子任务被从waiting_列表移出到exec_列表,调度模块根据用户设定的调度策略,结合GridSim模块仿真网格环境中计算资源的CPU属性和网络属性、资源内存描述模块仿真计算资源的内存属性,根据子任务计算量、子任务间的关联性、内存需求等属性,选择相应的计算资源,并将该子任务调度至选定的计算资源中,如果子任务的前序任务执行完毕,执行该子任务,完毕后被资源返回,如图3所示,针对子任务E,当任务记录模块中记录它的前序子任务C和D已执行结束,将其从waiting_列表中移出至exec_列表,调度模块根据用户设定的调度策略,判断资源1、资源2、资源3是否满足子任务E的要求,并判断出资源2能够满足条件,为此,最终由调度模块将子任务E调度至资源2上执行,子任务E执行完毕并被资源返回,则子任务E从任务管理模块的exec_列表中移除并加入任务管理模块的finished_列表,重复上述过程直至所有子任务完成并被加入任务管理模块的finished_列表。最终可以实现测试不同调度策略的功能:即针对一组任务和设定的资源配置,在网络资源调度仿真系统中根据用户提供的不同调度策略,测试这组任务执行所需的时间开销。
本实施例的仿真系统具备全面资源仿真能力,能够仿真子任务的关联性、仿真子任务的属性,同时仿真网格环境中计算资源的内存属性,因此可以用于测试复杂类型任务在网格环境中的调度策略,用于为实际网格应用寻找最佳的调度策略,提高网格系统的处理能力。
Claims (5)
1、一种网络资源调度仿真系统,包括GridSim模块,其特征在于,还包括:任务定义模块、任务记录模块、任务管理模块、任务内存需求描述模块、资源内存描述模块、调度模块,所述GridSim模块仿真网格环境中计算资源的CPU和网络属性,并将CPU和网络属性信息传递给调度模块,所述任务定义模块负责定义在GridSim模块仿真的网格环境中运行的任务中子任务的属性,并将子任务的属性传输给调度模块,所述任务记录模块负责定义由任务定义模块定义的子任务之间的关联性,并将子任务之间的关联性传输给调度模块,所述任务管理模块分别管理经任务记录模块定义关联性的未达到执行条件的、正在执行的和已经完成的子任务,并将子任务运行状态信息传输给调度模块,所述任务内存需求描述模块负责描述子任务执行时所需的最小内存条件,并将子任务的最小内存需求信息传递给调度模块,所述资源内存描述模块仿真计算资源的内存属性,并将内存信息传递给调度模块;所述调度模块,基于用户提供的调度策略,接收任务定义模块、任务记录模块、任务管理模块、任务内存需求描述模块、资源内存描述模块、GridSim模块的信息,实现子任务在不同资源之间的调度,将所接收的信息再发送到各个模块。
2、根据权利要求1所述的网络资源调度仿真系统,其特征是,所述任务记录模块,包括前序任务记录模块与后序任务记录模块,所述前序任务记录模块记录子任务的执行条件,即任务中哪些子任务的完成对该子任务的执行是必要条件,该子任务的执行必须在其前序任务记录模块中的子任务全部执行完毕之后才能进行;所述后序任务记录模块用来描述该子任务是任务中哪些子任务执行的必要条件,当该子任务执行完毕后其后序任务记录模块中的子任务才有可能达到执行的要求。
3、根据权利要求1所述的网络资源调度仿真系统,其特征是,所述任务管理模块,包括三张列表来对其子任务进行管理,分别是:waiting_列表、exec_列表、finished_列表,所述waiting_列表记录所有未达到执行条件的子任务,当任务刚建立时所有的子任务都被保存在该队列中等待系统对每个子任务进行判断;所述exec_列表记录所有现在可以执行的子任务,也只有在exec_列表中的子任务才会被调度,当waiting_列表中被系统判断为满足执行条件的子任务,将被从waiting_列表中移除并添加到exec_列表中被调度;所述finished_列表记录所有已经完成的子任务,当exec_中的子任务被资源执行完毕返回后将被exec_列表移除,并添加入finished_列表,当任务中的所有子任务被执行完毕保存在finished_列表中后,该任务被执行完毕。
4、根据权利要求3所述的网络资源调度仿真系统,其特征是,所述exec_列表,其中子任务的前序任务在finished_列表中,子任务的后序任务在waiting_列表中;所述finished列表,其中子任务的前序任务也在finished_列表中,子任务的后序任务在waiting_或exec_列表中;所述waiting列表,其中子任务的前序任务在finished_或exec_列表中,子任务的后序任务也在waiting_列表中。
5、根据权利要求3所述的网络资源调度仿真系统,其特征是,所述调度模块根据用户设定的调度策略,结合GridSim模块仿真网格环境中计算资源的CPU和网络属性、资源内存描述模块仿真计算资源的内存属性,根据任务定义模块定义的子任务属性、任务记录模块确定的子任务关联信息、任务管理模块提供的子任务运行状态信息、任务内存需求描述模块确定的子任务内存需求信息,选择与用户设定的调度策略相匹配的计算资源,并将该子任务调度至选定的计算资源中,如果子任务的前序任务执行完毕,执行该子任务,完毕后被资源返回,并将该子任务从任务管理模块的exec_列表中移除并加入任务管理模块的finished_列表,重复上述过程直至所有子任务完成并被加入任务管理模块的finished_列表,最终实现对各种调度策略的测试。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2007100469264A CN100531070C (zh) | 2007-10-11 | 2007-10-11 | 网络资源调度仿真系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2007100469264A CN100531070C (zh) | 2007-10-11 | 2007-10-11 | 网络资源调度仿真系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101141315A CN101141315A (zh) | 2008-03-12 |
CN100531070C true CN100531070C (zh) | 2009-08-19 |
Family
ID=39193078
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2007100469264A Expired - Fee Related CN100531070C (zh) | 2007-10-11 | 2007-10-11 | 网络资源调度仿真系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100531070C (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103384206B (zh) * | 2012-05-02 | 2016-05-25 | 中国科学院计算机网络信息中心 | 一种面向海量数据的并行处理方法及系统 |
CN104378420B (zh) * | 2014-11-12 | 2017-12-29 | 东软集团股份有限公司 | 基于环境感知的数据传输方法及装置 |
CN106155911B (zh) * | 2015-03-30 | 2019-04-12 | 华为技术有限公司 | 一种请求远程内存的方法和装置 |
CN110058937B (zh) * | 2018-01-18 | 2023-05-05 | 伊姆西Ip控股有限责任公司 | 用于调度专用处理资源的方法、设备和介质 |
CN112214304A (zh) * | 2019-07-09 | 2021-01-12 | 中科寒武纪科技股份有限公司 | 内存调度方法及装置 |
CN112631764A (zh) * | 2019-09-24 | 2021-04-09 | 中兴通讯股份有限公司 | 任务调度方法、装置、计算机设备和计算机可读介质 |
CN113420468B (zh) * | 2021-08-24 | 2021-11-19 | 中电烽友信息技术(武汉)有限公司 | 一种基于通用黑板的数据写入冲突处理方法和系统 |
-
2007
- 2007-10-11 CN CNB2007100469264A patent/CN100531070C/zh not_active Expired - Fee Related
Non-Patent Citations (2)
Title |
---|
以策略为机制的网格任务调度模型研究. 周维,罗泽,南凯,阎保平.计算机工程,第33卷第7期. 2007 |
以策略为机制的网格任务调度模型研究. 周维,罗泽,南凯,阎保平.计算机工程,第33卷第7期. 2007 * |
Also Published As
Publication number | Publication date |
---|---|
CN101141315A (zh) | 2008-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Jia et al. | An intelligent cloud workflow scheduling system with time estimation and adaptive ant colony optimization | |
Concepcion et al. | DEVS formalism: A framework for hierarchical model development | |
Hammoud et al. | MRSim: A discrete event based MapReduce simulator | |
CN100531070C (zh) | 网络资源调度仿真系统 | |
US9672065B2 (en) | Parallel simulation using multiple co-simulators | |
CN104965761B (zh) | 一种基于gpu/cpu混合架构的流程序多粒度划分与调度方法 | |
CN104408222B (zh) | 实时分布式仿真平台可重构方法 | |
CN104050042B (zh) | Etl作业的资源分配方法及装置 | |
Teng et al. | Simmapreduce: A simulator for modeling mapreduce framework | |
CN100588197C (zh) | 一种网格模拟方法及其模拟器 | |
CN111708641A (zh) | 一种内存管理方法、装置、设备及计算机可读存储介质 | |
Agarwal et al. | Lessons learnt from the development of gis application on azure cloud platform | |
CN109213587B (zh) | GPU平台下的多Stream并行DAG图任务映射策略 | |
Taheri et al. | Hopfield neural network for simultaneous job scheduling and data replication in grids | |
Henzinger et al. | Scheduling large jobs by abstraction refinement | |
Pop et al. | Performance analysis of grid DAG scheduling algorithms using MONARC simulation tool | |
CN110442753A (zh) | 一种基于opc ua的图数据库自动建立方法及装置 | |
Legrand et al. | Monarc simulation framework | |
Cao et al. | Performance optimization of budget-constrained mapreduce workflows in multi-clouds | |
Amar et al. | Tunable scheduling in a GridRPC framework | |
Nasonov et al. | The multi-level adaptive approach for efficient execution of multi-scale distributed applications with dynamic workload | |
Haque et al. | Simulation of a complex distributed real-time database system | |
Zhang et al. | Improving performance for geo-distributed data process in wide-area | |
Castilhos et al. | A framework for mpsoc generation and distributed applications evaluation | |
Skrinarova et al. | GPGPU based job scheduling simulator for hybrid high-performance computing systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090819 Termination date: 20121011 |