CN101236569B - 一种基于ContextFS上下文文件系统的高效动态路径解析方法 - Google Patents

一种基于ContextFS上下文文件系统的高效动态路径解析方法 Download PDF

Info

Publication number
CN101236569B
CN101236569B CN2008100596739A CN200810059673A CN101236569B CN 101236569 B CN101236569 B CN 101236569B CN 2008100596739 A CN2008100596739 A CN 2008100596739A CN 200810059673 A CN200810059673 A CN 200810059673A CN 101236569 B CN101236569 B CN 101236569B
Authority
CN
China
Prior art keywords
file
user
path
context
access
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
Application number
CN2008100596739A
Other languages
English (en)
Other versions
CN101236569A (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.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
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 Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN2008100596739A priority Critical patent/CN101236569B/zh
Publication of CN101236569A publication Critical patent/CN101236569A/zh
Application granted granted Critical
Publication of CN101236569B publication Critical patent/CN101236569B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种基于ContextFS上下文文件系统的高效动态路径解析方法,该方法通过对历史上下文信息的分析确定用户访问偏好和文件访问行为模式;然后根据文件访问行为模式和用户当前上下文信息从无序的虚拟目录中选择虚拟目录路径;依据用户自定义、用户访问偏好和文件访问行为模式划分文件的重要程度,分别在用户所在主机(UH)、元数据服务器(MS)和文件服务器(FS)分级缓存文件路径或文件,通过多级缓存机制提高路径解析的效率。本发明有益的效果是:利用文件访问行为模式和当前上下文动态确定虚拟目录路径,并根据用户自定义、用户访问偏好和文件访问行为模式,对文件路径或文件采用多级缓存机制提高路径解析效率,从而提高ContextFS文件系统的文件访问性能。

Description

一种基于ContextFS上下文文件系统的高效动态路径解析方法
技术领域
本发明涉及文件系统的路径解析领域,主要是一种基于ContextFS上下文文件系统的高效动态路径解析方法。
背景技术
随着计算机和网络技术的发展,信息数据已经成为社会发展中极其关键和重要的战略资源,可以说信息技术已经从以计算为核心的计算时代进入到以存储为核心的存储时代。分布式文件系统是重要的存储系统,它在数据存储、管理和共享等方面发挥了重大作用。但是随着数据的爆炸式增长,需要更加强大的文件系统来存储、管理、传输和共享文件。而传统分布式文件系统由于采用简单的层次目录结构组织文件,只支持少量的元数据等特征,导致其越来越不能满足高效的文件共享和有效的统一管理。为此,我们设计了支持主动数据服务的ContextFS上下文文件系统来解决传统分布式文件系统的问题。
ContextFS上下文文件系统解决了传统分布式文件系统无法解决的问题(即主动数据服务、高效文件共享和有效统一管理),同时为了兼容现有文件系统和应用程序,并提供与现有分布式文件系统相当的性能,ContextFS文件系统的设计面临着更多的挑战。特别是由于ContextFS文件系统中文件的访问需要经历用户空间到内核空间、虚拟目录到元数据服务器、元数据服务器到文件服务器等多层操作,如果路径解析方法设计不当,将严重影响系统的性能。
如何优化ContextFS上下文文件系统的路径解析过程,从而提供与现有分布式文件系统相当的文件访问性能,本发明ContextFS-EDPR(ContextFS高效动态路径解析方法)提供了一种完美的解决方案。
发明内容
本发明的目的在于针对现有技术存在的不足,提供一种基于ContextFS上下文文件系统的高效动态路径解析方法,该方法通过对历史上下文信息的分析确定用户访问偏好和文件访问行为模式;然后根据文件访问行为模式和用户当前上下文信息从无序的虚拟目录中选择虚拟目录路径;依据用户自定义、用户访问偏好和文件访问行为模式划分文件的重要程度,分别在用户所在主机(UH)、元数据服务器(MS)和文件服务器(FS)分级缓存文件路径或文件,通过多级缓存机制提高路径解析的效率;根据上述两步虚拟路径解析和物理路径解析策略,最终提高ContextFS文件系统的文件访问性能。
本发明的目的是通过以下技术方案来实现的。这种基于ContextFS上下文文件系统的高效动态路径解析方法,步骤如下:
1)根据用户访问文件的历史上下文信息确定用户访问偏好;
2)根据文件被用户访问的历史上下文信息来确定文件访问行为模式;
3)根据文件访问行为模式和用户当前上下文信息从无序的虚拟目录中选择虚拟目录路径;
4)根据用户自定义、用户访问偏好与文件访问行为模式确定文件的重要程度,分别在用户所在主机、元数据服务器和文件服务器分级缓存文件路径或文件;
5)查询文件物理路径时,将文件的虚拟目录路径作为查询请求参数发送给元数据服务器,元数据服务器先从缓存区查找,如果命中则返回文件物理路径;如果失效则通过查询元数据服务器的数据库,把查询结果返回给用户;
6)获取目标文件过程中,用户根据返回的文件路径,先查询本地的缓存区,如果命中则直接返回文件;
如果失效,则判断该路径是否属于本地文件服务器,如果是,则直接调用本地LOOKUP函数获取文件,如果不是,则调用远程LOOKUP函数从相应的远程文件服务器中获取目标文件,返回给用户。
7)当用户访问虚拟目录、元数据服务器、文件服务器,以及文件之后,用户和环境上下文信息被记录为历史上下文并保存在元数据服务器中,历史上下文信息供守护进程分析使用。
其中所述步骤1)中,历史上下文是指用户访问文件时所处环境状态和访问操作的历史记录,如时间、地点、情景、邻居、读请求、写请求;用户访问偏好是指用户对文件的访问倾向和访问性质(即用户喜欢访问哪类文件,喜欢执行哪些文件操作),用户访问偏好是通过统计分析历史上下文的数据分布而获得。
其中所述步骤2)中,文件访问行为模式是指文件固有的或访问过程中形成的访问特征,包括文件访问频率、文件访问时间占有率、热点文件描述、文件语义关联信息。文件访问行为模式也通过统计分析历史上下文获得。
其中所述步骤3)中,当前上下文是指当前用户访问文件的环境状态和访问过程,如时间、地点、情景、邻居、读请求、写请求;虚拟目录不同于传统的层次目录结构,它是一个有环的、无序的图,同一个文件可能存在着多条可到达的虚拟目录路径。由于确定一个文件需要的上下文项可能不同,导致了虚拟目录的路径长短不同;而相同上下文的不同排列引起查询代价的不同,导致了路径质量不同。因此,需要选择路径最短和查询代价最小的文件虚拟目录路径。
其中所述步骤4)中,由于不同用户访问文件的需求各不相同,有些用户只访问某类文件,有些文件总是被访问,而有些却很少访问,所以为了使用户能够尽快地访问到其所需要的文件,可根据文件的重要程度不同,把重要的文件路径或文件分级缓存(越重要的文件离用户越近原则),从而提高路径解析和文件访问的效率;文件的重要程度是根据用户自定义、用户访问偏好和文件访问行为模式确定,其中用户自定义的优先级最好,热点文件次之,然后是用户访问偏好,再接下来是普通文件,最后是长尾文件。
本发明有益的效果是:本方法利用文件访问行为模式和当前上下文动态确定虚拟目录路径,并根据用户自定义、用户访问偏好和文件访问行为模式,对文件路径或文件采用多级缓存机制提高路径解析效率,从而提高ContextFS文件系统的文件访问性能。此外,本方法同样适用于带外模式(指元数据服务器与文件服务器分离)的分布式文件系统。
附图说明
图1是本发明中ContextFS-EDPR高效动态路径解析示例图;
图2是本发明中ContextFS-EDPR高效动态路径解析状态图;
图3是本发明中虚拟目录路径选择示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步介绍:主要包括如下5个小节:
1、动态路径解析的过程
本方法是为了优化ContextFS上下文文件系统文件访问性能而提出的路径解析方法,但它同样适用于带外模式的分布式文件系统,其中错误!未找到引用源。为本方法的示例图。
在ContextFS上下文文件系统中访问文件时,系统通过传感器等硬件设备获取用户的环境上下文,通过上下文控件获取用户访问系统过程中的活动上下文【错误!未找到引用源。标号1】;结合这些当前上下文信息和用户文件偏好(见第2小节)从无序的虚拟目录中选择最优的文件虚拟目录路径(见第4小节)【错误!未找到引用源。标号2】;根据文件访问的行为模式(见第3小节)表现出来的数据重要程度,分别在用户所在主机(UH)、元数据服务器(MS)和文件服务器(FS)分级缓存文件路径或文件,通过分布式多级缓存机制(见第5小节)提高路径解析的效率。
错误!未找到引用源。具体描述了路径解析的过程,获取文件所在虚拟目录路径后,以虚拟目录路径为参数向元数据服务器请求文件物理路径;元数据服务器先通过查找缓存区,如果命中则把结果返回给用户,如果失效则查询元数据数据库并返回结果。用户收到文件物理路径之后,先查询本地缓存区是否存在该文件,如果命中则返回文件结束操作;如果失效,则判断该文件是否在本地文件服务器,如果是则调用本地文件服务器的LOOKUP函数,如果不是则调用远程文件服务器的LOOKUP函数,最后返回目标文件给用户,结束路径解析过程。
本方法基于用户访问偏好、文件访问行为模式和分布式多级缓存策略和动态虚拟目录路径获取方法,显著提高了ContextFS上下文文件系统的访问性能。
2、用户访问偏好的分析
根据用户(人、应用或设备)访问文件时保存下来的历史上下文信息(包括时间上下文、空间上下文、邻居上下文、读写请求上下文等)来确定用户访问偏好,即确定该用户最喜欢访问具有哪些特质的文件,用户在访问某些文件的接下来通常会访问哪些文件,以及用户对哪些文件经常进行写却对哪些文件只进行读等。
●时间上下文用于确定用户访问文件的时间偏好,即用户在某个时间段喜欢访问怎样的文件,例如用户A喜欢19:00~19:30喜欢访问新闻视频文件;
●空间上下文用于确定用户访问文件的空间位置偏好,即用户在某个地方习惯于访问哪些文件,例如用户B在会议室经常查看PPT演示文档;
●邻居上下文用于确定用户的文件共享者偏好,即用户于不同人共享不同文件的特性,例如用户A喜欢和用户B共享音频文件,而用户A喜欢和用户C共享文本文件;
●读写请求上下文用于确定用户对不同文件的操作偏好,例如用户A只查看用户C的文件,从不修改;
例如,在ContextFS上下文文件系统中利用时间、地点、事件、邻居四种历史上下文信息,针对每一位用户分析其访问文件的类型偏好。用Ci(i=1,2,3...)表示各种上下文类型,用Ti(i=1,2,3,...)表示文件类型,V表示上下文值,如错误!未找到引用源。和错误!未找到引用源。
表1 当前上下文示例
  表示符号   上下文类型   上下文值
  C1   时间   18:00
  C2   地点   home
  C3   事件   -
  C4   邻居   -
表2 历史上下文与文件类型对应表
  数组下标   值   视频   音频   图片   网页   邮件   文档
  C4C3C2C1   V   T6   T5   T4   T3   T2   T1
  0000   -   -   -   -   -   -   -
  0001   9:00   0   1   0   1   0   0
  0010   office   0   1   1   0   0   0
  0011   18:00~19:00/home   0   1   0   0   0   0
  ......   ......   ......   ......   ......   ......   ......   ......
  1111   10:00/meeting_room/meeting/Bob,Alice   0   0   0   1   1   0
根据错误!未找到引用源。知道当前用户的上下文为{(time:18:00),(location:home)},查历史上下文的统计表(错误!未找到引用源。)可知,当C4C3C2C1=0011时,该用户在家里的18:00至19:00时间段内文件类型访问偏好为音频文件。
3、文件访问行为模式的分析
用户访问偏好只能反应该用户的行为特征,并不能完全体现文件本身的重要程度和访问规律,因此有必要统计分析文件被访问的历史上下文信息得出文件访问的行为模式。
由于不同文件的访问特征差异很大,有些文件具有一次写入多次读取的性质,有些文件具有频繁更新的性质,还有些文件很少被访问,等等。文件访问特征主要包括文件访问频率、文件访问时间占有率、热点文件描述、文件语义关联信息等,这些访问特征是根据分析文件访问的统计数据获得的。具体地说:
●文件访问频率用于描述文件在时间区间内的访问次数;
●文件访问时间占有率用于描述文件在访问过程中占用的时间比例;
●热点文件描述用于描述文件的索引和缓存备份;
●文件语义关联信息用于描述文件之间相关程度。
例如,一首经典歌曲a当前很受欢迎,经常有用户从文件服务器中下载,该歌曲文件是热点文件;同样的,在C语言的项目工程中,头文件和源程序文件具有固有的语义关联性,所以在访问源程序时,系统将缓存头文件以备用户访问。
4、虚拟目录路径的选择
ContextFS上下文文件系统的虚拟目录不同于传统文件系统的层次目录结构,它是一个有环的、无序的图,同一个文件可能存在着多条可到达的虚拟目录路径(错误!未找到引用源。),但由于不同虚拟目录的路径长短和路径质量各不相同,导致选取不同的虚拟目录访问效率也不同,因此,需要根据用户访问偏好和当前上下文选择最优的虚拟目录路径。
错误!未找到引用源。描述了根据文件访问行为模式和当前上下文选择虚拟目录路径的过程,其中每条边的权重αi(i=1,2,3...)表示访问代价,而当前上下文为:{(邻居:Bob),(事件:会议),(时间:9:00am)}。为了满足所有的上下文信息,虚拟目录路径需要包括所有项,但由于每条边的代价各不相同(如α1,α2,α3,α12等,由守护进程分析历史上下文获得),不同路径的总代价也不同。在本例中,α1->α13->α23->α2的总代价最小,所以选择这条路径。
5、分布式多级缓存策略
为了提高路径解析的效率和文件访问的性能,同时又考虑到缓存空间的有限性,采用分布式的多级缓存策略。根据用户自定义、用户访问偏好和文件数据访问的行为模式划分文件的重要程度,其中文件访问行为模式把文件分为热点文件、普通文件和长尾文件三类文件;把重要文件的文件路径或文件根据重要程度分别缓存在用户主机、元数据服务器和文件服务器。具体如下:
5.1用户自定义、用户访问偏好和热点文件所指定的文件为重要文件;
5.2用户自定义的优先级最高,表明是用户当前最希望访问的文件,这类文件的文件路径缓存在元数据服务器的缓存区,而文件数据缓存在用户主机上;
5.3热点文件的优先级次之,表明这类文件是大多数用户经常访问的文件,这类的文件路径缓存在元数据服务器,文件数据缓存在文件服务器缓存区;
5.4用户访问偏好的优先级再次之,表明是用户经常访问的文件,这类文件的文件路径缓存在元数据服务器;
5.5随着用户自定义、用户访问偏好和文件访问行为模式的动态变化,缓存内容也动态的变化。
本策略中文件访问行为模式把文件划分为热点文件、普通文件和长尾文件的依据是文件访问频率和文件访问的占用时间,访问频率前10%的文件或占用时间前10%的文件为热点文件,访问频率11%~30%之间或占用时间11%~30%之间的文件为普通文件,其余为长尾文件。
上述实施例用来解释说明本发明,而不是对本发明进行限制,在本发明的精神和权利要求的保护范围内,对本发明作出的任何修改和改变,都落入本发明的保护范围。

Claims (4)

1.一种基于上下文文件系统的高效动态路径解析方法,其特征在于:步骤如下:
1)根据用户访问文件的历史上下文信息确定用户访问偏好;
2)根据文件被用户访问的历史上下文信息来确定文件访问行为模式;
3)根据文件访问行为模式和用户当前上下文信息从无序的虚拟目录中选择虚拟目录路径;上下文文件系统的虚拟目录它是一个有环的、无序的图,同一个文件可能存在着多条可到达的虚拟目录路径,根据文件访问行为模式和当前上下文选择虚拟目录路径的过程,其中每条边的权重αi(i=1,2,3...)表示访问代价,而当前上下文为:{(邻居:Bob),(事件:会议),(时间:9:00am)},为了满足所有的上下文信息,虚拟目录路径需要包括所有项,但由于每条边的代价各不相同,不同路径的总代价也不同,选择总代价最小的路径;
4)根据用户自定义、用户访问偏好与文件访问行为模式确定文件的重要程度,分别在用户所在主机、元数据服务器和文件服务器分级缓存文件路径或文件;
5)查询文件物理路径时,将文件的虚拟目录路径作为查询请求参数发送给元数据服务器,元数据服务器先从缓存区查找,如果命中则返回文件物理路径;如果失效则通过查询元数据服务器的数据库,把查询结果返回给用户;
6)获取目标文件过程中,用户根据返回的文件路径,先查询本地的缓存区,如果命中则直接返回文件;如果失效,则判断该路径是否属于本地文件服务器,如果是,则直接调用本地LOOKUP函数获取文件,如果不是,则调用远程LOOKUP函数从相应的远程文件服务器中获取目标文件,返回给用户;
7)当用户访问虚拟目录、元数据服务器、文件服务器,以及文件之后,用户和环境上下文信息被记录为历史上下文并保存在元数据服务器中,历史上下文信息供守护进程分析使用。
2.根据权利要求1所述的基于上下文文件系统的高效动态路径解析方法,其特征在于:步骤1)中历史上下文是指用户访问文件时所处环境状态和访问操作的历史记录;用户访问偏好是指用户对文件的访问倾向和访问性质,即用户喜欢访问哪类文件,喜欢执行哪些文件操作,用户访问偏好是通过统计分析历史上下文的数据分布而获得。
3.根据权利要求1所述的基于上下文文件系统的高效动态路径解析方法,其特征在于:步骤2)中文件访问行为模式是指文件固有的或访问过程中形成的访问特征,包括文件访问频率、文件访问时间占有率、热点文件描述、文件语义关联信息,文件访问行为模式通过统计分析历史上下文获得。
4.根据权利要求1所述的基于上下文文件系统的高效动态路径解析方法,其特征在于:步骤3)中,当前上下文是指当前用户访问文件的环境状态和访问过程;虚拟目录是一个有环的、无序的图,同一个文件存在着多条可到达的虚拟目录路径,相同上下文的不同排列引起查询代价的不同,选择路径最短和查询代价最小的文件虚拟目录路径。
CN2008100596739A 2008-02-01 2008-02-01 一种基于ContextFS上下文文件系统的高效动态路径解析方法 Active CN101236569B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008100596739A CN101236569B (zh) 2008-02-01 2008-02-01 一种基于ContextFS上下文文件系统的高效动态路径解析方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008100596739A CN101236569B (zh) 2008-02-01 2008-02-01 一种基于ContextFS上下文文件系统的高效动态路径解析方法

Publications (2)

Publication Number Publication Date
CN101236569A CN101236569A (zh) 2008-08-06
CN101236569B true CN101236569B (zh) 2010-06-02

Family

ID=39920187

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008100596739A Active CN101236569B (zh) 2008-02-01 2008-02-01 一种基于ContextFS上下文文件系统的高效动态路径解析方法

Country Status (1)

Country Link
CN (1) CN101236569B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013510356A (ja) * 2009-11-06 2013-03-21 アルカテル−ルーセント コンテンツをプリフェッチおよびキャッシュするためのシステムおよび方法
CN102439934A (zh) * 2011-01-24 2012-05-02 华为技术有限公司 一种cdn中边缘服务器的多级缓存管理方法与系统
CN102523279B (zh) * 2011-12-12 2015-09-23 深圳市安云信息科技有限公司 一种分布式文件系统及其热点文件存取方法
CN103177005B (zh) * 2011-12-21 2016-08-03 深圳市腾讯计算机系统有限公司 一种数据访问的处理方法和系统
CN102609508B (zh) * 2012-02-05 2013-12-25 四川大学 一种面向网络存储的文件高速访问方法
CN103150395B (zh) * 2013-03-25 2014-07-23 中国人民解放军国防科学技术大学 基于ssd的文件系统目录路径解析方法
CN103747105A (zh) * 2014-01-26 2014-04-23 深圳市远行科技有限公司 一种网络文件的缓存方法及系统
CN105516794B (zh) * 2015-12-11 2019-04-16 Oppo广东移动通信有限公司 提供文件读取列表的方法及装置
CN107992626A (zh) * 2017-12-25 2018-05-04 深圳市分期乐网络科技有限公司 缓存清理方法、装置、终端及存储介质
CN110245152A (zh) * 2018-09-27 2019-09-17 爱信诺征信有限公司 数据处理方法及其装置
CN112491963B (zh) * 2020-11-03 2023-11-24 泰康保险集团股份有限公司 数据传输方法、装置、设备及可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101079053A (zh) * 2007-07-02 2007-11-28 浙江大学 一种基于ContextFS上下文文件系统的文件管理方法
CN101082927A (zh) * 2007-07-02 2007-12-05 浙江大学 一种基于ContextFS上下文文件系统的文件服务方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101079053A (zh) * 2007-07-02 2007-11-28 浙江大学 一种基于ContextFS上下文文件系统的文件管理方法
CN101082927A (zh) * 2007-07-02 2007-12-05 浙江大学 一种基于ContextFS上下文文件系统的文件服务方法

Also Published As

Publication number Publication date
CN101236569A (zh) 2008-08-06

Similar Documents

Publication Publication Date Title
CN101236569B (zh) 一种基于ContextFS上下文文件系统的高效动态路径解析方法
RU2458399C2 (ru) Кэширование в памяти совместно используемых настраиваемых данных множества арендаторов
CN104252536B (zh) 一种基于hbase的上网日志数据查询方法及装置
KR101672901B1 (ko) 분산 파일 시스템에서 소형 파일에 대한 접근성 향상을 위한 캐시 관리 시스템
CN102971732A (zh) 键/值存储器的集成分级查询处理的系统结构
CN105138592A (zh) 一种基于分布式架构的日志数据存储和检索方法
WO2008140937A2 (en) Query handling in databases with replicated data
CN102843426A (zh) 基于智能父节点的Web缓存资源共享系统和方法
CN102780603B (zh) 网站流量控制方法及装置
US11775480B2 (en) Method and system for deleting obsolete files from a file system
CN114116827B (zh) 一种用户画像数据的查询系统及方法
CN103107944A (zh) 一种内容定位方法和路由设备
CN106302667A (zh) 代码管理系统及方法
US20180203908A1 (en) Distributed database system and distributed data processing method
US20150178365A1 (en) System And Method For Implementing Nested Relationships Within A Schemaless Database
CN105045866A (zh) 一种基于短url查询的cdn节点跳转方法及系统
CN112416626B (zh) 一种数据处理方法和装置
JP2006146615A (ja) オブジェクト関連情報管理プログラム、管理方法、および管理装置。
CN102611725A (zh) 一种存储节点的方法及装置
CN111178965B (zh) 一种资源投放方法及服务器
US20030115202A1 (en) System and method for processing a request using multiple database units
US20190197108A1 (en) Method for managing semantic information on m2m/iot platform
CN103365897A (zh) 一种支持Bigtable数据模型的片段缓存方法
CN103902554A (zh) 数据访问方法与装置
US20040230744A1 (en) Cache content protocol for a content data delivery system

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