CN107480293B - 文件管理方法及装置 - Google Patents

文件管理方法及装置 Download PDF

Info

Publication number
CN107480293B
CN107480293B CN201710757345.5A CN201710757345A CN107480293B CN 107480293 B CN107480293 B CN 107480293B CN 201710757345 A CN201710757345 A CN 201710757345A CN 107480293 B CN107480293 B CN 107480293B
Authority
CN
China
Prior art keywords
file
target
folder
target file
application program
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
CN201710757345.5A
Other languages
English (en)
Other versions
CN107480293A (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.)
Bewinner Communication Technology Nanjing Co ltd
Original Assignee
Bewinner Communication Technology Nanjing Co ltd
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 Bewinner Communication Technology Nanjing Co ltd filed Critical Bewinner Communication Technology Nanjing Co ltd
Priority to CN201710757345.5A priority Critical patent/CN107480293B/zh
Publication of CN107480293A publication Critical patent/CN107480293A/zh
Application granted granted Critical
Publication of CN107480293B publication Critical patent/CN107480293B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/168Details of user interfaces specifically adapted to file systems, e.g. browsing and visualisation, 2d or 3d GUIs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • G06F16/148File search processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种文件管理方法,适用于IOS操作系统,包括步骤:创建文件夹,用于存放要查找的目标文件;获取目标文件夹所在应用程序的根目录,通过根目录提取所述目标文件;移动所述目标文件到所述文件夹内,所述目标文件为IOS操作系统下的非系统文件,在所述文件夹内产生目标文件的预览;通过所述应用程序打开所述目标文件,对所述目标文件进行查看、移动或删除。本发明可以在IOS操作系统上直观的将目标文件呈现给用户,方便用户查找文件,找到目标文件后直接可以用对应的应用程序打开,节省用户的时间。

Description

文件管理方法及装置
技术领域
本发明涉及通信领域,具体地说,是涉及一种文件管理方法及装置。
背景技术
Finder、File等软件可以实现文件统一管理的功能,是现有技术中常见的文件管理器应用,在Android系统的手机上可以找到多种文件管理器,但正版iOS系统非越狱本身却不具备这项功能。在iPhone和iPad上通常怎样管理文件?显然是分散的、各自为营的。比如想看照片,必须进入照片或是其他下载的第三方照片库应用;但是很多情况下,需要记住相应文件的关联或是兼容应用,从应用中打开文件,很多时候,文件的操作性又与应用程序的功能息息相关。
这对使用者十分不方便,比如使用手机QQ接收了一份来自好友的Word文档,首先,可以使用QQ自身的文档阅读器打开它;如果安装了Pages或是GoodReader这样的文档应用,可以在QQ的文件预览中点击转发图标,选择“用其他应用打开”。显然,这个过程非常麻烦,因为需要记住使用哪款应用打开过文件。而在Android及Windows上,都是在文件(资源)管理器中查找这些文件,或是使用搜索功能查找。而iOS系统缺乏统一的文件管理器,所以全局搜索功能也无法找到具体文件。现有技术中如果想要实现统一的文件管理,只能选择越狱获得最高权限,并安装越狱应用。
发明内容
本发明所要解决的技术问题是提供能够用于IOS操作系统的文件管理方法及装置。
为解决上述技术问题,本发明提供了一种文件管理方法,适用于IOS操作系统,包括步骤:
创建文件夹,用于存放要查找的目标文件;
获取目标文件夹所在应用程序的根目录,通过根目录提取所述目标文件,所述根目录包括Documents目录、MyApp.app目录、Library目录和tmp目录,所述Library目录下设两个子目录:Preferences子目录和Caches子目录,Preferences子目录内包含应用程序的偏好设置,通过NSUserDefaults保存应用程序设置和属性;
移动所述目标文件到所述文件夹内,所述目标文件为IOS操作系统下的非系统文件,从目标文件的文件大小、文件扩展名、文件类型、文件创建日期、文件上次更新日期、文件上次浏览日期、文件提交日期、文件创建者、文件创建者所属组、以及文件的来源,在所述文件夹内产生目标文件的预览;
通过所述应用程序打开所述目标文件,对所述目标文件进行查看、移动或删除。
优选地,移动所述目标文件到所述文件夹内,对目标文件提取基本信息,按照基本信息所对应的文件进行索引和排序,呈现排序后的目标文件。
优选地,所述基本信息,进一步为,目标文件的文件大小、文件扩展名、文件类型、文件创建日期、文件上次更新日期、文件上次浏览日期、文件提交日期、文件创建者、文件创建者所属组、以及文件的来源。
本发明还公开了一种文件管理装置,适用于IOS操作系统,包括文件夹创建模块、目标文件提取模块、文件夹处理模块、目标文件查看模块,其中,
所述文件夹创建模块,与所述目标文件提取模块相耦接,用于创建一个新的文件夹,存放要查找的目标文件;
所述目标文件提取模块,分别与所述文件夹创建模块和文件夹处理模块相耦接,用于获取目标文件夹所在应用程序的根目录,通过根目录提取目标文件,所述根目录包括Documents目录、MyApp.app目录、Library目录和tmp目录,所述Library目录下设两个子目录:Preferences子目录和Caches子目录,Preferences子目录内包含应用程序的偏好设置,通过NSUserDefaults保存应用程序设置和属性;
所述文件夹处理模块,分别与所述目标文件提取模块和目标文件查看模块相耦接,用于移动所述目标文件到所述文件夹内,所述目标文件为IOS操作系统下的非系统文件,从目标文件的文件大小、文件扩展名、文件类型、文件创建日期、文件上次更新日期、文件上次浏览日期、文件提交日期、文件创建者、文件创建者所属组、以及文件的来源,在所述文件夹内产生目标文件的预览;
所述目标文件查看模块,与所述文件夹处理模块相耦接,通过所述应用程序打开所述目标文件,对所述目标文件进行查看、移动或删除。
优选地,所述文件夹处理模块,对目标文件提取基本信息,按照基本信息所对应的文件进行索引和排序,呈现排序后的目标文件。
优选地,所述基本信息,进一步为,目标文件的文件大小、文件扩展名、文件类型、文件创建日期、文件上次更新日期、文件上次浏览日期、文件提交日期、文件创建者、文件创建者所属组、以及文件的来源。
与现有技术相比,本发明所述的文件管理方法及装置,达到了如下效果:
本发明可以在IOS操作系统上直观的将目标文件呈现给用户,类似于windows系统下的资源管理器,方便用户查找文件,找到目标文件后直接可以用对应的应用程序打开它,不需要用户再逐个打开应用程序查找目标文件,节省用户的时间。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为实施例1的文件管理方法流程图;
图2为实施例2的文件管理装置结构示意图;
其中:201-文件夹创建模块;202-目标文件提取模块;203-文件夹处理模块;204-目标文件查看模块。
具体实施方式
如在说明书及权利要求当中使用了某些词汇来指称特定组件。本领域技术人员应可理解,硬件制造商可能会用不同名词来称呼同一个组件。本说明书及权利要求并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在通篇说明书及权利要求当中所提及的“包含”为一开放式用语,故应解释成“包含但不限定于”。“大致”是指在可接收的误差范围内,本领域技术人员能够在一定误差范围内解决所述技术问题,基本达到所述技术效果。此外,“耦接”一词在此包含任何直接及间接的电性耦接手段。因此,若文中描述一第一装置耦接于一第二装置,则代表所述第一装置可直接电性耦接于所述第二装置,或通过其他装置或耦接手段间接地电性耦接至所述第二装置。说明书后续描述为实施本发明的较佳实施方式,然所述描述乃以说明本发明的一般原则为目的,并非用以限定本发明的范围。本发明的保护范围当视所附权利要求所界定者为准。
以下结合附图对本发明作进一步详细说明,但不作为对本发明的限定。
实施例1:
结合附图1,本实施例提供了一种文件管理方法,适用于IOS操作系统,包括以下步骤:
步骤101:创建文件夹,用于临时存放要查找的目标文件;
步骤102:获取目标文件夹所在应用程序的根目录,通过根目录提取所述目标文件;所述根目录包括Documents目录、MyApp.app目录、Library目录和tmp目录。所述Library目录下设两个子目录:Preferences子目录和Caches子目录,Preferences子目录内包含应用程序的偏好设置,通过NSUserDefaults保存应用程序设置和属性。
步骤103:移动所述目标文件到所述文件夹内,所述目标文件为IOS操作系统下的非系统文件,从目标文件的文件大小、文件扩展名、文件类型、文件创建日期、文件上次更新日期、文件上次浏览日期、文件提交日期、文件创建者、文件创建者所属组、以及文件的来源,在所述文件夹内产生目标文件的预览;
步骤104:通过所述应用程序打开所述目标文件,对所述目标文件进行查看、移动或删除。
步骤103中还包括移动所述目标文件到所述文件夹内,对目标文件提取基本信息,按照基本信息所对应的文件进行索引和排序,呈现排序后的目标文件。
所述基本信息,进一步为,目标文件的文件大小、文件扩展名、文件类型、文件创建日期、文件上次更新日期、文件上次浏览日期、文件提交日期、文件创建者、文件创建者所属组、以及文件的来源。
实施例2:
结合附图2,本实施例提供了一种文件管理装置,适用于IOS操作系统,包括文件夹创建模块201、目标文件提取模块202、文件夹处理模块203、目标文件查看模块204。
所述文件夹创建模块201,与所述目标文件提取模块202相耦接,用于创建一个新的文件夹,临时存放要查找的目标文件;
所述目标文件提取模块202,分别与所述文件夹创建模块201和文件夹处理模块203相耦接,用于获取目标文件夹所在应用程序的根目录,通过根目录提取目标文件;
所述文件夹处理模块203,分别与所述目标文件提取模块202和目标文件查看模块204相耦接,用于移动所述目标文件到所述文件夹内,所述目标文件为IOS操作系统下的非系统文件,从目标文件的文件大小、文件扩展名、文件类型、文件创建日期、文件上次更新日期、文件上次浏览日期、文件提交日期、文件创建者、文件创建者所属组、以及文件的来源,在所述文件夹内产生目标文件的预览;
所述目标文件查看模块204,与所述文件夹处理模块203相耦接,通过所述应用程序打开所述目标文件,对所述目标文件进行查看、移动或删除。
所述根目录包括Documents目录、MyApp.app目录、Library目录和tmp目录。所述Library目录下设两个子目录:Preferences子目录和Caches子目录,Preferences子目录内包含应用程序的偏好设置,通过NSUserDefaults保存应用程序设置和属性。
目录(Directories)在操作系统里就是文件夹,而路径(Path)则是包括盘符及一个或多个文件夹。iOS每个APP都会有一个沙盒(Sandbox),用于存储该APP所产生的资料内容,如图片、视频、文件夹、plist文件等等。而这个沙盒的路径可由NSHomeDirectory()得到,也叫APP(应用程序)的根目录。根目录下有四个文件/文件夹:
1)Documents目录:Apple官方建议将APP的重要数据保存到这个目录下。因为iTunes备份时包括此目录。
2)MyApp.app目录:这是APP本身。一般不对其更改,否则启动时容易崩溃。
3)Library目录:该目录下有两个子目录:Preferences和Caches;
Preferences:包含APP的偏好设置。可用NSUserDefaults类来获取或设置;
Caches:APP专用的支持文件,保存APP再次启动过程中需要的信息。
4)tmp目录:存放临时文件,APP关闭后,该目录下文件将被清除。
所述文件夹处理模块203,对目标文件提取基本信息,按照基本信息所对应的文件进行索引和排序,呈现排序后的目标文件。
所述基本信息,进一步为,目标文件的文件大小、文件扩展名、文件类型、文件创建日期、文件上次更新日期、文件上次浏览日期、文件提交日期、文件创建者、文件创建者所属组、以及文件的来源。
实施例3:
在实施例1和实施例2的基础上,本实施例为应用实施例。
文件管理方法实现步骤为:
步骤301:创建一个新的文件夹
Figure BDA0001392486310000061
文件夹创建在该程序下的沙盒目录中,前边提到iOS每个程序下都会有一个对应的沙盒环境,在这个文件夹下再创建多个子文件夹分别保存不同的文件,比如歌曲,文档,照片等。
步骤302:获取应用程序的根目录
NSString*homePath=NSHomeDirectory()
获取到程序的根目录后,根据关键字来查找对应的文件,比如想要查找.txt文件,那么将.txt设为关键字搜索文件,找到文件后再进行移动。
步骤303:移动目标文件到新的文件夹下
Figure BDA0001392486310000062
Figure BDA0001392486310000071
移动完文件后可以对文件进行排序,可以按照文件的大小、时间等排序。
需要说明的是本发明中的目标文件只能是非系统文件,比如qq接收到的好友的文档以及照片等文件,因为ISO系统没有给用户查看系统文件的权限,所以无法管理系统文件。
步骤304:删除文件
Figure BDA0001392486310000072
删除文件操作为手动删除,程序关闭后不会对文件进行操作,当再次打开程序时没删除的文件还会在对应的目录下。
相对于现有技术,本申请能够管理IOS操作系统中的非系统文件,把文件集中到一个应用程序下(即同一个目录下)显示给用户,不需要用户找文件时将每个应用程序都打开查找目标文件。本发明的关键技术在于要找到目标文件所在的目录,由于每个应用程序APP都会有一个沙盒,用于储存该程序下的文件,所以查找目标文件的工作量是非常大的,找到文件后通过移动文件的方法将目标文件移动到统一的文件夹下,再进行分类。
与现有技术相比,本发明所述的文件管理方法及装置,达到了如下效果:
本方法可以直观的将目标文件呈现给用户,类似于windows系统下的资源管理器,方便用户查找文件,找到目标文件后直接可以用对应的应用程序打开它,不需要用户再逐个打开应用程序查找目标文件,节省用户的时间。
上述说明示出并描述了本发明的若干优选实施例,但如前所述,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。

Claims (2)

1.一种文件管理方法,适用于IOS操作系统,其特征在于:包括步骤:
创建文件夹,用于存放要查找的目标文件,所述创建的文件夹在对应程序下的沙盒目录中,在所述创建的文件夹下再创建多个子文件分别用于存放不同的文件;
获取目标文件夹所在应用程序的根目录,通过根目录提取所述目标文件,所述根目录包括Documents目录、MyApp.app目录、Library目录和tmp目录,所述Library目录下设两个子目录:Preferences子目录和Caches子目录,Preferences子目录内包含应用程序的偏好设置,通过NSUserDefaults保存应用程序设置和属性;
移动所述目标文件到所述文件夹内,所述目标文件为IOS操作系统下的非系统文件,从目标文件的文件大小、文件扩展名、文件类型、文件创建日期、文件上次更新日期、文件上次浏览日期、文件提交日期、文件创建者、文件创建者所属组、以及文件的来源,在所述文件夹内产生目标文件的预览;对目标文件提取基本信息,按照基本信息所对应的文件进行索引和排序,呈现排序后的目标文件;所述基本信息包括目标文件的文件大小、文件扩展名、文件类型、文件创建日期、文件上次更新日期、文件上次浏览日期、文件提交日期、文件创建者、文件创建者所属组、以及文件的来源;
通过所述应用程序打开所述目标文件,对所述目标文件进行查看、移动或删除;删除所述目标文件操作为手动删除,所述应用程序关闭后不会对所述目标文件进行操作,当再次打开所述应用程序时没删除的文件还会在对应的根目录下。
2.一种文件管理装置,适用于IOS操作系统,其特征在于,包括文件夹创建模块、目标文件提取模块、文件夹处理模块、目标文件查看模块,其中,
所述文件夹创建模块,与所述目标文件提取模块相耦接,用于创建一个新的文件夹,存放要查找的目标文件,所述创建的文件夹在对应程序下的沙盒目录中,在所述创建的文件夹下再创建多个子文件分别用于存放不同的文件;
所述目标文件提取模块,分别与所述文件夹创建模块和文件夹处理模块相耦接,用于获取目标文件夹所在应用程序的根目录,通过根目录提取目标文件,所述根目录包括Documents目录、MyApp.app目录、Library目录和tmp目录,所述Library目录下设两个子目录:Preferences子目录和Caches子目录,Preferences子目录内包含应用程序的偏好设置,通过NSUserDefaults保存应用程序设置和属性;
所述文件夹处理模块,分别与所述目标文件提取模块和目标文件查看模块相耦接,用于移动所述目标文件到所述文件夹内,所述目标文件为IOS操作系统下的非系统文件,从目标文件的文件大小、文件扩展名、文件类型、文件创建日期、文件上次更新日期、文件上次浏览日期、文件提交日期、文件创建者、文件创建者所属组、以及文件的来源,在所述文件夹内产生目标文件的预览;对目标文件提取基本信息,按照基本信息所对应的文件进行索引和排序,呈现排序后的目标文件;所述基本信息包括目标文件的文件大小、文件扩展名、文件类型、文件创建日期、文件上次更新日期、文件上次浏览日期、文件提交日期、文件创建者、文件创建者所属组、以及文件的来源;
所述目标文件查看模块,与所述文件夹处理模块相耦接,通过所述应用程序打开所述目标文件,对所述目标文件进行查看、移动或删除;删除所述目标文件操作为手动删除,所述应用程序关闭后不会对所述目标文件进行操作,当再次打开所述应用程序时没删除的文件还会在对应的根目录下。
CN201710757345.5A 2017-08-29 2017-08-29 文件管理方法及装置 Active CN107480293B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710757345.5A CN107480293B (zh) 2017-08-29 2017-08-29 文件管理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710757345.5A CN107480293B (zh) 2017-08-29 2017-08-29 文件管理方法及装置

Publications (2)

Publication Number Publication Date
CN107480293A CN107480293A (zh) 2017-12-15
CN107480293B true CN107480293B (zh) 2020-04-03

Family

ID=60602953

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710757345.5A Active CN107480293B (zh) 2017-08-29 2017-08-29 文件管理方法及装置

Country Status (1)

Country Link
CN (1) CN107480293B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111198842A (zh) * 2018-11-20 2020-05-26 普天信息技术有限公司 微服务系统下的文件管理系统和方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102446292A (zh) * 2010-10-11 2012-05-09 金蝶软件(中国)有限公司 一种浏览附件的方法、装置及企业系统
CN105279164A (zh) * 2014-06-17 2016-01-27 腾讯科技(深圳)有限公司 一种基于ios系统的文件处理方法及装置
CN105488217A (zh) * 2015-12-17 2016-04-13 广州三星通信技术研究有限公司 用于在终端中执行关联操作的设备和方法
CN106202551A (zh) * 2016-07-27 2016-12-07 广东欧珀移动通信有限公司 一种文件管理方法、装置及移动终端

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102446292A (zh) * 2010-10-11 2012-05-09 金蝶软件(中国)有限公司 一种浏览附件的方法、装置及企业系统
CN105279164A (zh) * 2014-06-17 2016-01-27 腾讯科技(深圳)有限公司 一种基于ios系统的文件处理方法及装置
CN105488217A (zh) * 2015-12-17 2016-04-13 广州三星通信技术研究有限公司 用于在终端中执行关联操作的设备和方法
CN106202551A (zh) * 2016-07-27 2016-12-07 广东欧珀移动通信有限公司 一种文件管理方法、装置及移动终端

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Everything you need to know about the new Files app on iOS 11";CHARLIE SORREL;《https://www.cultofmac.com/485980/everything-you-need-to-know-about-new-files-app-ios-11/》;20170715;1-7 *

