CN1819556A - 基于最小生成树和贪婪算法的动态时延约束的多播路由的方法 - Google Patents
基于最小生成树和贪婪算法的动态时延约束的多播路由的方法 Download PDFInfo
- Publication number
- CN1819556A CN1819556A CNA2006100186152A CN200610018615A CN1819556A CN 1819556 A CN1819556 A CN 1819556A CN A2006100186152 A CNA2006100186152 A CN A2006100186152A CN 200610018615 A CN200610018615 A CN 200610018615A CN 1819556 A CN1819556 A CN 1819556A
- Authority
- CN
- China
- Prior art keywords
- multicast
- node
- tree
- path
- algorithm
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于最小生成树和贪婪算法的动态时延约束的多播路由方法:当网络节点v在动态多播树T上,则将网络节点v标记为多播成员;当网络节点v不在动态多播树T上,计算最小生成树路径、最小费用路径和最小时延路径到已有的多播树的费用,取其中满足时延要求且增加费用最小的一条连到已有的多播树,从而使网络节点v加到动态多播树T上,在将网络节点v标记为多播成员;当网络节点v要离开动态多播树T时,采用贪婪算法使节点v离开动态多播树T。该方法的执行时间与经典的最小路径费用算法MPH相当。DGA的费用比MPH算法高4%-5%左右,因此它是一种低复杂度的时延约束的低费用多播路由方法,在多播节点密度较大时显示了优越性,且它的平均无效度在其他情况下也在可接受的范围之内。
Description
技术领域
本发明属于网络网络通信中的路由技术,具体涉及一种多播路由中节点加入到多播树或离开多播树的方法。
背景技术
多播技术的发展背景
计算机网络飞速发展,网络功能日益强大。网络的作用从简单的信息传送发展到远程教学、视频会议、数据分发和网络游戏等。用户的数据要从一个终端发送到另一个终端,首先要确定传输路由,不同的通信方式,其确定路由的方式也不同。如今网络的通信方式主要有以下几种:
单播(unicast:point to point),点到点的通信方式。
多播(multicast:point to multipoint),点到多点的通信方式。
汇播(concast:multipoint to point),多点到一点的通信方式。
群播(multipoint to mult ipoint),多点到多点的通信方式。
广播(broadcast:point to all point),点到所有节点的通信方式。
任播(anycast:point to any point),—点到一个或多个网络接口(通常属于不同的结点)的通信。如果数据包发向任播地址,它会被路由到有这个地址的最近接口处,至于什么是最近,要看路由协议的规定了。
单播的实现一般采用Dijkstra提出的最短路算法Bellman-Ford算法来建立点到点的路由。广播是网络中常用的通信方式,其涉及一节点向网络中所有节点发送信息,广播通信方式在局域网中应用很广。而多播是一源节点向多个目的节点发送信息(但不是所有节点)的通信方式,涉及多播技术的应用很多,如多媒体会议、远程教育、数据分发等。多媒体会议是多播应用的一个典型例子,数据分发是多播应用的另一个领域,这项技术允许公司每天夜里向他们的远程商店发布新的信息,比如价格和产品信息,以便在下一个营业日有更新的信息。多播应用的普及也导致了多播主干网的快速发展。汇播和多播有相同之处,多播是一点到多点的通信,而汇播是多点到多点的通信方式,例如远程数据采集。至于群播的典型应用是网络即时游戏,在多方游戏中,需要将各自的状态互相同步发送。在多播、汇播和群播中,多播是目前研究得最多,也是应用最广的网络连接方式。
在多播通信中,若对每个目的节点单独发送数据包,则将大大浪费网络资源,增加源节点的处理负担,严重时会加剧网络的拥塞。因此,有必要寻求网络层对多播通信的支持,使多播技术满足多媒体实时应用的要求。从而出现了以多播树(multicasting tree)实现多播的方式。多播树是覆盖所有多播组成员的一棵生成树,多播树有以下两个优点:1)信息以并行的方式沿着树枝发送到不同的组成员,降低了信息传递的时延;2)网络中需要传送的复制信息最少,而且信息的复制只在树权处进行,这样能够节省网络带宽资源,提高每次多播通信时的资源利用率,并能减少拥塞,降低网络负载。而这棵多播树的生成是由多播路由算法决定。
典型的路由选择方式有两种:静态路由和动态路由。
静态路由是在路由器中设置的固定的路由表。除非网络管理员干预,否则静态路由不会发生变化。由于静态路由不能对网络的改变作出反映,一般用于网络规模不大、拓扑结构固定的网络中。静态路由的优点是简单、高效、可靠。在所有的路由中,静态路由优先级最高。当动态路由与静态路由发生冲突时,以静态路由为准。
动态路由是网络中的路由器之间相互通信,传递路由信息,利用收到的路由信息更新路由器表的过程。它能实时地适应网络结构的变化。如果路由更新信息表明发生了网络变化,路由选择软件就会重新计算路由,并发出新的路由更新信息。这些信息通过各个网络,引起各路由器重新启动其路由算法,并更新各自的路由表以动态地反映网络拓扑变化。动态路由适用于网络规模大、网络拓扑复杂的网络。当然,各种动态路由协议会不同程度地占用网络带宽和CPU资源。
静态路由和动态路由有各自的特点和适用范围,因此在网络中动态路由通常作为静态路由的补充。当一个分组在路由器中进行寻径时,路由器首先查找静态路由,如果查到则根据相应的静态路由转发分组;否则再查找动态路由。
动态Steiner问题的定义
给定一个图G(V,E),节点集DV,一组操作请求序列R={r0,r1,...,rk},其中ri为(xi,Oi),节点xi∈V,操作Oi={加入,删除},Di代表在第i步操作Oi后多播节点的集合,且要求相邻的两步操作不能是将一个节点加入,又立即将该节点删除。经过序列集R操作后相应得到覆盖Di的r树序列{T0,T1,...,TK},并使得其中每一棵树Ti的费用最小化,则称这一组Steiner树为动态Steiner树,这类问题为动态无约束多播路由问题。解决这类问题的算法称为动态费用优化多播路由算法。
动态时延约束Steiner问题的定义
前面所讨论的属于动态Steiner树问题,若要考虑QoS,势必使问题更加复杂化,通常也仅仅讨论时延约束的惰况。这里给出动态时延约束Steiner问题的定义。
给定一个图G(V,E),s为源节点,一组操作请求序列R={r0,r1,...,rk},其中ri为(xi,Oi),节点xi∈V,操作Oi={加入,删除},Di代表在第i步操作Oi后多播节点的集合,且要求相邻的两步操作不能是将一个节点加入,又立即将该节点删除。经过序列集R操作后相应得到覆盖Di∪s的r树序列{T0,T1,...,TK},且没个目的节点的时延d(i,j)都小于Δ,即最大时延
同时还要使每棵树Ti的费用
最小。则称这一组树序列为动态时延约束费用优化多播路由问题。解决这类问题的算法称为动态时延约束费用优化多播。
典型的动态无约束费用优化多播路由算法
动态无约束费用优化多播路由启发式算法主要解决动态Steiner问题,所得的树称为动态Steiner树。动态Steiner村算法的计算量非常大,因此需要寻求有效的动态多播路由启发式算法。Waxman等提出了一些算法,下面简要叙述这些算法。
(1)、动态贪婪算法(DGA:Dynamic Greedy Algorithm)
DGA算法是由B.M.Waxman提出来的,实际上有关动态多播路由算法的研究就是由B.M.Waxman开始的。动态贪婪算法的描述如下:
增加一个多播节点:在多播树T中,要加入多播节点v,则先求v到T的最短路由连接(v1,v2,v3,...,vi,y),该最短路由连接中只有节点y∈VT,但是y不一定属于D,VT是树T的节点集合,将该路径中除y节点外的所有节点和链路都加入到T中,由于每一次增加一个多播节点都是选择到多播树的最短路由,就成为贪婪算法名称的由来。该算法的复杂性为O(n2)、
删除一个多播节点:要从多播树T中删除一个多播节点,则先将该节点打上删除标记,然后检查待删除的多播节点是否为叶节点,如果是,则将该节点删除,并将多播树中度数为1的非多播节点删除,直到不存在度数为1的非多播节点,算法才停止。由于删除度数为1的非多播节点,只可能是沿一条树枝修剪,所以该算法的时间复杂度为o(n)。
(2)、加权贪婪算法(WGA:weighted Greedy Algorithm)
加权贪婪算法只是在最短路径函数上与贪婪算法不同。首先选择一个节点O作为多播树的主节点,主节点应该一直在多播树上,因此在点对多点的多播中源节点是合适的节点,而多点对多点的通信中,可以选择一个合适的源节点或中心点作为主节点。
加入一个节点u:选择树上的节点v,使得以下函数最小:
w(v)=(1-ω)d(u,v)+ωd(v,o)
d(x,y)是x,y间的距离,当ω=0时,该算法退化为贪婪算法;当ω=0.5时,即节点u直接通过最低费用路径连接到主节点o,这就是下面的SP算法。根据Waxman的仿真经验,ω==03时,算法的平均无效度值达到最佳。
删除一个多播节点:要从多播树T中删除一个多播节点,则先将该节点打上删除标记,然后检查待删除的多播节点是否为叶节点,如果是,则将该节点删除,并将多播树中度数为1的非多播节点删除,直到不存在度数为1的非多播节点,算法才停止。由于删除度数为1的非多播节点,只可能是沿一条树枝修剪,所以该算法的时间复杂度为O(n)。
Prim算法:
解决最小生成树问题的经典算法,它的基本步骤如下
首先任选一顶点作为子树的根节点;
将所有的边依照权重放入优先权队列;
在队列中寻找能与子树中顶点连接的最轻边加入到子树中;
重复前一步直到所有顶点皆包含在此子树中。
通过以上步骤就可以得出最小生成树。
Dijkstra算法:
经典的最短路径算法是目前多数系统解决最短路径问题采用的理论基础。
Dijkstra算法的基本思路是:假设每个点都有一对标号(dj,pj),其中dj是从起源点s到点j的最短路径的长度(从顶点到其本身的最短路径是零路(没有弧的路),其长度等于零);pj则是从s到j的最短路径中j点的前一点。求解从起源点s到点j的最短路径算法的基本过程如下:
1)初始化。起源点设置为:①ds=0,ps为空;②所有其他点:di=∞,pi=?;③标记起源点s,记k=s,其他所有点设为未标记的。
2)检验从所有已标记的点k到其直接连接的未标记的点j的距离,并设置:
dj=min[dj,dk+lkj]
式中,lkj是从点k到j的直接连接距离。
3)选取下一个点。从所有未标记的结点中,选取dj中最小的一个i:
di=min[dj,所有未标记的点j]
点i就被选为最短路径中的一点,并设为已标记的。
4)找到点i的前一点。从已标记的点中找到直接连接到点i的点j*,作为前一点,设置:
i=j*
5)标记点i。如果所有点已标记,则算法完全推出,否则,记k=i,转到2)再继续。
最终推导出一条符合要求的最短路径。
现有的对于动态时延约束的最小Steiner树问题,贪婪算法和加权贪婪算法虽然是复杂度较低的不重组算法,但树的网络费用却随着节点更新对间的递增而可能变得很坏,其主要原因是动态贪婪算法中每次节点加入动态多播树都是选择一条到多播树的最短路由,因此这就有很大的局限性,最短路由并不能表示多播树性能的好坏,随着节点的增多,多播树的性能就会明显的下降;而且当节点离开时,若它不是树上的叶节点,则不会被剪除,而是仍然保留在多播树上,若这样的节点增多时,则树的网络费用可能会高于最佳树的网络费用值许多,因此贪婪算法和加权贪婪算法的无效度会较大。
发明内容
本发明的目的在于提供一种基于最小生成树和贪婪算法基本思想的一种动态时延约束的多播路由方法,它是解决动态Steiner问题的方法,称之为DGA(Dynamic Greedy multicast routing Algorithm)方法。
实现本发明目的的技术方案为:基于最小生成树和贪婪算法的动态时延约束的多播路由方法,它包括网络节点v,动态多播树T;当网络节点v在动态多播树T上,则将网络节点v标记为多播成员;当网络节点v不在动态多播树T上,计算最小生成树路径、最小费用路径和最小时延路径到已有的多播树的费用,取其中满足时延要求且增加费用最小的一条连到已有的多播树,从而使网络节点v加到动态多播树T上,在将网络节点v标记为多播成员;当网络节点v要离开动态多播树T时,采用贪婪算法使节点v离开动态多播树T。
该方法的执行时间与经典的最小路径费用算法MPH相当。DGA的费用比MPH算法高4%-5%左右,因此它是一种低复杂度的时延约束的低费用多播路由方法,在多播节点密度较大时显示了优越性,且它的平均无效度在其他情况下也在可接受的范围之内。
附图说明
图1本方法流程图
图2无效度与更新事件次数关系图
图3费用与更新事件次数关系图
具体实施方式
该方法的基本思想是每次源节点发起一次多播通信时,首先利用Prim算法对网络计算一棵最小生成树,再用Dijkstra算法计算每个节点到源节点的最短路径和最短时延路径,并保存这3种路径,作为备用路径。DGA方法的出发点就是利用最小生成树路径、费用最短路径和最短时延路径费用相对较低的特性,取其中费用增加最少的路径。虽然在极端情况下,其性能、无效度会很差,但这是在特殊网络图中,而我们得仿真是在许多不同的随机网络上进行的,没有出现如此差的情况,而且对仿真数据需要进行随机处理,仿真数据符合置信比95%,置信宽度小于5%的要求。
方法的具体描述如下:如图1所示
节点的加入:如果节点v要加入到动态多播树T,若v已经在树T上,则只要将它标记为多播成员即可;否则分别计算最小生成树路径、最小费用路径和最小时延路径到已有的多播树的费用,取其中满足时延要求且增加费用最小的一条连到已有的多播树。
节点的离开:与贪婪算法一样。
设v为节点,T为动态多播树。
if(节点v加入动态多播树T){
if(V已经在树T上)
则将节点v标记为多播成员;
else
计算最小生成树路径、最小费用路径和最小时延路径到已有的多播树的费用,取其中满足时延要求且增加费用最小的一条连到已有的多播树,从而使v加到T上;
}
else //节点离开动态多播树T
采用贪婪算法使节点v离开动态多播树T;
方法复杂度分析:
该方法在最坏情况下加入一个节点时需要重新计算路径,方法的复杂度为O(elog|V|+n2),其中重新计算路径(对所有节点进行排序)的时间复杂度固定为O(elog|V|);若路由表没有改变,则该算法中也不需重新计算路径,其时间复杂度仅与添加的路径上的节点数有关,最差情况下为O(n2)。
当删除一个节点时,其时间复杂度即贪婪算法的时间复杂度,最差情况下也是O(n)。
从时间复杂度可以看出新方法与贪婪算法相比基本上是一样的,这说明了新方法的运行时间基本上没有多大的变化,所以从时间复杂度角度说明新方法是可以接受的。
建立仿真模型:
首先我们需要用一个数学公式来构造一个仿真模型,这样就可以从数学的理论的角度说明动态多播路由方法的整个工作过程,为下一步的实验分析提供理论依据。动态多播路由方法的仿真模型是在随机网络上进行的,为了对动态多播路由方法进行仿真,还需产生不断更新的动态多播组。在有n个节点的图G中,k表示当前多播组成员数,则:
γ的值表示节点加入或离开的概率相等时的平衡点。
要产生更新事件,首先产生一个均匀分布的随机数rb,若rb≤P(add),则更新事件是加入一个节点,节点随机地从尚未加入到多播组的节点集合中选择一节点作为要加入的节点;若rb≥P(add),则更新事件是多播组中的一个节点离开,随机地从多播组的节点中选择一个节点作为要删除的节点,这里主节点不能被删除。多播组中的成员在不断变化,有以下三种情况:
k/n=γ时,P(add)=0.5,即多播路由树上的成员数处于动态平衡状态,节点加入事件的概率等于多播成员离开事件的概率;
k/n>γ时,P(add)<0.5,即多播路由树上的多播节点数多于动态平衡状态时的情况,节点加入事件的概率小于多播成员离开事件的概率;
k/n<γ时,P(add)>0.5,即多播路由树上的多播节点数少于动态平衡状态时,节点加入事件的概率大于多播成员离开事件的概率;
仿真分析:
根据以上原理,我们来产生动态多播组。在随机网络上随机选择一个节点作为源节点,源节点不会参与更新。再随机选择另一个节点作为多播节点,源到该节点的路径形成初始多播路由树。然后根据上面的方法加入新多播节点或使一个多播成员离开。这里还要考虑以下情况,当多播树中的组成员数k=1时,就不能再删除节点,因为再删除就只剩下源节点,多播组也就不存在了,所以此时需要强制性地再加入新成员。同时为避免死循环,新选择要离开的节点不能是前一次才加入的节点。
为了仿真方法与更新事件次数之间的关系,将网络大小设为50,节点的平均度数为4。在多播成员的百分比较低时,算法的最大无效度较大,反之,则较小,这也与分析的结论吻合。贪婪算法中,某些节点曾经加入后又离开,却仍然留在多播树,会造成多播树的性能变坏,当多播规模较大时,再次加入多播组的可能性增大,这样它的无效度性能就会好一点。如图2所示,还可以看到极少数情况下无效度会小于1,这是因为用来比较的算法是MPH算法,它只是一个准最佳的方法,会出现某些时候费用较高的情况。
方法的费用与更新事件次数之间的关系如图3,可见多播树的费用随更新事件次数的增加而增加,但是增加到一定程度后趋于平稳。
仿真结果表明新方法的执行时间与经典的最小路径费用算法MPH相当。DGA的费用比MPH算法高4%-5%左右,因此它是一种低复杂度的时延约束的低费用多播路由方法,在多播节点密度较大时显示了优越性,且它的平均无效度在其他情况下也在可接受的范围之内。
Claims (3)
1、一种基于最小生成树和贪婪算法的动态时延约束的多播路由方法,它包括网络节点v,动态多播树T;其特征是:当网络节点v在动态多播树T上,则将网络节点v标记为多播成员;当网络节点v不在动态多播树T上,计算最小生成树路径、最小费用路径和最小时延路径到已有的多播树的费用,取其中满足时延要求且增加费用最小的一条连到已有的多播树,从而使网络节点v加到动态多播树T上,在将网络节点v标记为多播成员;当网络节点v要离开动态多播树T时,采用贪婪算法使节点v离开动态多播树T。
2、如权利要求1所述基于最小生成树和贪婪算法的动态时延约束的多播路由方法,其特征是:所述最小生成树路径采用Prim算法进行计算。
3、如权利要求1所述基于最小生成树和贪婪算法的动态时延约束的多播路由方法,其特征是:所述最小费用路径和最小时延路径采用Dijkstra算法进行计算。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2006100186152A CN1819556A (zh) | 2006-03-23 | 2006-03-23 | 基于最小生成树和贪婪算法的动态时延约束的多播路由的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2006100186152A CN1819556A (zh) | 2006-03-23 | 2006-03-23 | 基于最小生成树和贪婪算法的动态时延约束的多播路由的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1819556A true CN1819556A (zh) | 2006-08-16 |
Family
ID=36919246
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2006100186152A Pending CN1819556A (zh) | 2006-03-23 | 2006-03-23 | 基于最小生成树和贪婪算法的动态时延约束的多播路由的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1819556A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101951347A (zh) * | 2010-11-01 | 2011-01-19 | 武汉大学 | 一种群组通信中覆盖网络度无关多播树重排路由方法 |
CN101404617B (zh) * | 2008-11-04 | 2011-03-23 | 刘显福 | 一种流体动态生成树的形成方法 |
CN101997752A (zh) * | 2009-08-31 | 2011-03-30 | 中兴通讯股份有限公司 | 一种控制网元及其路由控制方法 |
CN101483598B (zh) * | 2009-02-20 | 2011-09-07 | 西部矿业股份有限公司 | 基于标号优化的最小化带宽消耗组播路由方法 |
CN101179485B (zh) * | 2006-11-10 | 2011-10-26 | 中兴通讯股份有限公司 | 新增组播成员的路径选择方法 |
CN110139319A (zh) * | 2019-05-25 | 2019-08-16 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 高动态时延网络传输时延最小化路由方法 |
-
2006
- 2006-03-23 CN CNA2006100186152A patent/CN1819556A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101179485B (zh) * | 2006-11-10 | 2011-10-26 | 中兴通讯股份有限公司 | 新增组播成员的路径选择方法 |
CN101404617B (zh) * | 2008-11-04 | 2011-03-23 | 刘显福 | 一种流体动态生成树的形成方法 |
CN101483598B (zh) * | 2009-02-20 | 2011-09-07 | 西部矿业股份有限公司 | 基于标号优化的最小化带宽消耗组播路由方法 |
CN101997752A (zh) * | 2009-08-31 | 2011-03-30 | 中兴通讯股份有限公司 | 一种控制网元及其路由控制方法 |
CN101951347A (zh) * | 2010-11-01 | 2011-01-19 | 武汉大学 | 一种群组通信中覆盖网络度无关多播树重排路由方法 |
CN110139319A (zh) * | 2019-05-25 | 2019-08-16 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 高动态时延网络传输时延最小化路由方法 |
CN110139319B (zh) * | 2019-05-25 | 2022-04-01 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 高动态时延网络传输时延最小化路由方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8064446B2 (en) | Multicast with adaptive dual-state | |
CN103346968B (zh) | 用于路由组播数据的方法和装置 | |
CN101527680B (zh) | 基于ddmc的时延约束组播路由的方法 | |
CN101043444A (zh) | 基于蚁群优化的分布式服务质量多播路由方法 | |
CN1819556A (zh) | 基于最小生成树和贪婪算法的动态时延约束的多播路由的方法 | |
Silawarawet et al. | Locality-aware clustering application level multicast for live streaming services on the Internet. | |
CN1838634A (zh) | 一种快速组播的实现方法 | |
CN1716904A (zh) | 一种基于多业务传输平台的组播实现方法 | |
CN1996931B (zh) | 网络组播方法 | |
CN101577628B (zh) | 满足能力约束和QoS约束的应用层任意源多播方法 | |
CN1595879A (zh) | 一种大容量组播路由表下提高组播数据转发效率的方法 | |
CN1917398A (zh) | 创建单核共享组播树的方法 | |
CN102387072A (zh) | 一种支持异构终端与异构网络环境的应用层组播方法 | |
Baddi et al. | VNS-RP algorithm for RP selection in multicast routing protocol PIM-SM | |
CN1968122A (zh) | 基于模拟退火的动态分布式多播路由方法 | |
Besharati et al. | A topology-aware application layer multicast protocol | |
Jia et al. | Hierarchical multicast tree algorithms for application layer mesh networks | |
Zhang et al. | Providing multicast through recursive unicast | |
Saha et al. | Bandwidth Management Framework for Multicasting inWireless Mesh Networks | |
Gupta et al. | Novel low latency load shared multicore multicasting schemes─ an extension to core migration | |
Gatani et al. | An efficient distributed algorithm for generating and updating multicast trees | |
Li et al. | A short delay degree-constrained hierarchical application layer multicast protocol | |
CN101075842A (zh) | 在共享网段上进行多播数据传输的方法 | |
Gao et al. | Extending Multicast Communications by Hybrid Overlay Network | |
Durbeck et al. | Energy interactions between multicast and content distribution within data communication networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |