CN103457982A - Method and device for interaction of mobile internet webpage and mobile terminal capacity - Google Patents

Method and device for interaction of mobile internet webpage and mobile terminal capacity Download PDF

Info

Publication number
CN103457982A
CN103457982A CN2012101832449A CN201210183244A CN103457982A CN 103457982 A CN103457982 A CN 103457982A CN 2012101832449 A CN2012101832449 A CN 2012101832449A CN 201210183244 A CN201210183244 A CN 201210183244A CN 103457982 A CN103457982 A CN 103457982A
Authority
CN
China
Prior art keywords
mobile terminal
markup language
code
operating system
webpage
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
Application number
CN2012101832449A
Other languages
Chinese (zh)
Other versions
CN103457982B (en
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.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CN201210183244.9A priority Critical patent/CN103457982B/en
Publication of CN103457982A publication Critical patent/CN103457982A/en
Application granted granted Critical
Publication of CN103457982B publication Critical patent/CN103457982B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Telephonic Communication Services (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The invention discloses a method and device for interaction of a mobile internet webpage and mobile terminal capacity, wherein the method and device can achieve call to the function module of a mobile terminal in a webpage. The method comprises the steps of carrying out analysis on the webpage currently visited by the mobile terminal, translating the analyzed marking language needing to call the mobile terminal capacity into codes which can be identified by the operating system of the mobile terminal, executing the codes, and calling a corresponding function module of the mobile terminal. The device comprises a marking language executing engine, a code translating engine and an operating system executing engine. Through the adoption of the method and the device for the interaction of the mobile internet webpage and the mobile terminal capacity, the application of the mobile internet is made to be more abundant, user experience is improved, and the cost for application suppliers to develop client-side applications for the scene development which cannot be met is reduced.

Description

The method and apparatus that a kind of mobile Internet webpage and capacity of mobile terminal are mutual
Technical field
The present invention relates to mobile internet technical field, be specifically related to the mutual method and apparatus of a kind of mobile Internet webpage and capacity of mobile terminal.
Background technology
Generally popular along with smart mobile phone, the content of existing mobile Internet portal website and website is quantity increase at double also, but because HTML, HTML5, Javascript markup language do not have the ability of calling mobile phone operating system, as camera function, microphone, memorandum etc., just greatly limited the abundant in content property of mobile Internet webpage and user's interactive performance.
At present, have following several application scenarios to meet:
1, the user shares picture in social portal page, can only select at present the photo upload of having taken to share on system, can't take and share in real time;
2, the cellphone subscriber in webpage can't with the online voice of good friend, Video chat;
3, in browsing mobile Internet webpage, find second to kill, the activity such as panic buying, can't directly add in the mobile phone timed reminding by the prompting button on the page.
Mobile Internet webpage does not have the ability of operating system in calling mobile phone, if allow application provider for meeting this application scenarios, the application of exploitation cell-phone customer terminal solves this problem, and develops different versions according to mobile phone operating system, has so just improved the cost of application developers.Also the interactivity that has limited the rich and user of mobile Internet application simultaneously.
Summary of the invention
The technical problem to be solved in the present invention is to provide a kind of mobile Internet webpage and the mutual method and apparatus of capacity of mobile terminal, can realize calling the mobile terminal function module in webpage.
For solving the problems of the technologies described above, the invention provides a kind of mutual method of mobile Internet webpage and capacity of mobile terminal, comprising:
Webpage to the mobile terminal current accessed is resolved;
The markup language that the needs that are resolved to is called to capacity of mobile terminal is converted into the code that mobile terminal operating system can be identified;
Carry out described code, call the corresponding function module of mobile terminal.
Further, the webpage of mobile terminal current accessed is resolved, being comprised: in the webpage of parsing mobile terminal current accessed, whether the markup language that need to call capacity of mobile terminal is arranged.
Further, the described markup language that the needs that are resolved to are called to capacity of mobile terminal is converted into the code that mobile terminal operating system can be identified, and comprising: according to the described markup language be resolved to, search the code that the pre-stored mobile terminal operating system corresponding with this markup language can be identified.
Further, after calling the corresponding function module of mobile terminal, described method also comprises: the execution result of mobile terminal function module is fed back to webpage.
Further, the described execution result by the mobile terminal function module feeds back to webpage, comprising: the execution result of mobile terminal function module is converted into to markup language, is presented on webpage.
Further, in the feedback execution result, also for the user, provide the option of opening this mobile terminal the corresponding function module.
For solving the problems of the technologies described above, the present invention also provides a kind of mobile Internet webpage and the mutual device of capacity of mobile terminal, comprising: markup language is carried out engine, code translation engine and operating system and is carried out engine, wherein:
Described markup language is carried out engine, for the webpage to the mobile terminal current accessed, is resolved;
Described code translation engine, the markup language that calls capacity of mobile terminal for markup language being carried out to needs that engine is resolved to is converted into the code that mobile terminal operating system can be identified;
Described operating system is carried out engine, for carrying out described code, calls the corresponding function module of mobile terminal.
Further, described markup language is carried out engine the webpage of mobile terminal current accessed is resolved, and comprising: in the webpage of parsing mobile terminal current accessed, whether the markup language that need to call capacity of mobile terminal is arranged.
Further, the markup language that described code translation engine is called capacity of mobile terminal by needs is converted into the code that mobile terminal operating system can be identified, and comprising: according to the described markup language be resolved to, search the code that the pre-stored mobile terminal operating system corresponding with this markup language can be identified.
Further, described operating system is carried out engine, also for after calling the corresponding function module of mobile terminal, the execution result of mobile terminal function module is fed back to described code translation engine; Described code translation engine, also for being converted into markup language by described execution result; Described markup language is carried out engine, also for the markup language that execution result is transformed, is presented at webpage.
Further, described code translation engine comprises operating system adaptation module and one or more code conversion module, wherein: and described operating system adaptation module, for select corresponding code conversion module according to the current mobile terminal system; Described code conversion module, for being converted into markup language the code that mobile terminal operating system can be identified.
The method and apparatus that the mobile internet page that the embodiment of the present invention provides and mobile terminal operating system are mutual, a kind of parsing, conversion, the execution engine apparatus that adopt, by markup languages such as HTML, HMTL5 in the parsing mobile internet page, Javascript, convert it into the executable code of certain operating system (as android, iOS, wphone etc.).The embodiment of the present invention has multi-platform adaption function simultaneously, according to different operating system, is converted into different executable codes, finally by operating system, carries out this code of engine start thread execution, realizes calling the operating system mobile phone capacity.The embodiment of the present invention can also realize calling result and change into the Web Page Tags language and feed back to code execution engine, finally returns to mobile Internet webpage.Be convenient to user's function such as direct calling mobile phone camera, interpolation mobile phone timed reminding when the access mobile Internet webpage.Solve mobile Internet webpage and the mutual problem of mobile phone operating system, make the mobile Internet application abundanter, improved user's experience, also reduce application provider and develop the cost of client application for the scene that these can't be satisfied.
The accompanying drawing explanation
Fig. 1 is embodiment 1 flow chart;
Fig. 2 is the structural representation of embodiment 2 devices;
Fig. 3 is the mutual schematic diagram of internet web page and mobile terminal operating system;
Fig. 4 is to be code translation engine process chart.
Embodiment
For making the purpose, technical solutions and advantages of the present invention clearer, hereinafter in connection with accompanying drawing, embodiments of the invention are elaborated.It should be noted that, in the situation that do not conflict, the embodiment in the application and the feature in embodiment be combination in any mutually.
Embodiment 1
The present embodiment introduction can allow mobile internet page call the method for capacity of mobile terminal, as shown in Figure 1, comprises the following steps:
Step 110, resolved the webpage of mobile terminal current accessed;
Particularly, in the webpage of parsing mobile terminal current accessed, whether the markup language (for example method name) that need to call capacity of mobile terminal is arranged.
Step 120, the markup language that the needs that are resolved to is called to capacity of mobile terminal is converted into the code that mobile terminal operating system can be identified;
The markup language of capacity of mobile terminal need to be called except comprising the markup language method name that need to call capacity of mobile terminal, also the relevant parameter wherein related to may be comprised.
The code that this mobile terminal operating system can be identified can be pre-stored within mobile terminal, according to the method name, mates and calls, and realizes transforming.
The code that this mobile terminal operating system can be identified is equivalent to call the order of mobile terminal the corresponding function module.
Step 130, carry out described code, calls the corresponding function module of mobile terminal.
Above-mentioned capacity of mobile terminal is the ability that the corresponding function module has.
After calling the functional module of mobile terminal, the execution result of mobile terminal function module can be fed back to current accessed webpage or new webpage.Particularly, the execution result of mobile terminal function module is converted into to markup language, is presented on webpage.In addition, can also provide the option of opening this mobile terminal the corresponding function module for the user, be checked for the user.
Realize the device of said method as shown in Figures 2 and 3, comprising: markup language is carried out engine, code translation engine and operating system and is carried out engine, wherein:
This markup language is carried out engine, for the webpage to the mobile terminal current accessed, is resolved;
This code translation engine, the markup language that calls capacity of mobile terminal for markup language being carried out to needs that engine is resolved to is converted into the code that mobile terminal operating system can be identified;
This operating system is carried out engine, for carrying out described code, calls the corresponding function module of mobile terminal.
Particularly, markup language is carried out engine and is resolved in the webpage of mobile terminal current accessed whether the markup language that need to call capacity of mobile terminal is arranged.The markup language that the code translation engine is resolved to according to markup language execution engine is searched the code that the pre-stored mobile terminal operating system corresponding with this markup language can be identified.
Preferably, operating system is carried out engine also for after calling the corresponding function module of mobile terminal, and the execution result of mobile terminal function module is fed back to described code translation engine; The code translation engine is converted into markup language by this execution result; Markup language is carried out engine the markup language of this execution result conversion is presented on webpage.
Preferably, above-mentioned code translation engine comprises operating system adaptation module and one or more code conversion module, as shown in Figure 4, described operating system adaptation module is for according to the current mobile terminal system, selecting corresponding code conversion module, and described code conversion module is for being converted into by markup language the code that mobile terminal operating system can be identified.
Embodiment 2
The present embodiment be take markup language as the Javascript language, and the code that mobile terminal operating system can be identified is that Java is example, and said method is elaborated.In the present embodiment, consider that method and device, for the compatibility of different operating system terminal, have increased step 2, in other are implemented, step 2 can not have yet.
Step 1, markup language is carried out engine the mobile internet page of user's access is resolved, need the call operation system capability if be resolved in the page in certain section Javascript language, extract this section Javascript language, pass to the code translation engine using it as parameter;
Markup language is carried out the method name that needs predefine to resolve in engine, the method name A of calling mobile phone camera for example, while when the mobile internet page from user's access, being resolved to method name A, carry out the engine trigger event, the invoke code translation engine, pass to the code translation engine using the party's religious name A as parameter;
Step 2, the code translation engine is obtained the mobile terminal operating system model, selects the code conversion module corresponding with the operating system model, and method name A is passed to this code conversion module;
For adapting to different terminal operating systems, can comprise a plurality of code conversion modules in the code translation engine, for example several arbitrarily with in lower module: android code conversion module, iOS code conversion module, Symbian code conversion module, WPhone code conversion module etc.For convenient difference, in the present embodiment, the title of code conversion module uses the OS name corresponding with it to name.
The operating system of supposing mobile terminal in the present embodiment is Android system, and code translation engine (as the operating system adaptation module in Fig. 4) is selected android code conversion module, and method name A is sent to android code conversion module.
The method that the code translation engine is obtained the mobile terminal operating system model can adopt existing techniques in realizing.
Step 3, the code conversion module is converted into the discernible java code of operating system by the party's religious name A, this java code is passed to operating system and carry out engine;
As the Javascript code of the camera function that needs in internet page to call, be converted into the java code of android operating system calling mobile phone camera by this code conversion module.
For known capacity of mobile terminal, the java code of the whole bag of tricks name correspondence that may occur in webpage can be kept in the code conversion module, when transforming, just can directly find corresponding java code according to the method name like this.Such as the calling mobile phone camera, call microphone, call address list, allocating time prompting function etc.
When needed, the function of this code conversion module also can be expanded, for example, when mobile terminal has new ability, but method name that may be corresponding by this new ability and corresponding operating system cognizance code be saved in the code conversion module, to realize calling new ability.
Step 4, operating system is carried out engine and is received this java code, starts thread and moves this code, calls the corresponding function module of mobile terminal;
Particularly, in operating system, carry out in engine according to the SDK(Software Development Kit operated, SDK) set up a new code execution environments, and according to the API(Application Programming Interface of SDK exploitation, application programming interface) to carry out operating system mutual.
When operating system execution engine receives the executable java code of this operating system, code execution engine is put into code execution environments to this java code and is moved.If while needing call operation system API to need calling mobile phone operating system ability in the java code, code execution environments is carried out according to API and the operating system of operating system alternately.
Step 5, operating system is carried out engine the result of calling functional modules is returned to the code translation engine, and the code translation engine is translated into the javascript language and feeds back to markup language carries out engine, and returns in mobile Internet webpage.
Successful or failed result is converted into to the markup language code of preset correspondence.If the file returned is arranged, for example can be set to the obj ect file object.
The terminal capability for example called is shooting, and operating system is carried out engine by the video flowing feedback code translation engine of obtaining, and after the code translation engine obtains result, feeds back to markup language and carries out engine, and feed back in mobile Internet webpage.When the functions such as the user need to be taken pictures, video conversation, by said method, also can realize, this paper repeats no more.
The markup language in the engine analyzing web page carried out in the usage flag language, and the invoke code translation engine markup language is converted into to operating system can run time version, code after transforming according to the code translation engine, carry out engine by operating system and carried out, finally realize that mobile internet page and mobile terminal operating system are mutual.
One of ordinary skill in the art will appreciate that all or part of step in said method can come the instruction related hardware to complete by program, described program can be stored in computer-readable recording medium, as read-only memory, disk or CD etc.Alternatively, all or part of step of above-described embodiment also can realize with one or more integrated circuits.Correspondingly, each the module/unit in above-described embodiment can adopt the form of hardware to realize, also can adopt the form of software function module to realize.The present invention is not restricted to the combination of the hardware and software of any particular form.
Certainly; the present invention also can have other various embodiments; in the situation that do not deviate from spirit of the present invention and essence thereof; those of ordinary skill in the art are when making according to the present invention various corresponding changes and distortion, but these corresponding changes and distortion all should belong to the protection range of the appended claim of the present invention.

Claims (11)

1. a mobile Internet webpage and the mutual method of capacity of mobile terminal comprise:
Webpage to the mobile terminal current accessed is resolved;
The markup language that the needs that are resolved to is called to capacity of mobile terminal is converted into the code that mobile terminal operating system can be identified;
Carry out described code, call the corresponding function module of mobile terminal.
2. the method for claim 1 is characterized in that:
Webpage to the mobile terminal current accessed is resolved, and comprising: in the webpage of parsing mobile terminal current accessed, whether the markup language that need to call capacity of mobile terminal is arranged.
3. method as claimed in claim 2 is characterized in that:
The described markup language that the needs that are resolved to are called to capacity of mobile terminal is converted into the code that mobile terminal operating system can be identified, and comprising:
Search according to the described markup language be resolved to the code that the pre-stored mobile terminal operating system corresponding with this markup language can be identified.
4. as claim 1 or 2 or 3 described methods, it is characterized in that:
After calling the corresponding function module of mobile terminal, described method also comprises:
The execution result of mobile terminal function module is fed back to webpage.
5. method as claimed in claim 4 is characterized in that:
The described execution result by the mobile terminal function module feeds back to webpage, comprising:
The execution result of mobile terminal function module is converted into to markup language, is presented on webpage.
6. method as claimed in claim 4 is characterized in that:
In the feedback execution result, also for the user, provide the option of opening this mobile terminal the corresponding function module.
7. a mobile Internet webpage and the mutual device of capacity of mobile terminal, comprising: markup language is carried out engine, code translation engine and operating system and is carried out engine, wherein:
Described markup language is carried out engine, for the webpage to the mobile terminal current accessed, is resolved;
Described code translation engine, the markup language that calls capacity of mobile terminal for markup language being carried out to needs that engine is resolved to is converted into the code that mobile terminal operating system can be identified;
Described operating system is carried out engine, for carrying out described code, calls the corresponding function module of mobile terminal.
8. device as claimed in claim 7 is characterized in that:
Described markup language is carried out engine the webpage of mobile terminal current accessed is resolved, and comprising: in the webpage of parsing mobile terminal current accessed, whether the markup language that need to call capacity of mobile terminal is arranged.
9. device as claimed in claim 8 is characterized in that:
The markup language that described code translation engine is called capacity of mobile terminal by needs is converted into the code that mobile terminal operating system can be identified, and comprising: according to the described markup language be resolved to, search the code that the pre-stored mobile terminal operating system corresponding with this markup language can be identified.
10. as claim 7 or 8 or 9 described devices, it is characterized in that:
Described operating system is carried out engine, also for after calling the corresponding function module of mobile terminal, the execution result of mobile terminal function module is fed back to described code translation engine;
Described code translation engine, also for being converted into markup language by described execution result;
Described markup language is carried out engine, also for the markup language that execution result is transformed, is presented at webpage.
11. device as claimed in claim 7 is characterized in that:
Described code translation engine comprises operating system adaptation module and one or more code conversion module, wherein:
Described operating system adaptation module, for selecting corresponding code conversion module according to the current mobile terminal system;
Described code conversion module, for being converted into markup language the code that mobile terminal operating system can be identified.
CN201210183244.9A 2012-06-05 2012-06-05 A kind of method and apparatus of mobile Internet webpage and capacity of mobile terminal interaction Active CN103457982B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210183244.9A CN103457982B (en) 2012-06-05 2012-06-05 A kind of method and apparatus of mobile Internet webpage and capacity of mobile terminal interaction

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210183244.9A CN103457982B (en) 2012-06-05 2012-06-05 A kind of method and apparatus of mobile Internet webpage and capacity of mobile terminal interaction

Publications (2)

Publication Number Publication Date
CN103457982A true CN103457982A (en) 2013-12-18
CN103457982B CN103457982B (en) 2018-03-23

Family

ID=49739930

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210183244.9A Active CN103457982B (en) 2012-06-05 2012-06-05 A kind of method and apparatus of mobile Internet webpage and capacity of mobile terminal interaction

Country Status (1)

Country Link
CN (1) CN103457982B (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104239543A (en) * 2014-09-23 2014-12-24 中邮科通信技术股份有限公司 Life service searching platform based on mobile internet technology
CN105204824A (en) * 2014-05-30 2015-12-30 北大方正集团有限公司 Method and device for communication between application and mobile terminal
CN107729011A (en) * 2017-10-25 2018-02-23 南京大学 A kind of cross-platform page method for transformation from iOS to Android based on model conversion
CN108363590A (en) * 2018-05-17 2018-08-03 珠海横琴盛达兆业科技投资有限公司 A kind of method of webpage version free switching computer camera
CN111027051A (en) * 2019-10-29 2020-04-17 贝壳技术有限公司 Method and device for controlling page permission calling and readable storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1604069A (en) * 2003-09-29 2005-04-06 中国人民解放军理工大学通信工程学院 Multimedia web page rapid adaptation technology compatible with mobile access
CN1666199A (en) * 2002-07-02 2005-09-07 艾利森电话股份有限公司 An arrangement and a method relating to access to internet content
CN101197849A (en) * 2007-12-21 2008-06-11 腾讯科技(深圳)有限公司 Method and device for commuting internet page into wireless application protocol page
CN102118504A (en) * 2011-02-28 2011-07-06 中兴通讯股份有限公司 Methods and devices for calling local applications by means of mobile terminal browser
CN102163233A (en) * 2011-04-18 2011-08-24 北京神州数码思特奇信息技术股份有限公司 Method and system for converting webpage markup language format

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1666199A (en) * 2002-07-02 2005-09-07 艾利森电话股份有限公司 An arrangement and a method relating to access to internet content
CN1604069A (en) * 2003-09-29 2005-04-06 中国人民解放军理工大学通信工程学院 Multimedia web page rapid adaptation technology compatible with mobile access
CN101197849A (en) * 2007-12-21 2008-06-11 腾讯科技(深圳)有限公司 Method and device for commuting internet page into wireless application protocol page
CN102118504A (en) * 2011-02-28 2011-07-06 中兴通讯股份有限公司 Methods and devices for calling local applications by means of mobile terminal browser
CN102163233A (en) * 2011-04-18 2011-08-24 北京神州数码思特奇信息技术股份有限公司 Method and system for converting webpage markup language format

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105204824A (en) * 2014-05-30 2015-12-30 北大方正集团有限公司 Method and device for communication between application and mobile terminal
CN104239543A (en) * 2014-09-23 2014-12-24 中邮科通信技术股份有限公司 Life service searching platform based on mobile internet technology
CN107729011A (en) * 2017-10-25 2018-02-23 南京大学 A kind of cross-platform page method for transformation from iOS to Android based on model conversion
CN107729011B (en) * 2017-10-25 2019-09-20 南京大学 A kind of cross-platform page method for transformation of slave iOS to the Android based on model conversion
CN108363590A (en) * 2018-05-17 2018-08-03 珠海横琴盛达兆业科技投资有限公司 A kind of method of webpage version free switching computer camera
CN111027051A (en) * 2019-10-29 2020-04-17 贝壳技术有限公司 Method and device for controlling page permission calling and readable storage medium

Also Published As

Publication number Publication date
CN103457982B (en) 2018-03-23

Similar Documents

Publication Publication Date Title
CN102279884B (en) Data acquiring and displaying method, system and Web server based on Web pages
CN103237083B (en) A kind of mobile information service resource paradigmatic system and method
US20110320525A1 (en) Systems and methods for enabling mobile mashups
CN102799477A (en) Resource access method and apparatus
CN103457982A (en) Method and device for interaction of mobile internet webpage and mobile terminal capacity
CN103533460A (en) Method, device, terminal and system for sharing television service
US11722555B2 (en) Application control method and apparatus, electronic device, and storage medium
CN104216697B (en) Animation playing method and device for mobile terminal and mobile terminal
CN109240697B (en) Call processing method and device and storage medium
CN101957756A (en) System and method for rapidly generating intelligent mobile terminal program
US11151219B2 (en) Generating rich digital documents from limited instructional data
US20110320286A1 (en) System And Method For Integrating An Ad Banner With A Calling Application
CN103023870A (en) Method, device and equipment for outputting data in message
CN106487662B (en) Information sharing method and device
CN104270509A (en) Displaying method of interface of mobile terminal, mobile terminal and server
CN114237840A (en) Resource interaction method, device, terminal and storage medium
US8966108B2 (en) Portable data carrier comprising a CAT interpreter
CN103164214A (en) Calling method and system of browser on camera in mobile terminal
CN105278928A (en) IVR external interface configuration method and IVR external interface configuration device
CN101964742B (en) Method, system and device for using network open ability
CN112328330A (en) iOS component calling method, device, middleware, electronic equipment and medium
CN116319689A (en) IVVR video interaction realization method, system and storage medium based on HTML5
GB2505552A (en) Providing interactive content
US20120303724A1 (en) Method for realizing a short message customization service and a short message customization service platform
KR20110104885A (en) Method and apparatus for accessing one or more services of a device

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