Also Published As

Publication number Publication date
CN107480293A (zh) 2017-12-15

Similar Documents

Publication Publication Date Title
JP6860704B2 (ja) ファイル処理方法及びモバイル端末
US9942121B2 (en) Systems and methods for ephemeral eventing
CN102306189B (zh) 客户端展示网盘文件状态的方法和客户端
US8346728B2 (en) Snapshot indexing
RU2619195C2 (ru) Способ и устройство для нахождения файла в устройстве хранения и маршрутизатор
US20040111415A1 (en) Automatic organization of images uploaded to a photo-sharing site
US20080033903A1 (en) Methods and apparatuses for using location information
US20120323902A1 (en) Mobile terminal and file browsing method implemented by mobile terminal
WO2014178904A1 (en) Searching and placeholders
US20090254585A1 (en) Method for Associating Administrative Policies with User-Definable Groups of Files
US20140358868A1 (en) Life cycle management of metadata
US9069883B2 (en) Document management method and document management apparatus using the same
CA3089711A1 (en) Systems and methods for cloud-based management of digital forensic evidence
CN112765104A (zh) 文件保存方法、装置、设备及存储介质
CN107766488B (zh) 一种信息查询方法、终端、计算机可读存储介质
US20130007028A1 (en) Discovering related files and providing differentiating information
CN105183829A (zh) 一种图片分类方法和装置
CN107480293B (zh) 文件管理方法及装置
CN104796477A (zh) 一种文件上传方法、装置和系统
CN104166669A (zh) 一种基于图形界面的文件管理方法及系统
US8510350B2 (en) Methods and apparatus for distinguishing files from one another in a file system in a computing environment
US11023418B2 (en) Keyword-based data management system and method
US8799214B2 (en) Methods, computer program products, and systems for automatically synchronizing directory structures across different applications
CN100407204C (zh) 一种标注计算机资源的方法及其系统
CN102346696A (zh) 一种文件恢复方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant