CN109857345B - System and method for realizing disk mounting interface scheduling management based on concurrency - Google Patents
System and method for realizing disk mounting interface scheduling management based on concurrency Download PDFInfo
- Publication number
- CN109857345B CN109857345B CN201910100888.9A CN201910100888A CN109857345B CN 109857345 B CN109857345 B CN 109857345B CN 201910100888 A CN201910100888 A CN 201910100888A CN 109857345 B CN109857345 B CN 109857345B
- Authority
- CN
- China
- Prior art keywords
- interface
- disk
- user
- mounting
- samba
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 20
- 241001362551 Samba Species 0.000 claims description 44
- 238000005516 engineering process Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
The invention relates to a system for realizing the dispatching management of a disk mounting interface based on concurrency, which comprises a disk management module, a disk loading module and a disk loading module, wherein the disk management module is used for providing dispatching and external services; and the disk execution module group comprises a plurality of disk execution modules which are connected with the disk management module and are used for executing the binding and unbinding operation of the file space and the interface, and configuring and registering the mobile phone interface configuration information when the mobile phone is started. The invention also relates to a method for realizing the dispatching management of the disk mounting interface based on concurrency. The invention is applied to the cloud super application space, provides disk mounting service, and a user sees a mounting disk in the application space, the access experience is the same as that of a local PC, the application space can be a Windows system or a Linux system, the number of the mounted interfaces is only related to the user who simultaneously applies online, and the configuration proportion of the compressed interfaces is more than thousand times.
Description
Technical Field
The invention relates to the field of computer virtualization, in particular to the field of file storage management based on computer virtualization, and specifically relates to a system and a method for realizing concurrent disk mounting interface scheduling management.
Background
Virtualization technology is an infrastructure technology of cloud computing environments. By carrying out uniform abstract management on hardware resources of one computer, a plurality of independent operating environments are provided for users to use simultaneously, and therefore the resource utilization rate is improved. Widely used virtualization technologies are KVM, xen, virtualBox, container, etc.
File storage system, here refers to a storage disk or storage disk-based cluster that provides a folder and file structure that is the same experience as a Windows personal computer.
The SAMBA file mounting system is free software for realizing SMB protocol on Linux and UNIX systems, and provides sharing service of files, printers and other resources between different computers. The focus here is on the file resource sharing service.
In the internet environment, each open system has many users registered and uses the resources provided by the system. The total registered user number of an open internet system is very large and can reach hundreds of millions; the active users refer to users who use past products in the recent period and usually only account for a small part of the total number of registered users; the number of concurrent users refers to the number of users who use online at the same time, and for various reasons, the number of users who use the system online at the same time accounts for a small proportion of active users. In different systems, a very large difference exists between the number of registered users and the number of concurrent users, and the difference is usually several orders of magnitude. The relationship between the concurrent user and the registered user is managed, the system structure can be greatly simplified, the system resources are saved, and the system management is simplified.
In a general scenario, when an open platform provides a file storage service, a file access space is provided for each registered user. In many scenarios, object storage may be used to meet the user's simple access needs. Object storage can conveniently achieve distributed deployment and lateral capacity expansion by separating metadata from file data. When the service provided by the platform is a virtual machine environment such as a VDI environment, users are more accustomed to local-like disk operations, familiar folder and file structures, which is an experience not easily reached by object storage interfaces. It is valuable to provide a local disk-like access in this scenario.
Under the conditions that the total amount of users is small and the change is not frequent, technologies such as NFS and SAMBA are often used for providing disk sharing, and a corresponding disk is mounted on a terminal to achieve local disk-like experience.
When the number of users is huge, the number of static configurations is huge; when the number of inactive users is extremely large, a large number of static configurations that are not frequently used may affect system performance, increasing system maintenance difficulty. When the configuration amount is large, the dynamic configuration force of the NFS is not good, and the requirement of a user on safety cannot be completely met by the authority control based on the directory; the direct use of SAMBA user-based security control requires the creation of an SAMBA user for each registered user, which user information is bulky and difficult to maintain, while the service user is tightly coupled to the SAMBA user, increasing complexity and maintenance difficulty. By simply using the two methods, the disk configuration of each registered user can be persisted at the disk access service level, and when a large number of inactive users exist in the system, the configurations are huge and redundant, and the performance is influenced.
Disclosure of Invention
The invention aims to overcome the defects of the prior art and provides a system and a method for realizing the dispatching management of a disk mounting interface based on concurrency, which have the advantages of large bearing capacity, low operation and maintenance difficulty and wider application range.
In order to achieve the above object, the system and method for implementing concurrent-based disk mount interface scheduling management of the present invention are as follows:
the system for realizing the dispatching management of the disk mounting interface based on the concurrency is mainly characterized by comprising the following steps:
the disk management module is used for providing scheduling and external services;
and the disk execution module group comprises a plurality of disk execution modules which are connected with the disk management module and are used for executing the binding and unbinding operation of the file space and the interface, and configuring and registering the mobile phone interface configuration information when the mobile phone is started.
Preferably, the disk execution module includes a mount server, a file mount service unit, and an interface group, the mount server, the file mount service unit, and the interface group are all connected to the disk management module, and the interface group includes a plurality of interfaces.
Preferably, the interface includes an application interface and a release interface, and the application interface and the release interface correspond to each other.
Preferably, the application interface and the release interface correspond to each other through paired keywords.
Preferably, the number of interfaces provided by the system is related to the number of concurrencies.
The method for realizing the dispatching management of the disk mounting interface based on the concurrency based on the system is mainly characterized by comprising the following steps:
(1-1) the disk management module receives a mounting request of a user, judges whether the user occupies an interface or not, and if so, returns mounting information; otherwise, continuing the step (1-2);
(1-2) the disk execution module group judges whether an idle interface exists, if so, the user is bound with the interface, and the step (1-3) is continued; otherwise, the scheduling fails, and the step is exited;
(1-3) the disk management module judges whether the user is successfully bound with the interface, if so, the system returns mounting information; otherwise, the scheduling fails and the step is exited.
Preferably, the method further comprises a step of unbinding the interface, specifically comprising the following steps:
(2-1) the disk management module judges whether all interface applications of the user are released, if so, the association relationship between the user and the interface is released, and the interface and the file directory of the user are unbound; otherwise, the unbinding fails, and the step is exited.
Preferably, the method further includes a step of expanding the interface, specifically including the steps of:
(3-1) the disk execution module adds a service node and configures an interface;
(3-2) the disk execution module registers the interface.
The invention is applied to the cloud super application space, provides disk mounting service, and a user sees a mounting disk in the application space, the access experience is the same as that of a local PC, the application space can be a Windows system or a Linux system, the number of the mounted interfaces is only related to the user who simultaneously applies online, and the configuration proportion of the compressed interfaces is more than thousand times.
Drawings
Fig. 1 is a block diagram of an implementation of a system for implementing concurrent-based disk mount interface scheduling management according to the present invention.
Fig. 2 is a mapping management and scheduling structure diagram of a system for implementing concurrent disk mount interface scheduling management according to the present invention.
FIG. 3 is a user interface scheduling flow chart of the method for implementing concurrent-based disk mount interface scheduling management according to the present invention.
Detailed Description
In order to more clearly describe the technical contents of the present invention, the following further description is given in conjunction with specific embodiments.
The system and the method for realizing the dispatching management based on the concurrent disk mounting interface, wherein the system comprises the following steps:
the disk management module is used for providing scheduling and external services;
the disk execution module group comprises a plurality of disk execution modules which are connected with the disk management module and are used for executing the binding and unbinding operation of the file space and the interface, and configuring information and registering mobile phone interface configuration information when starting.
As a preferred embodiment of the present invention, the disk execution module includes a mount server, a file mount service unit, and an interface group, the mount server, the file mount service unit, and the interface group are all connected to the disk management module, and the interface group includes a plurality of interfaces.
As a preferred embodiment of the present invention, the interface includes an application interface and a release interface, and the application interface and the release interface correspond to each other.
As a preferred embodiment of the present invention, the application interface and the release interface correspond to each other through a pair of keywords.
As a preferred embodiment of the present invention, the number of interfaces provided by the system is related to the number of concurrencies.
The method for realizing the dispatching management of the disk mounting interface based on the concurrency based on the system comprises the following steps:
(1-1) the disk management module receives a mounting request of a user, judges whether the user occupies an interface or not, and if so, returns mounting information; otherwise, continuing the step (1-2);
(1-2) the disk execution module group judges whether an idle interface exists, if so, the user is bound with the interface, and the step (1-3) is continued; otherwise, the scheduling fails, and the step is exited;
(1-3) the disk management module judges whether the user is successfully bound with the interface, if so, the system returns mounting information; otherwise, the scheduling fails, and the step is exited;
(2-1) the disk management module judges whether all interface applications of the user are released, if so, the association relationship between the user and the interface is released, and the interface and the file directory of the user are unbound; otherwise, the unbinding fails, and the step is exited;
(3-1) the disk execution module adds a service node and configures an interface;
(3-2) the disk execution module registers the interface;
the invention relates to a file mounting contradiction problem of computer virtualization, a file storage system, an SAMBA file mounting system and a large-user system. The key problem of providing a disk mount service to a client using simple SAMBA technology is that the users of the business system and their controls are strongly coupled to the users and controls of the SAMBA service
The invention is to decouple the user of the business system from the user of the SAMBA service on the premise of ensuring the user experience, and simultaneously reserve and fully utilize the universal and safe disk mounting service provided by the SAMBA service.
A method for dynamically mapping a user directory and an SAMBA service interface based on an SAMBA mounting system is set forth on the basis of file system management, and a safe and reliable disk mounting experience is provided for a user using a virtual machine.
For each user in the system, a disk space is allocated to the user in the file system based on the file storage system.
Preparing a plurality of SAMBA servers in advance, configuring a certain number of SAMBA users on each SAMBA server, and providing a disk mounting interface service by taking the SAMBA users as units; the security configuration of SAMBA is based on users, and only the connected user has the authority to read and write the corresponding directory; the user of SAMBA has no relationship with the user of the business system.
When a user needs to mount a file disk of the user, a disk mounting interface is applied to the scheduling system. The scheduling system firstly finds the SAMBA server which can provide services according to a preset strategy, and then finds an idle mounting user and an idle interface. On this server, the SAMBA interface is bound to the user's file space, and binding information is recorded. And then the scheduling system returns SAMBA disk mounting interface information. The user can mount the disk using the SAMBA interface and access his own file directory.
According to business needs, a user can apply for the SAMBA interface for multiple times, and for multiple requests of the same user, the scheduling system can use the SAMBA interface which is already applied by the user; the number of interfaces providing a service is related to the number of users used.
After the user finishes using, the SAMBA interface is released, the application interface and the release interface are required to appear in pairs, and each application corresponds to one release; in specific implementation, paired keywords can be used to ensure one-to-one correspondence when applying and releasing.
When all the interface applications of a user of a certain interface are released, which indicates that the user does not use the interface, the scheduling system can timely release the association relationship between the user and the SAMBA interface and unbind the interface from the file directory of the user; .
After unbinding is complete, the next user's request may reuse the interface.
The system fully utilizes the characteristics of SAMBA, fully utilizes mounting safety control of SAMBA based on users, and has high safety; based on a general SMB protocol, no special requirement is made on the mounted terminal; the user of the service system is decoupled from the SAMBA interface, the user of the service system is not fixedly connected with the SAMBA interface, and the user is dynamically associated when the user needs to use the hanging disc; the SAMBA interface is fully utilized, when the user does not use the SAMBA interface, the system releases the interface, and the interface can be distributed to other users for use; the number of SAMBA interfaces is directly related to the number of concurrency, and is not related to the total number of users of a service system; the SAMBA interface is simple in capacity expansion, and the capacity of the mounted system can be expanded only by adding an SAMBA service node, reasonably configuring the SAMBA interface and registering the SAMBA interface to the dispatching system, so that the concurrent bearing capacity of the system can be directly expanded; each SAMBA service node is independently configured, so that the difficulty of operation and maintenance is greatly reduced; the configuration is simple, and the system is separated from a service system, so that the dynamic capacity control of the mounting system becomes possible.
A structure diagram of an implementation of a disk mount interface based on concurrency is shown in fig. 1. The number of system registered users is N, and the N system registered users correspond to N file storage spaces; the number of users used at the same time is m (in practice, m is much smaller than N), and the number of interfaces used is N, which is the same order of magnitude as the number of users m. Through interface configuration and mapping management, the sum of the number of configured interfaces is larger than the number m of the concurrent users.
The map management and dispatch architecture is shown in fig. 2. The scheduling system adopts a master-slave structure, the dispatch mgr provides scheduling and external services, and the disakworker executes the binding and unbinding operation of the file space and the interface.
1. And each disakworker collects the interface configuration information of the server when starting, and the disakmgr registers.
2. The disakmgr schedules disadworker binding and unbinding when appropriate.
The user interface scheduling flow diagram is shown in fig. 3. The logic ensures that each mount interface serves one user.
The embodiment of the invention is practiced as a disk management system of a cloud super application space as follows:
1. and configuring a proper number of interface servers to provide a mounting disc service interface. Reasonably configuring the number of interfaces, access parameters and authority control parameters. (Optional: http service can be configured at the same time to provide REST access capability on the interface server)
2. Me system creates a file space on the disk for each registered user as the user's private space. This may be implemented by means of an http service on the interface server described above.
3. Starting the disakmgr, initializing a database required by scheduling, monitoring a user request in a service form, and processing the request of the disakmarker.
4. And filling interface information, accessed user name and password and the like in the configuration file of the diskworker. The disakworker will automatically register this information with the disakmgr at startup.
5. The me system can acquire the mount interface through the interface of the distmgr, and when the application space uses this mount, the private space content of itself can be seen.
The invention is applied to the cloud super application space, provides disk mounting service, and a user sees a mounting disk in the application space, the access experience is the same as that of a local PC, the application space can be a Windows system or a Linux system, the number of the mounted interfaces is only related to the user who simultaneously applies online, and the configuration proportion of the compressed interfaces is more than thousand times.
In this specification, the invention has been described with reference to specific embodiments thereof. It will, however, be evident that various modifications and changes may be made thereto without departing from the broader spirit and scope of the invention. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense.
Claims (7)
1. A system for implementing concurrent-based disk mount interface scheduling management, the system configured to dynamically map a user directory and a SAMBA interface, the system comprising:
the system comprises a disk management module, a user interface module and a service module, wherein the disk management module is used for providing scheduling and external services, receiving a disk mounting request of the user, searching an SAMBA server and an idle SAMBA interface which can provide services for the user according to a preset strategy based on the disk mounting request of the user, binding the SAMBA interface with a file space of the user, recording binding information and returning SAMBA disk mounting interface information to the user, thereby providing disk mounting interface services by taking the SAMBA user as a unit, and the number of the provided mounting interfaces is only related to the user who applies online at the same time;
the disk execution module group comprises a plurality of disk execution modules, is connected with the disk management module and is used for executing the binding and unbinding operation of the file space and the interface, and configuring and registering the mobile phone interface configuration information when starting;
the number of interfaces provided by the system is related to the number of concurrencies.
2. The system for implementing concurrency-based scheduling management of disk mount interfaces as claimed in claim 1, wherein said disk execution module comprises a mount server, a file mount service unit and an interface group, said mount server, file mount service unit and interface group are all connected to said disk management module, and said interface group comprises a plurality of interfaces.
3. The system for implementing scheduling management of disk mount interfaces based on concurrency according to claim 1, wherein the interfaces include an apply interface and a release interface, and the apply interface and the release interface correspond to each other.
4. The system for implementing concurrent-based disk mount interface scheduling management according to claim 3, wherein the application interface and the release interface correspond to each other through a pair of keywords.
5. A method for implementing concurrency-based scheduling management of disk mount interfaces based on the system of claim 1, the method comprising the steps of:
(1-1) the disk management module receives a mounting request of a user, judges whether the user occupies an interface or not, and if so, returns mounting information; otherwise, continuing the step (1-2);
(1-2) the disk execution module group judges whether an idle interface exists, if so, the user is bound with the interface, and the step (1-3) is continued; otherwise, the scheduling fails, and the step exits;
(1-3) the disk management module judges whether the user is successfully bound with the interface, if so, the system returns mounting information; otherwise, the scheduling fails and the step is exited.
6. The method for implementing concurrency-based disk mount interface scheduling management according to claim 5, wherein the method further comprises an interface unbinding step, specifically comprising the following steps:
(2-1) the disk management module judges whether all interface applications of the user are released, if so, the association relationship between the user and the interface is released, and the interface and the file directory of the user are unbound; otherwise, the unbinding fails, and the step is exited.
7. The method according to claim 5, wherein the method further includes a step of interface capacity expansion, and specifically includes the following steps:
(3-1) the disk execution module adds a service node and configures an interface;
(3-2) the disk execution module registers the interface.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910100888.9A CN109857345B (en) | 2019-01-31 | 2019-01-31 | System and method for realizing disk mounting interface scheduling management based on concurrency |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910100888.9A CN109857345B (en) | 2019-01-31 | 2019-01-31 | System and method for realizing disk mounting interface scheduling management based on concurrency |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109857345A CN109857345A (en) | 2019-06-07 |
CN109857345B true CN109857345B (en) | 2023-01-24 |
Family
ID=66897314
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910100888.9A Active CN109857345B (en) | 2019-01-31 | 2019-01-31 | System and method for realizing disk mounting interface scheduling management based on concurrency |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109857345B (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014005552A1 (en) * | 2012-07-06 | 2014-01-09 | 中兴通讯股份有限公司 | Combined cloud storage disk client, server and system, and combined cloud storage disk service serving method |
CN104331375A (en) * | 2014-10-29 | 2015-02-04 | 中国建设银行股份有限公司 | Shared virtualized resource management method and shared virtualized resource management device under shared virtualized resource pool environment |
WO2017049828A1 (en) * | 2015-09-25 | 2017-03-30 | 中兴通讯股份有限公司 | Method, device and system for data processing based on linux |
CN108446575A (en) * | 2018-02-02 | 2018-08-24 | 云宏信息科技股份有限公司 | Disk management method, electronic equipment based on cloud desktop, storage medium, system |
CN108572795A (en) * | 2017-12-21 | 2018-09-25 | 北京金山云网络技术有限公司 | Capacity expansion method, device, equipment and storage medium based on building storage virtualization |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FI20031628A0 (en) * | 2003-11-10 | 2003-11-10 | Nokia Corp | Computer-aided, computer-based unit and method for controlling access to memory between computer-units |
KR101008554B1 (en) * | 2010-07-15 | 2011-01-14 | 엑스투씨앤씨(주) | Disk copy system and method using cloud-based file copy and wide area network |
CN103118073B (en) * | 2013-01-08 | 2015-07-22 | 华中科技大学 | Virtual machine data persistence storage system and method in cloud environment |
US10496488B2 (en) * | 2014-12-31 | 2019-12-03 | Netapp, Inc. | Methods and systems for clone management |
CN106708430A (en) * | 2016-11-30 | 2017-05-24 | 浪潮软件集团有限公司 | Cloud hard disk implementation method under cloud computing architecture |
-
2019
- 2019-01-31 CN CN201910100888.9A patent/CN109857345B/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014005552A1 (en) * | 2012-07-06 | 2014-01-09 | 中兴通讯股份有限公司 | Combined cloud storage disk client, server and system, and combined cloud storage disk service serving method |
CN104331375A (en) * | 2014-10-29 | 2015-02-04 | 中国建设银行股份有限公司 | Shared virtualized resource management method and shared virtualized resource management device under shared virtualized resource pool environment |
WO2017049828A1 (en) * | 2015-09-25 | 2017-03-30 | 中兴通讯股份有限公司 | Method, device and system for data processing based on linux |
CN108572795A (en) * | 2017-12-21 | 2018-09-25 | 北京金山云网络技术有限公司 | Capacity expansion method, device, equipment and storage medium based on building storage virtualization |
CN108446575A (en) * | 2018-02-02 | 2018-08-24 | 云宏信息科技股份有限公司 | Disk management method, electronic equipment based on cloud desktop, storage medium, system |
Non-Patent Citations (2)
Title |
---|
Automatic Software Install/Update for Embedded Linux;陶莉等;《Journal of Shanghai Jiaotong University》;20080215(第01期);全文 * |
基于磁盘中间件的文件系统框架研究;赵帆;《科技信息(学术研究)》;20070725(第21期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109857345A (en) | 2019-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111488241B (en) | Method and system for realizing agent-free backup and recovery operation in container arrangement platform | |
US11086826B2 (en) | Virtualized server systems and methods including domain joining techniques | |
US9122642B2 (en) | Hybrid data backup in a networked computing environment | |
US11048591B1 (en) | Efficient name space organization in a global name space cluster | |
EP3647966B1 (en) | Scalable distributed storage architecture | |
US8924954B2 (en) | Application software installation method and application software installation apparatus | |
US8627310B2 (en) | Capturing multi-disk virtual machine images automatically | |
CN111651305B (en) | Virtual machine backup method, virtual machine backup assembly and cloud computing system | |
US9128765B2 (en) | Assigning restored virtual machine based on past application usage of requesting user | |
US8495625B1 (en) | Method and system for creation of streamed files on-demand | |
EP2467782A1 (en) | Proxy backup of virtual disk image files on nas devices | |
US8495178B1 (en) | Dynamic bandwidth discovery and allocation to improve performance for backing up data | |
WO2021112908A1 (en) | Barriers for dependent operations among sharded data stores | |
US11853616B2 (en) | Identity-based access to volume objects | |
US10862887B2 (en) | Multiple domain authentication using data management and storage node | |
CN110119308B (en) | System for managing large-scale container applications | |
CN110008004A (en) | A kind of power system computation analysis application virtualization method, apparatus and equipment | |
Lux | Adaptable object migration: concept and implementation | |
CN109857345B (en) | System and method for realizing disk mounting interface scheduling management based on concurrency | |
Dell | ||
US11121981B1 (en) | Optimistically granting permission to host computing resources | |
CN111260315A (en) | Government affair platform cloud system based on big data | |
US12346327B1 (en) | Compact hosting of database query processors using virtualization snapshots | |
US11994954B2 (en) | Fast disaster recover from backup storage using smart links | |
CN116483508A (en) | Offline and simple deployment method and device based on container |
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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20200923 Address after: 501-3, 5 / F, building 6, 54 courtyard, Shijingshan Road, Shijingshan District, Beijing 100041 Applicant after: Diankeyun (Beijing) Technology Co.,Ltd. Address before: 230031 West Lake International A1307, 69 Wangjiangxi Road, Hefei City, Anhui Province Applicant before: HEFEI XIETONG TECHNOLOGY Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |