CN103186386A - Application loading method and system - Google Patents
Application loading method and system Download PDFInfo
- Publication number
- CN103186386A CN103186386A CN2011104447557A CN201110444755A CN103186386A CN 103186386 A CN103186386 A CN 103186386A CN 2011104447557 A CN2011104447557 A CN 2011104447557A CN 201110444755 A CN201110444755 A CN 201110444755A CN 103186386 A CN103186386 A CN 103186386A
- Authority
- CN
- China
- Prior art keywords
- loading
- application
- task
- task management
- management object
- 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.)
- Granted
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
The invention provides an application loading method. The method comprises the following steps of obtaining an application loading request; obtaining a loading configuration corresponding to the application loading request; generating a loading task according to the application loading request through a preset task management object; and executing the loading task according to the loading configuration through the preset task management object. In addition, the invention further correspondingly provides an application loading system. The application loading method and system provided by the invention can be used for effectively improving the flexibility during application loading.
Description
[technical field]
The present invention relates to networking technology area, particularly a kind of application loading method and system.
[background technology]
Application platform is a kind of application (being commonly called as app) of can the various third party software of polymerization provider developing, and makes and uses user's form of expression standardization, normalized platform class service software.Third party application provider docks with application platform by the application programming interfaces (API) of application platform opening, for application platform provides corresponding function.Application platform then provides the adequate and systematic service on basis for application program, as space storage, platform invoke, network transmission etc.
Traditional application platform is directly directly distributed a process for using usually when load application, obtained the system resource of this application then by this process, and load application.Perhaps application platform is distributed thread for using, and is obtained the system resource of this application then by this thread, and load application.
Yet, the application loading method of the application platform in the conventional art and system lack unified management to the loading of using, and can't select corresponding load mode according to the type of using or sign, make that the loading method of using is single, thereby caused traditional application loading method and system flexibility deficiency.
[summary of the invention]
Based on this, be necessary to provide a kind of application loading method of using the dirigibility that loads that improves.
A kind of application loading method said method comprising the steps of:
Obtain the application load request;
Obtain the loading configuration corresponding with described application load request;
Generate loading tasks according to described application load request by default task management object;
Carry out described loading tasks by described default task management object according to described loading configuration.
Preferably, comprise in-process loading and the outer loading mode of process in the described loading configuration; The described step of carrying out described loading tasks according to described loading configuration by described default task management object is specially:
Select load mode according to described loading configuration, outside in-process or process, carry out described loading tasks according to described load mode.
Preferably, the described step of carrying out described loading tasks according to described loading configuration by described default task management object is specially:
Obtain the agent object that generates according to described loading configuration, carry out described loading tasks by described task management object and agent object.
Preferably, described task management object comprises the task sequence attribute;
Described according to also comprising after the step of described application load request by default task management object generation loading tasks:
Described loading tasks is added in the described task sequence attribute;
The described step of carrying out described loading tasks according to described and described loading configuration by described default task management object is specially:
According to described loading configuration, by described default task management object, carry out described loading tasks according to the sequence synchronization of adding described task sequence attribute to.
Preferably, described method also comprises:
Obtain the task sequence attribute in the described task management object, show described task sequence attribute.
In addition, also be necessary to provide a kind of application loading system of using the dirigibility that loads that improves.
A kind of application loading system comprises with lower module:
The acquisition request module is used for obtaining the application load request;
The configuration acquisition module is used for obtaining the loading configuration corresponding with described application load request;
The task management module is used for generating loading tasks according to described application load request by default task management object;
The task load-on module is used for carrying out described loading tasks by described default task management object according to described loading configuration.
Preferably, comprise in-process loading and the outer loading mode of process in the described loading configuration;
Described task load-on module also is used for selecting load mode by described default task management object according to described loading configuration, carries out described loading tasks according to described load mode outside in-process or process.
Preferably, described task load-on module also is used for obtaining the agent object that generates according to described loading configuration, carries out described loading tasks by described task management object and agent object.
Preferably, described task management object comprises the task sequence attribute;
Described task management module also is used for adding described loading tasks to described task sequence attribute;
Described task load-on module also is used for by described default task management object, carrying out described loading tasks according to the sequence synchronization of adding described task sequence attribute to according to described loading configuration.
Preferably, also comprise the task display module, be used for obtaining the task sequence attribute of described task management object, and show described task sequence attribute.
Above-mentioned application loading method and system, after getting access to load request, generate loading tasks by default task management object, and according to carrying out this loading tasks with the loading configuration of load request corresponding preset, make and to be undertaken pre-defined according to sign or the type used by configuration to the load mode of using, avoided at code level the load mode of using being limited, make when revising the load mode of using, only need revise to load to dispose to get final product, thereby improved the dirigibility of using loading method and system.
[description of drawings]
Fig. 1 is the process flow diagram of using loading method among the embodiment;
Fig. 2 is the structural representation of using loading system among the embodiment;
Fig. 3 is the structural representation of using loading system among another embodiment.
[embodiment]
As shown in Figure 1, in one embodiment, a kind of application loading method may further comprise the steps:
Step S102 obtains the application load request.
Application has the application identities of using for expression.Before obtaining the application load request, can show a plurality of icons at the display interface of application platform, the corresponding application identities of using of each icon.Click or choose the operation of icon by obtaining the user, obtain the application load request.Use in the load request and can comprise application identities and application type.
Step S104 obtains the loading configuration corresponding with using load request.
Loading is configured to pre-defined, wherein can record the concrete load mode relevant with process.Load configuration and can be stored in the configuration file of application, also can be with the form of binary stream and application identities corresponding stored in database.In one embodiment, comprise application identities in the configuration file and load the mapping relations that dispose, further, can from use load request, extract application identities, search the loading configuration corresponding with it according to application identities.
Step S106 generates loading tasks according to using load request by default task management object.
In one embodiment, can handle function as the request that the function call parameter passes in the default task management object with using load request, function is handled in this request can generate loading tasks according to this function call parameter, and loading tasks can exist with the form of object or structure.The loading tasks that generates can comprise task identification and task description information.Task description information can comprise that Apply Names, application descriptor, the task of the application corresponding with task load constantly, task run state (activation, hang-up, termination etc.).Formal definition that can loading function in the loading tasks is according to the load logic of using the load request load application.
For example, the definable loading tasks is object task, be object task definition loading method load, then can be defined as follows logic among the loading function load: the memory location that obtains the data file of the application corresponding with it according to application identities, with the dynamic link library file under this memory location registration, read the data file of the application under this memory location and be loaded in the internal memory.
Step S108 carries out loading tasks by default task management object according to loading configuration.
In one embodiment, comprise in-process loading and the outer loading mode of process in the loading configuration.Can select load mode according to loading configuration by default task management object, outside in-process or process, carry out loading tasks according to load mode.Be defined as in in-process loading if load in the configuration, then the expression application is corresponding one by one with process, a plurality of running examples (for example, notepad appli-cation can be opened a plurality of windows, has a plurality of running examples) of corresponding certain application of same process; Load if load to be defined as outside process in the configuration, then the running example of expression application is corresponding one by one with process, (for example use corresponding a plurality of processes for one, the application that needs use socket to communicate, because the socket port is corresponding one by one with process, so the corresponding process of the running example of an application).Further, go back the corresponding process of the identical application type of definable (as the application of web class, all in the web container process, being loaded) in the loading configuration.
In the present embodiment, when carrying out loading tasks according to the loading configuration, can add in the loading tasks according to the corresponding function of load logic of definition in loading the configuration selection and loading configuration, and then carry out loading tasks.For example, if the loading of reading is configured to in-process loading, then can register the function that dll loads (the dynamic link library mode loads) application in the load function in loading tasks object task; If the loading process that is configured to that reads loads, then can register the function that exe loads (the executable program mode loads) application in the load function in loading tasks object task outward.
In one embodiment, also can obtain according to loading the agent object that configuration generates, carry out loading tasks by task management object and agent object.For example, can pre-defined abstract class or interface ModuleAgent, and this interface or abstract class is registered in the loading function of loading tasks.Be the multiple concrete proxy object definition of multiple loading configuration definition, and be instantiated as concrete agent object, as dllAgent object (corresponding in-process loading configuration) and exeAgent object (corresponding process loads configuration outward).When carrying out loading tasks, can be by the loading function of task management object reference loading tasks object, then the agent object that gets access to by registered ModuleAgent interface or abstract class dynamic binding of loading function (as, if the agent object that gets access to is dllAgent, then with ModuleAgent interface or the abstract class binding of registering in itself and the loading function), the interface function that calls agent object then loads.
Use agent object to come load application, can utilize the polymorphism of abstract class or interface, when the object binding is deferred to operation from compiler, use the dynamic that loads thereby improved.
In one embodiment, the task management object can comprise the task sequence attribute.After task management object generation loading tasks, loading tasks can be added in the task sequence attribute.Can by default task management object, carry out loading tasks according to the sequence synchronization of adding the task sequence attribute to according to loading configuration then.
Loading tasks can be guaranteed that with the sequence synchronization execution of adding the task sequence attribute to the loading of using can be according to the order execution that generates loading tasks.When carrying out loading tasks synchronously, always after finishing a task, loading continues to load next the application again.If a plurality of application load simultaneously, then may identical system resource be read in the loading procedure, easily make the loading procedure of a plurality of application deadlock occur.Therefore carrying out loading tasks in order synchronously can avoid the loading procedure deadlock, has improved the stability of system.
Further, also can obtain the task sequence attribute in the task management object, show the task sequence attribute.After getting access to the task sequence attribute, the task identification of the loading tasks in the task sequence attribute and task description information and the application identities corresponding with task are showed the user with the form of tabulation, can make things convenient for the user to know and currently which has loaded use, and the task run what state.
As shown in Figure 2, in one embodiment, a kind of application loading system comprises acquisition request module 102, configuration acquisition module 104, task management module 106 and task load-on module 108, wherein:
Application has the application identities of using for expression.Before obtaining the application load request, can show a plurality of icons at the display interface of application platform, the corresponding application identities of using of each icon.Acquisition request module 102 can be used for clicking or choose the operation of icon by obtaining the user, obtains the application load request.Use in the load request and can comprise application identities and application type.
Loading is configured to pre-defined, wherein can record the concrete load mode relevant with process.Load configuration and can be stored in the configuration file of application, also can be with the form of binary stream and application identities corresponding stored in database.In one embodiment, comprise application identities in the configuration file and load the mapping relations that dispose, further, configuration acquisition module 104 can be used for extracting application identities from use load request, searches the loading configuration corresponding with it according to application identities.
In one embodiment, task management module 106 can be used for handling function with using load request as the request that the function call parameter passes in the default task management object, function is handled in this request can generate loading tasks according to this function call parameter, and loading tasks can exist with the form of object or structure.The loading tasks that generates can comprise task identification and task description information.Task description information can comprise that Apply Names, application descriptor, the task of the application corresponding with task load constantly, task run state (activation, hang-up, termination etc.).Formal definition that can loading function in the loading tasks is according to the load logic of using the load request load application.
For example, the definable loading tasks is object task, be object task definition loading method load, then can be defined as follows logic among the loading function load: the memory location that obtains the data file of the application corresponding with it according to application identities, with the dynamic link library file under this memory location registration, read the data file of the application under this memory location and be loaded in the internal memory.
Task load-on module 108 is used for carrying out loading tasks by default task management object according to loading configuration.
In one embodiment, comprise in-process loading and the outer loading mode of process in the loading configuration.Task load-on module 108 can be used for selecting load mode by default task management object according to loading configuration, carries out loading tasks according to load mode outside in-process or process.Be defined as in in-process loading if load in the configuration, then the expression application is corresponding one by one with process, a plurality of running examples (for example, notepad appli-cation can be opened a plurality of windows, has a plurality of running examples) of corresponding certain application of same process; Load if load to be defined as outside process in the configuration, then the running example of expression application is corresponding one by one with process, (for example use corresponding a plurality of processes for one, the application that needs use socket to communicate, because the socket port is corresponding one by one with process, so the corresponding process of the running example of an application).Further, go back the corresponding process of the identical application type of definable (as the application of web class, all in the web container process, being loaded) in the loading configuration.
In the present embodiment, when carrying out loading tasks according to the loading configuration, can add in the loading tasks according to the corresponding function of load logic of definition in loading the configuration selection and loading configuration, and then carry out loading tasks.For example, if the loading of reading is configured to in-process loading, then can register the function that dll loads (the dynamic link library mode loads) application in the load function in loading tasks object task; If the loading process that is configured to that reads loads, then can register the function that exe loads (the executable program mode loads) application in the load function in loading tasks object task outward.
In one embodiment, task load-on module 108 also can be used for obtaining according to loading the agent object that configuration generates, and carries out loading tasks by task management object and agent object.For example, can pre-defined abstract class or interface ModuleAgent, and this interface or abstract class is registered in the loading function of loading tasks.Be the multiple concrete proxy object definition of multiple loading configuration definition, and be instantiated as concrete agent object, as dllAgent object (corresponding in-process loading configuration) and exeAgent object (corresponding process loads configuration outward).When carrying out loading tasks, can be by the loading function of task management object reference loading tasks object, then the agent object that gets access to by registered ModuleAgent interface or abstract class dynamic binding of loading function (as, if the agent object that gets access to is dllAgent, then with ModuleAgent interface or the abstract class binding of registering in itself and the loading function), the interface function that calls agent object then loads.
Use agent object to come load application, can utilize the polymorphism of abstract class or interface, when the object binding is deferred to operation from compiler, use the dynamic that loads thereby improved.
In one embodiment, the task management object can comprise the task sequence attribute.Task management module 106 also can be used for loading tasks is added in the task sequence attribute, and according to loading configuration, by default task management object, carries out loading tasks according to the sequence synchronization of adding the task sequence attribute to.
Loading tasks can be guaranteed that with the sequence synchronization execution of adding the task sequence attribute to the loading of using can be according to the order execution that generates loading tasks.When carrying out loading tasks synchronously, always after finishing a task, loading continues to load next the application again.If a plurality of application load simultaneously, then may identical system resource be read in the loading procedure, easily make the loading procedure of a plurality of application deadlock occur.Therefore carrying out loading tasks in order synchronously can avoid the loading procedure deadlock, has improved the stability of system.
Further, as shown in Figure 3, use loading system and also can comprise task display module 110, be used for obtaining the task sequence attribute of task management object, show the task sequence attribute.After task display module 110 gets access to the task sequence attribute, the task identification of the loading tasks in the task sequence attribute and task description information and the application identities corresponding with task can be showed the user with the form of tabulation, can make things convenient for the user to know and currently which has loaded use, and the task run what state.
Above-mentioned application loading method and system, after getting access to load request, generate loading tasks by default task management object, and according to carrying out this loading tasks with the loading configuration of load request corresponding preset, make and to be undertaken pre-defined according to sign or the type used by configuration to the load mode of using, avoided at code level the load mode of using being limited, make when revising the load mode of using, only need revise to load to dispose to get final product, thereby improved the dirigibility of using loading method and system.
The above embodiment has only expressed several embodiment of the present invention, and it describes comparatively concrete and detailed, but can not therefore be interpreted as the restriction to claim of the present invention.Should be pointed out that for the person of ordinary skill of the art without departing from the inventive concept of the premise, can also make some distortion and improvement, these all belong to protection scope of the present invention.Therefore, the protection domain of patent of the present invention should be as the criterion with claims.
Claims (10)
1. use loading method for one kind, said method comprising the steps of:
Obtain the application load request;
Obtain the loading configuration corresponding with described application load request;
Generate loading tasks according to described application load request by default task management object;
Carry out described loading tasks by described default task management object according to described loading configuration.
2. application loading method according to claim 1 is characterized in that, comprises in-process loading and the outer loading mode of process in the described loading configuration; The described step of carrying out described loading tasks according to described loading configuration by described default task management object is specially:
Select load mode according to described loading configuration, outside in-process or process, carry out described loading tasks according to described load mode.
3. application loading method according to claim 1 is characterized in that, the described step of carrying out described loading tasks according to described loading configuration by described default task management object is specially:
Obtain the agent object that generates according to described loading configuration, carry out described loading tasks by described task management object and agent object.
4. according to any described application loading method in the claim 1 to 3, it is characterized in that described task management object comprises the task sequence attribute;
Described according to also comprising after the step of described application load request by default task management object generation loading tasks:
Described loading tasks is added in the described task sequence attribute;
The described step of carrying out described loading tasks according to described and described loading configuration by described default task management object is specially:
According to described loading configuration, by described default task management object, carry out described loading tasks according to the sequence synchronization of adding described task sequence attribute to.
5. application loading method according to claim 4 is characterized in that, described method also comprises:
Obtain the task sequence attribute in the described task management object, show described task sequence attribute.
6. use loading system for one kind, it is characterized in that, comprise with lower module:
The acquisition request module is used for obtaining the application load request;
The configuration acquisition module is used for obtaining the loading configuration corresponding with described application load request;
The task management module is used for generating loading tasks according to described application load request by default task management object;
The task load-on module is used for carrying out described loading tasks by described default task management object according to described loading configuration.
7. application loading system according to claim 6 is characterized in that, comprises in-process loading and the outer loading mode of process in the described loading configuration;
Described task load-on module also is used for selecting load mode by described default task management object according to described loading configuration, carries out described loading tasks according to described load mode outside in-process or process.
8. application loading system according to claim 6 is characterized in that, described task load-on module also is used for obtaining the agent object that generates according to described loading configuration, carries out described loading tasks by described task management object and agent object.
9. according to any described application loading system in the claim 6 to 8, it is characterized in that described task management object comprises the task sequence attribute;
Described task management module also is used for adding described loading tasks to described task sequence attribute;
Described task load-on module also is used for by described default task management object, carrying out described loading tasks according to the sequence synchronization of adding described task sequence attribute to according to described loading configuration.
10. application loading system according to claim 9 is characterized in that, also comprises the task display module, is used for obtaining the task sequence attribute of described task management object, and shows described task sequence attribute.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110444755.7A CN103186386B (en) | 2011-12-27 | 2011-12-27 | Using loading method and system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110444755.7A CN103186386B (en) | 2011-12-27 | 2011-12-27 | Using loading method and system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103186386A true CN103186386A (en) | 2013-07-03 |
CN103186386B CN103186386B (en) | 2017-10-27 |
Family
ID=48677564
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110444755.7A Active CN103186386B (en) | 2011-12-27 | 2011-12-27 | Using loading method and system |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103186386B (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106095397A (en) * | 2016-04-29 | 2016-11-09 | 乐视控股(北京)有限公司 | Terminal and the dynamic loading method of information |
CN107015725A (en) * | 2016-01-28 | 2017-08-04 | 溥美公司 | Open the example of assets |
CN107783827A (en) * | 2016-08-31 | 2018-03-09 | 北京国双科技有限公司 | Asynchronous task processing method and processing device |
CN107943576A (en) * | 2017-12-14 | 2018-04-20 | 中国平安人寿保险股份有限公司 | Starting guide method, apparatus, equipment, system and the medium of application program |
CN108664293A (en) * | 2018-05-16 | 2018-10-16 | 北京安云世纪科技有限公司 | Application control method and apparatus in Android system |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1321853A2 (en) * | 2001-12-10 | 2003-06-25 | Sap Ag | Dynamic component transfer based on resource negotiations between computer systems |
CN101502079A (en) * | 2006-08-10 | 2009-08-05 | 索尼爱立信移动通讯有限公司 | System and method for installing and configuring software applications on a mobile networked terminal |
CN102164179A (en) * | 2011-04-01 | 2011-08-24 | 奇智软件(北京)有限公司 | Method and system for arranging terminal application based on network |
CN102207856A (en) * | 2010-03-29 | 2011-10-05 | 日电(中国)有限公司 | Method and system for creating object of in-process component |
-
2011
- 2011-12-27 CN CN201110444755.7A patent/CN103186386B/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1321853A2 (en) * | 2001-12-10 | 2003-06-25 | Sap Ag | Dynamic component transfer based on resource negotiations between computer systems |
EP1321853A3 (en) * | 2001-12-10 | 2009-12-23 | Sap Ag | Dynamic component transfer based on resource negotiations between computer systems |
CN101502079A (en) * | 2006-08-10 | 2009-08-05 | 索尼爱立信移动通讯有限公司 | System and method for installing and configuring software applications on a mobile networked terminal |
CN102207856A (en) * | 2010-03-29 | 2011-10-05 | 日电(中国)有限公司 | Method and system for creating object of in-process component |
CN102164179A (en) * | 2011-04-01 | 2011-08-24 | 奇智软件(北京)有限公司 | Method and system for arranging terminal application based on network |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107015725A (en) * | 2016-01-28 | 2017-08-04 | 溥美公司 | Open the example of assets |
CN106095397A (en) * | 2016-04-29 | 2016-11-09 | 乐视控股(北京)有限公司 | Terminal and the dynamic loading method of information |
CN107783827A (en) * | 2016-08-31 | 2018-03-09 | 北京国双科技有限公司 | Asynchronous task processing method and processing device |
CN107943576A (en) * | 2017-12-14 | 2018-04-20 | 中国平安人寿保险股份有限公司 | Starting guide method, apparatus, equipment, system and the medium of application program |
CN108664293A (en) * | 2018-05-16 | 2018-10-16 | 北京安云世纪科技有限公司 | Application control method and apparatus in Android system |
Also Published As
Publication number | Publication date |
---|---|
CN103186386B (en) | 2017-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
La et al. | A conceptual framework for provisioning context-aware mobile cloud services | |
CA2600503C (en) | Method and system for executing a container-managed application on a processing device | |
US8555280B2 (en) | Terminal device of non-android platform for executing android applications, and computer readable recording medium for storing program of executing android applications on non-android platform | |
CN111596969A (en) | Software architecture method based on microkernel plus plug-in | |
US7840967B1 (en) | Sharing data among isolated applications | |
JP5189986B2 (en) | Extensible mechanism for object composition | |
US9569181B2 (en) | System and method for supporting an object oriented scripting tool | |
KR100880536B1 (en) | Open framework system for heterogeneous computing and service integration | |
US7770159B2 (en) | Virtual types | |
CN103186386A (en) | Application loading method and system | |
CN102073525A (en) | Method and device for dynamically upgrading Web service system based on Java platform | |
US20110258620A1 (en) | Method and Apparatus for Making a BPM Application Available to Multiple Tenants | |
CN103077024A (en) | Device and method for supporting customization and running of software-as-a-service (SaaS) application processes | |
CN102929597A (en) | Java-platform-based web service support method and device | |
US20060252406A1 (en) | System and method for providing bundle group termination in an OSGi service platform | |
US20220214931A1 (en) | System and method for exposing features of integration platform adapters as first-class actions in an orchestration template | |
US20090049105A1 (en) | Extensible dependency management framework and method | |
CN112685020A (en) | Method and device for dynamically creating service interface, electronic equipment and storage medium | |
US20080271058A1 (en) | Tangible interface for mobile middleware | |
US6842905B2 (en) | Method and system for implementing collection program interface for accessing a collection of data associated with a legacy enumeration application interface | |
US20100299652A1 (en) | Apparatus and method for managing components in sca system | |
CN109740342A (en) | Obtain method, system, computer installation and storage medium that shell executes permission | |
CN113448650A (en) | Live broadcast function plug-in loading method, device, equipment and storage medium | |
CN104461553A (en) | Storage management method in conformity with SMI-S (storage management initiative specification) standard | |
CN103677842A (en) | Software tool configuration type integrated expansion calling method and 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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |