CN100481003C - 交互式游戏中智能非玩家角色的实现方法及系统 - Google Patents

交互式游戏中智能非玩家角色的实现方法及系统 Download PDF

Info

Publication number
CN100481003C
CN100481003C CNB2007101338068A CN200710133806A CN100481003C CN 100481003 C CN100481003 C CN 100481003C CN B2007101338068 A CNB2007101338068 A CN B2007101338068A CN 200710133806 A CN200710133806 A CN 200710133806A CN 100481003 C CN100481003 C CN 100481003C
Authority
CN
China
Prior art keywords
game
javabot
message
recreation
engine
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
Application number
CNB2007101338068A
Other languages
English (en)
Other versions
CN101158897A (zh
Inventor
高阳
王皓
罗文杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University
Original Assignee
Nanjing University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing University filed Critical Nanjing University
Priority to CNB2007101338068A priority Critical patent/CN100481003C/zh
Publication of CN101158897A publication Critical patent/CN101158897A/zh
Application granted granted Critical
Publication of CN100481003C publication Critical patent/CN100481003C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种交互式游戏中智能非玩家角色的实现方法,该方法通过服务器端的游戏引擎、包含JavaBot网络应用编程接口、JavaBot底层处理单元,以及BDI推理单元的客户端控制非玩家角色智能化行为。另外本发明还公开了一种实现本方法的交互式游戏系统。本发明的显著优点是在游戏引擎上增添了一层游戏Agent单元,能够让游戏的开发者在编程处理NPC行为时以AOP的方式进行工作而不必考虑实现细节。因此这样一个智能NPC的实现系统能够更有助于表达游戏中非玩家角色的智能行为、更好地支持游戏中智能技术的应用。

Description

交互式游戏中智能非玩家角色的实现方法及系统
技术领域
本发明涉及交互式游戏的智能数据处理技术,特别是指一种交互式游戏中智能非玩家角色的实现方法及系统。
背景技术
游戏的核心是其引擎,它为游戏提供光影、动画、物理、渲染及输入的支持,并大量地节省了游戏的开发时间和费用。早期游戏引擎的设计没有包含太多人工智能的考虑。游戏中非玩家角色(Non-Player Character,NPC)的行为是由程序员事先编好的,它们始终机械地遵循固定的行为策略,常常表现得不够聪明。上世纪90年代中后期以来,游戏的智能性成为各大游戏公司争相追逐的目标,其表现之一就是对引擎的革命:在设计引擎时越来越多地使用人工智能技术。Quake和Unreal是支持第一人称射击(First Person Shooting,FPS)游戏的两大最著名引擎。美国Michigan大学的Soar/Games项目研究开发了Soar和开源QuakeII之间的接口,在传统Quake II引擎的基础上引入了推理式Agent结构Soar。Unreal虽然不像Quake那样完全开源,但它具有良好的C/S结构,并为Client提供了面向对象的脚本语言UnrealScript,因此提供了比Soar/Games更复杂的多NPC环境。美国Southern California大学和CarnegieMellon大学基于Unreal Tournament游戏研究开发了GameBot项目。另一方面,即时战略(Real-Time Strategy,RTS)游戏是FPS外影响较大的游戏类型。RTS对游戏NPC的智能性要求更高,因为它不仅涉及单个NPC的智能表现,而且更多地会涉及到战术的、战略的、决策的智能行为。加拿大Alberta Edmonton大学研究开发了基于客户端-服务器(Client-Server,C/S)结构的免费RTS引擎ORTS。尽管如此,该项目的人工智能引擎还缺乏进一步补充实时规划、不确定环境下推理、对手建模、学习、空间和时间推理、协作等关键技术的研究,无法充分实现网络游戏中NPC的智能化。
发明内容
有鉴于此,本发明的目的是针对现有交互式游戏引擎技术的不足,提供一种能够使交互式游戏中非玩家角色更加智能化的实现方法,解决游戏开发中预设非玩家角色动作程序复杂且过于机械的问题。
为了达到上述目的,本发明提供了一种交互式游戏中智能非玩家角色的实现方法,该方法通过服务器端的游戏引擎、包含JavaBot网络应用编程接口(API)和JavaBot底层处理单元以及BDI推理单元的游戏客户端控制NPC智能化行为,该方法包括以下步骤:
(1)启动包含JavaBot网络应用编程接口、JavaBot底层处理单元、以及BDI推理单元的客户端,并将客户端与服务器端游戏引擎相连;
(2)JavaBot网络应用编程接口将上述服务器端游戏引擎发出的游戏消息进行解析并传送到JavaBot底层处理单元;
(3)JavaBot底层处理单元将上述游戏消息解析为状态信息,并传送到BDI推理单元;
(4)BDI推理单元将上述状态信息处理后编译为动作愿望传送回JavaBot底层处理单元;
(5)JavaBot底层处理单元接收上述动作愿望并传送到JavaBot网络API;
(6)JavaBot网络API将上述动作愿望解析为动作命令传送到服务器端的游戏引擎;
(7)游戏引擎根据JavaBot网络API传送的动作命令控制NPC的动作,并返回步骤(2)。
在所述方法中,步骤(3)进一步包括:JavaBot底层处理单元对JavaBot网络API解析过的游戏消息进行判断,如果该消息表达的是游戏中NPC的底层行为,则由JavaBot底层处理单元直接处理后跳至步骤(6);如果该消息表达的是游戏中NPC的高级智能行为,则发送给BDI处理单元。
在上述方法中,所述游戏中NPC的底层行为包括:寻找目标、跑动和闪避等等。
在上述方法中,所述游戏中NPC的高级智能行为包括:学习、规划、决策、推理和协作等等。
本发明的另一个目的在于提供一种实现本发明方法的交互式游戏系统,该系统包括游戏服务器端游戏引擎和游戏客户端,所述游戏客户端还包括游戏Agent单元;
所述的游戏Agent单元用于接收游戏服务器端发送的游戏消息,将消息进行分析,并根据上述消息发出动作命令;
所述的游戏客户端用于与游戏服务器端相连,发送并接收游戏服务器端传送的游戏信息;
所述的服务器端游戏引擎用于处理与具体游戏相关的光影、动画、物理、渲染信息及输入的支持,以及将游戏玩家和NPC的游戏消息传送给游戏客户端,以及根据包含游戏Agent单元的游戏客户端发出的动作命令控制NPC的动作,以及将动作变化后的游戏玩家和NPC的游戏消息传送给游戏客户端。
在所述系统中,所述游戏Agent单元包括:JavaBot网络API、JavaBot底层处理单元、以及BDI推理单元;其中,JavaBot网络API和JavaBot底层处理单元用于接收游戏消息并发送给BDI推理单元处理;
所述JavaBot网络API和JavaBot底层处理单元还可以处理游戏底层行为,同时将高级的智能行为发送给BDI推理单元处理;
BDI推理单元包括信念、目标和规划三个部分;所述信念可以是游戏中任何类型的Java对象;所述目标是游戏中人物要实现的目标;规划是游戏中实现agent目标的方法。
在上述系统中,所述BDI推理单元可由Jadex推理agent引擎实现;其中Jadex推理agent引擎处理游戏中的事件和消息,并选择规划库中的合适的规划去执行;其中信念库决定了Jadex推理agent引擎的规划执行,而规划的执行又可以改变信念库,改变的信念将触发内部事件,产生新的目标和新的规划执行。
有益效果:本发明的显著优点是在游戏引擎上增添了一层游戏Agent单元,能够让游戏的开发者在编程处理NPC行为时以AOP的方式进行工作而不必考虑实现细节。因此与传统的过程化的或OOP的方法相比,这样一个智能游戏平台能够更有助于表达游戏NPC的智能行为、更好地支持游戏中智能技术的应用。
附图说明
图1是本发明的工作运行流程。
图2是包含本发明的客户端—服务器结构。
图3是本发明的游戏包含Agent单元的框图结构。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步的详细描述。
本发明的核心是在游戏引擎上增加一层BDI推理单元,该单元与JavaBot网络API及JavaBot底层处理单元共同构成游戏Agent单元,并内嵌于游戏客户端中,通过这样的结构可以实现交互式游戏中NPC的智能化动作,并且使游戏Agent单元无需经过很大改动就能与不同的游戏引擎对接。
下面通过实施例详细说明本发明方法,该方法如图1和图3所示,具体包括如下步骤:
步骤101:启动游戏客户端并将客户端与服务器端基于Agent环境开发的游戏引擎相连;
步骤102:JavaBot网络API接收服务器端游戏引擎发送的游戏消息,解析后发送;
步骤103:JavaBot底层处理单元接收消息并解析,判断是否是NPC的底层行为,如果是底层行为,则进行步骤104,如果是高级智能行为,则进行步骤105;
步骤104:由JavaBot底层处理单元处理该行为并发送,跳至步骤107。
步骤105:BDI推理单元使用Jadex推理agent引擎完成交互式BDI过程,通过信念、目标、规划三个部分将接收到的游戏状态信息处理后编译为动作愿望后发送给JavaBot底层处理单元;
步骤106:JavaBot底层处理单元接收到Jadex推理agent引擎解析的动作愿望并发送到JavaBot网络API。
步骤107:JavaBot网络API将动作愿望解析为动作命令并发送给服务器游戏引擎。
步骤108:服务器游戏引擎根据从JavaBot网络API传送的动作命令控制NPC的动作,并返回步骤102。
在上述方法中,步骤103中,所述游戏中NPC的底层行为包括:寻找目标、跑动和闪避等等。
在上述方法中,步骤103中,所述游戏中NPC的高级智能行为包括:学习、规划、决策、推理和协作等等。如图2和图3所示,本发明的重点在于该智能游戏的体系结构以及客户端和服务器之间的网络API,服务器之间的网络API又包括三个部分:消息及命令的格式、消息和命令,下面详细说明:
(1)智能游戏的体系结构。本发明的体系结构包括游戏引擎、JavaBot编程接口和BDI推理Agent引擎Jadex三个模块。游戏引擎处理与具体游戏相关的光影、动画、物理、渲染信息及输入的支持,构成了游戏的服务器端。JavaBot编程接口和BDI推理Agent引擎Jadex则共同构成了游戏的客户端。前者支持以面向对象的方式处理游戏角色的底层行为(例如寻找目标、跑动、闪避等等),而后者负责处理高级的智能行为(例如学习、规划、决策、推理、协作等等)。在游戏引擎不提供游戏Agent间通讯功能时(如Unreal引擎),Jadex还负责处理游戏Agent之间的通讯。
(2)客户端与游戏服务器间的网络API。
①消息及命令的格式。本发明中的消息都具有形如“MSGTYPE{arg1arg1val}{arg2 arg2val}...”的格式(不包含左右端的引号)。对消息的解析遵循以下几条规定:
a.从左边起第一个空格符前(不包括第一个空格符)所有的字符是消息(命令)的类型;
b.消息中除了类型指示符以外的内容都是用花括号{}括起的attr-val对;
c.花括号中第一个字符至第一个空格符(不包括第一个空格符)之间所有的字符表示属性名称(attr);
d.val部分从结束attr的空格符开始(不包括该空格符),至“}”结束,中间可以包含一个或多个空格符。
命令的格式及其解析与消息类似。
②感知消息。服务器向客户端发送的感知消息包括同步消息和异步消息两类,分别说明如下:
a.同步消息。同步消息以固定(可调整)的时间间隔批量到达客户端,内容包括图形显示的更新等等。在一批消息的开始,服务器发送一个带时间戳的“BEG”消息,当这批消息发送结束时,服务器再发送一个带有相同时间戳的“END”消息。下面是一些常用的同步消息及其参数。
BEG:一批同步消息的开始
SLF:Agent的状态信息
GAM:游戏(环境)信息
NAV:游戏中的路径节点
MOV:游戏中的运动物体(例如门、电梯等等)
INV:位于地上的可被捡起的物品
END:表示一批同步消息的结束
b.异步消息。异步消息以事件的方式被客户端响应。下面是一些常用的异步消息及其参数。
NFO:Agent连接到服务器后服务器提供的帮助信息。
VMS:从全局聊天通道中获得的消息
VMT:从全局私人聊天通道获得的消息;
ZCF:脚步地域信息
ZCH:头部地域信息
ZCB:身体地域信息
CWP:Agent更换武器(命令的结果或自动更换)
WAL:撞墙
FAL:碰到绊脚物
BMP:撞到了另一个Agent或玩家或障碍物
HRP:听到捡物品的声音
HRN:听见了噪音(撞击声、射击声)
SEE:看见了另一个玩家
PRJ:接近的飞弹可能造成伤害
KIL:某个玩家死亡
DIE:死亡
DAM:造成伤害
HIT:伤害了另一个游戏者
PTH:路径节点的序列,作为GETPATH命令的返回结果发送给客户端
RCH:CHECKREACH命令的布尔返回值
FIN:游戏结束(没有参数)。
③命令。Agent通过向游戏服务器发送命令来执行动作。命令具有与消息相类似的格式和解析方法。下面是一些常用的命令及其参数。
INIT:在游戏中创建一个Agent玩家,表明玩家参与到游戏中。该命令在接受到NFO消息后发送:
Name:希望采用的名字;
Team:希望加入的团队;.
SETWALK:设置移动的模式(走或跑,速度不同)
STOP:停止所有的动作
JUMP:跳跃
RUNTO:跑动至某个目标位置
STRAFE:与RUNTO类似,只是在接近目标的过程中面对着另一个方向或物体
TURNTO:转向某个点、物体或指明旋转角度
ROTATE:旋转某个角度
SHOOT:使用武器射击
CHANGEWEAPON:更换武器
STOPSHOOT:停止射击
CHECKREACH:检查一下看是否能够直接地移动到某个目标位置而不遇到障碍物
GETPATH:得到通向特定位置的路径
MESSAGE:向游戏世界或队友发送一条消息
PING:当预期的同步消息没能及时到达时向服务器发送该命令以查看网络连接状况。

Claims (7)

1、一种交互式游戏中智能非玩家角色的实现方法,其特征在于,该方法通过服务器端的游戏引擎、包含JavaBot网络应用编程接口和JavaBot底层处理单元以及BDI推理单元的客户端控制非玩家角色智能化行为,该方法包括以下步骤:
(1)启动包含JavaBot网络应用编程接口、JavaBot底层处理单元、以及BDI推理单元的客户端,并将客户端与服务器端游戏引擎相连;
(2)JavaBot网络应用编程接口将上述服务器端游戏引擎发出的游戏消息进行解析并传送到JavaBot底层处理单元;
(3)JavaBot底层处理单元将上述游戏消息解析为状态信息,并传送到BDI推理单元;
(4)BDI推理单元将上述状态信息处理后编译为动作愿望传送回JavaBot底层处理单元;
(5)JavaBot底层处理单元接收上述动作愿望并传送到JavaBot网络应用编程接口;
(6)JavaBot网络应用编程接口将上述动作愿望解析为动作命令传送到服务器端的游戏引擎;
(7)游戏引擎根据JavaBot网络应用编程接口传送的动作命令控制非玩家角色的动作,并返回步骤(2)。
2、根据权利要求1所述的交互式游戏中智能非玩家角色的实现方法,其特征在于,步骤(3)进一步包括:JavaBot底层处理单元对JavaBot网络应用编程接口解析过的游戏消息进行判断,如果该消息表达的是游戏中非玩家角色的底层行为,则由JavaBot底层处理单元直接处理为动作愿望后跳至步骤(6)。
3、一种交互式游戏系统,包括游戏服务器端游戏引擎和游戏客户端,其特征在于,所述游戏客户端还包括游戏Agent单元;
所述的游戏Agent单元用于接收游戏服务器端游戏引擎发送的游戏消息,将消息进行分析,并根据上述消息发出动作命令;
所述的游戏客户端用于与游戏服务器端游戏引擎相连;
所述的服务器端游戏引擎用于处理与游戏相关的光影、动画、物理、渲染信息和输入的支持,以及将游戏玩家和非游戏玩家的游戏消息传送给游戏客户端,以及根据包含游戏Agent单元的游戏客户端发出的动作命令控制非游戏玩家的动作,以及将动作变化后的游戏玩家和非游戏玩家的游戏消息传送给游戏客户端;
所述游戏Agent单元包括JavaBot网络应用编程接口、JavaBot底层处理单元、以及BDI推理单元;其中,JavaBot网络应用编程接口和JavaBot底层处理单元用于接收游戏消息并发送给BDI推理单元处理。
4、根据权利要求3所述的交互式游戏系统,其特征在于,所述JavaBot网络应用编程接口和JavaBot底层处理单元还可以处理游戏消息中的游戏底层行为。
5、根据权利要求3所述的交互式游戏系统,其特征在于,所述BDI推理单元包括信念、目标和规划三个部分;所述信念可以是游戏中任何类型的Java对象;所述目标是游戏中角色要实现的目标;所述规划是游戏中实现目标的方法。
6、根据权利要求5所述的交互式游戏系统,其特征在于,其中BDI推理单元由Jadex推理agent引擎实现。
7、根据权利要求6所述的交互式游戏系统,其特征在于,所述Jadex推理agent引擎处理游戏中的事件和消息,并选择规划库中的合适的规划去执行;
所述信念决定了Jadex推理agent引擎的规划执行,而规划的执行又可以改变信念,改变的信念将触发内部事件,产生新的目标和新的规划执行。
CNB2007101338068A 2007-10-09 2007-10-09 交互式游戏中智能非玩家角色的实现方法及系统 Expired - Fee Related CN100481003C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2007101338068A CN100481003C (zh) 2007-10-09 2007-10-09 交互式游戏中智能非玩家角色的实现方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2007101338068A CN100481003C (zh) 2007-10-09 2007-10-09 交互式游戏中智能非玩家角色的实现方法及系统

Publications (2)

Publication Number Publication Date
CN101158897A CN101158897A (zh) 2008-04-09
CN100481003C true CN100481003C (zh) 2009-04-22

Family

ID=39307008

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2007101338068A Expired - Fee Related CN100481003C (zh) 2007-10-09 2007-10-09 交互式游戏中智能非玩家角色的实现方法及系统

Country Status (1)

Country Link
CN (1) CN100481003C (zh)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101661629B (zh) * 2008-08-28 2013-03-06 国际商业机器公司 监视三维虚拟世界中角色行为的装置和方法
CN102158524A (zh) * 2010-12-30 2011-08-17 北京像素软件科技股份有限公司 一种基于渲染的分布式行为控制系统
US20120225722A1 (en) * 2011-03-04 2012-09-06 Microsoft Corporation Cascading points system
CN102298673A (zh) * 2011-09-20 2011-12-28 北京像素软件科技股份有限公司 一种非玩家控制角色的行为决策方法
CN102708290A (zh) * 2012-05-10 2012-10-03 北京像素软件科技股份有限公司 一种实现动态处理游戏行为的方法和系统
CN104225918A (zh) * 2013-06-06 2014-12-24 苏州蜗牛数字科技股份有限公司 基于网络游戏的npc自主反馈交互方法
CN107623753B (zh) * 2014-01-21 2020-08-25 联想(北京)有限公司 信息处理方法和信息处理设备
CN103838982B (zh) * 2014-03-27 2017-05-03 广州爱九游信息技术有限公司 一种虚拟游戏对象生成方法及装置
JP2015223227A (ja) * 2014-05-26 2015-12-14 株式会社バンダイナムコエンターテインメント プログラム及びゲームシステム
CN104978488B (zh) * 2015-06-26 2018-01-12 广州华多网络科技有限公司 游戏角色的行为解析方法及装置
CN105561578A (zh) * 2015-12-11 2016-05-11 北京像素软件科技股份有限公司 一种非玩家控制角色npc的行为决策方法
CN105435453B (zh) * 2015-12-22 2019-02-19 网易(杭州)网络有限公司 一种弹幕信息处理方法、装置和系统
CN106139591A (zh) * 2016-06-27 2016-11-23 江苏易乐网络科技有限公司 一种基于Flex的网页游戏引擎
KR101999827B1 (ko) * 2016-09-02 2019-07-12 주식회사 겜프스 전투게임 제공 장치 및 방법
CN106445710A (zh) * 2016-10-26 2017-02-22 腾讯科技(深圳)有限公司 一种交互式对象确定的方法及相关设备
CN106730853B (zh) * 2017-01-03 2020-06-23 腾讯科技(深圳)有限公司 一种游戏参数配置方法以及相关装置
CN107145948B (zh) * 2017-04-12 2021-05-18 四川大学 一种基于多智能体技术的npc控制方法
CN108170537B (zh) * 2017-12-06 2021-02-02 北京像素软件科技股份有限公司 游戏api实现方法、装置、接口服务器及可读存储介质
CN109739624B (zh) * 2018-12-27 2021-07-16 北京三快在线科技有限公司 分布式事务处理方法、装置、电子设备及计算机可读介质
CN109857552A (zh) * 2019-01-11 2019-06-07 珠海金山网络游戏科技有限公司 一种游戏人工智能行动规划方法及系统
CN109960545B (zh) * 2019-03-29 2022-09-13 网易(杭州)网络有限公司 虚拟对象控制方法、系统、装置、介质及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1801084A (zh) * 2005-01-05 2006-07-12 英业达股份有限公司 游戏开发系统以及方法
CN1987881A (zh) * 2006-12-22 2007-06-27 北京金山软件有限公司 在游戏中分配非玩家控制角色的方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1801084A (zh) * 2005-01-05 2006-07-12 英业达股份有限公司 游戏开发系统以及方法
CN1987881A (zh) * 2006-12-22 2007-06-27 北京金山软件有限公司 在游戏中分配非玩家控制角色的方法及装置

Also Published As

Publication number Publication date
CN101158897A (zh) 2008-04-09

Similar Documents

Publication Publication Date Title
CN100481003C (zh) 交互式游戏中智能非玩家角色的实现方法及系统
CN111744201B (zh) 视频游戏中的自动玩家控制接管
Lim et al. Evolving behaviour trees for the commercial game DEFCON
Buro et al. Real‐Time Strategy Game Competitions
KR20130121699A (ko) 상호작용 혼성 비동기 컴퓨터 게임 기반구조
Gaina et al. General video game for 2 players: Framework and competition
US20120115605A1 (en) Systems and methods for inverse franchising of virtual characters
Hou et al. Infinite Mario Bross AI using genetic algorithm
Neufeld et al. HTN fighter: Planning in a highly-dynamic game
Tomai et al. Adapting in-game agent behavior by observation of players using learning behavior trees
DaGraça Practical Game AI Programming
CN112870727B (zh) 一种游戏中智能体的训练及控制方法
Patel et al. Improving behavior of computer game bots using fictitious play
Ross General video game playing with goal orientation
Kayakoku et al. A Novel Behavioral Strategy for RoboCode Platform Based on Deep Q‐Learning
Patel et al. Designing BOTs with BDI agents
Miller et al. Panoptyk: information driven mmo engine
WO2024041142A1 (zh) 基于可拾取道具的交互方法、装置、电子设备、计算机可读介质及计算机程序产品
Laursen et al. Investigating small scale combat situations in real-time-strategy computer games
Tomai et al. Simulating adaptive quests for increased player impact in MMORPGs
Cardamone Evolutionary learning and search-based content generation in computer games
WO2024109365A1 (zh) 虚拟对象的控制方法、装置、设备、介质及产品
WO2024027292A1 (zh) 虚拟场景中的交互方法、装置、电子设备、计算机可读存储介质及计算机程序产品
US20240050858A1 (en) Automated Validation of Video Game Environments
de Oliveira et al. RobôCIn Team Description Paper 2019

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090422

Termination date: 20191009

CF01 Termination of patent right due to non-payment of annual fee