IP Library › Granted Patent US 9,619,307
Granted Patent B2
US 9,619,307 · App. 13/593,883 · Granted Apr 11, 2017

Enabling a web application to call at least one native function of a mobile device

Inventors: Giulio Maltese (Rome, IT); Gaetano Ruggiero (Rome, IT)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F9/545G06F21/32H04L29/0809H04L69/162
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,619,307
App. No.
13/593,883
Granted
Apr 11, 2017
Kind
B2
Abstract

Enabling a web application to call at least one native function of a mobile device includes accessing the web application by a browser of the mobile device. The web application includes at least one GUI element. The mobile device operates a listener module that is a TCP/IP socket listener listening for an address including a localhost IP address and a port number. Upon selection of the GUI element, a cross domain HTTP request is submitted by the browser to the listener localhost IP address. The listener module receives the request and calls the at least one native function in dependence on the received request.

Claims (95)

1. A method of enabling a web application to call at least one native function of a mobile device, the method comprising:

accessing the web application by a browser of the mobile device, the web application comprising at least one graphical user interface (GUI) element, the mobile device operating a listener module, the listener module being a Transmission Control Protocol/Internet Protocol (TCP/IP) socket listener listening for an address comprising a localhost IP address and a port number;

upon selection of the GUI element, submitting a cross domain HyperText-Transfer Protocol HTTP request by the browser to the listener localhost IP address;

receiving, by the listener module, the request; and

calling, by the listener module, the at least one native function in dependence on the received request.

2. The method of claim 1 , wherein

the listener module is a web server.

3. The method of claim 1 , wherein

the cross domain HTTP request comprises one or more parameters, wherein

the at least one native function is indicated by at least one of the parameters.

4. The method of claim 1 , wherein

the listener module is implemented based on a cross-platform language.

5. The method of claim 1 , further comprising

submitting the cross domain HTTP request comprises executing, by the browser, a script being contained in the HyperText-Markup Language (HTML) code of the web application, wherein

a cross domain HTTP communication is achieved by HTML functionalities comprising an iFrame tag embedded in the HTML code of the web application.

6. The method of claim 1 , wherein

the cross domain HTTP request comprises a session ID being particular to a session between the web application and the browser, and

the method further comprising:

receiving, by the listener module, a result generated by the at least one native function;

providing, by the listener module, the result and the session ID to a result collector module via a network, the result collector module running on a first remote computer system, the web application running on the first or on a second remote computer system; and

providing, by the result collector module, a notification to the web application that the result has been received for the session, wherein

the listener module makes use of one or more of the parameters received via the cross-domain HTTP request to address and call the result collector module.

7. The method of claim 6 , wherein

the web application is updated in dependence on the provided result.

8. The method of claim 6 , wherein

the result collector module executes a result handler upon a call by the listener module, the result handler receiving the result by the result collector module.

9. The method of claim 6 , wherein

the result collector module is executing a check-result-received function, said function comprising checking, by the result collector module upon a call by the web application, if the result was received, and notifying the calling web application of the successful receipt of the result; or wherein

the result collector module is executing a provide-result function, said function comprising providing, upon a call of the web application, the result to the calling web application.

10. The method of claim 9 , wherein

the web application calling the check-result-received function sends the session ID via the call as a key for checking whether the result created for the session of said session ID was successfully received by the result collector module; or wherein

the web application calling the provide-result function sends the session ID via the call as a key for selecting the result to be provided to the web application.

11. The method of claim 9 , further comprising:

calling, by the web application, the check-result-received function repeatedly until a confirmation of a successful receipt of the result is obtained or until the number of repeated calls exceeds a first threshold value; and

in case the check-result-received function returned a notification of a successful receipt of the result, calling, by the web application, the provide-result function to receive the result from the result collector module and receiving the result by the web application.

12. The method of claim 8 , wherein

the native function called by the listener module gathers biometrical data from the user of the mobile device, wherein

the gathered biometrical data is provided as the result to the result collector module,

the method further comprising:

evaluating, by the result collector module, the biometrical data of the user to determine if the user is authorized to access a security function provided by the web application, the evaluation returning an evaluation result;

downloading the evaluation result by the web application via the provide-result function;

granting or denying the user access to the security function by the web application in dependence on the evaluation result.

13. A system, comprising:

a mobile device comprising a hardware processor operable to execute at least one native function of the mobile device and initiate the following executable operations:

accessing a web application by a browser of the mobile processing device, the web application comprising at least one graphical user interface (GUI) element, the mobile device operating a listener module, the listener module being a Transmission Control Protocol/Internet Protocol (TCP/IP) socket listener listening for an address comprising a localhost IP address and a port number;

upon selection of the GUI element, submitting a cross domain HyperText-Transfer Protocol (HTTP) request by the browser to the listener localhost IP address;

receiving, by the listener module, the request; and

calling, by the listener module, the at least one native function in dependence on the received request.

14. The system of claim 13 , wherein

the cross domain HTTP request comprises one or more parameters, wherein

the at least one native function is indicated by at least one of the parameters.

15. The system of claim 13 , wherein the operations further comprising

submitting the cross domain HTTP request comprises executing, by the browser, a script being contained in the HyperText Markup Language (HTML) code of the web application, wherein

a cross domain HTTP communication is achieved by HTML functionalities comprising an iFrame tag embedded in the HTML code of the web application.

16. The system of claim 13 , wherein

the cross domain HTTP request comprises a session ID being particular to a session between the web application and the browser,

the operations further comprising:

receiving, by the listener module, a result generated by the at least one native function;

providing, by the listener module, the result and the session ID to a result collector module via a network, the result collector module running on a first remote computer system, the web application running on the first or on a second remote computer system; and

providing, by the result collector module, a notification to the web application that the result has been received for the session, wherein

the listener module makes use of one or more of the parameters received via the cross-domain HTTP request to address and call the result collector module.

17. The system of claim 16 , wherein

the web application is updated in dependence on the provided result.

18. The system of claim 16 , wherein

the result collector module executes a result handler upon a call by the listener module, the result handler receiving the result by the result collector module.

19. The system of claim 16 , wherein

the result collector module is executing a check-result-received function, said function comprising checking, by the result collector module upon a call by the web application, if the result was received, and notifying the calling web application of the successful receipt of the result; or wherein

the result collector module is executing a provide-result function, said function comprising providing, upon a call of the web application, the result to the calling web application.

20. The system of claim 19 , wherein

the web application calling the check-result-received function sends the session ID via the call as a key for checking whether the result created for the session of said session ID was successfully received by the result collector module; or wherein

the web application calling the provide-result function sends the session ID via the call as a key for selecting the result to be provided to the web application.

21. The system of claim 19 , wherein the operations further comprising:

calling, by the web application, the check-result-received function repeatedly until a confirmation of a successful receipt of the result is obtained or until the number of repeated calls exceeds a first threshold value; and

in case the check-result-received function returned a notification of a successful receipt of the result, calling, by the web application, the provide-result function to receive the result from the result collector module and receiving the result by the web application.

22. A computer program product for enabling a web application to call at least one native function of a mobile device, comprising:

a computer-readable hardware storage device having stored thereon program code that, when executed, configures a processor to perform the following executable operations:

accessing the web application by a browser of the mobile device, the web application comprising at least one graphical user interface (GUI) element, the mobile device operating a listener module, the listener module being a Transmission Control Protocol/Internet Protocol (TCP/IP) socket listener listening for an address comprising a localhost IP address and a port number;

upon selection of the GUI element, submitting a cross domain HyperText-Transfer Protocol (HTTP) request by the browser to the listener localhost IP address;

receiving, by the listener module, the request; and

calling, by the listener module, the at least one native function in dependence on the received request.

23. The computer program product of claim 22 , wherein

the cross domain HTTP request comprises one or more parameters, wherein

the at least one native function is indicated by at least one of the parameters.

24. The computer program product of claim 22 , wherein

the operations further comprising:

submitting the cross domain HTTP request comprises executing, by the browser,

a script being contained in the HTML code of the web application, wherein

a cross domain HTTP communication is achieved by HTML functionalities comprising an iFrame tag embedded in the HyperText-Markup Language (HTML) code of the web application.

25. The computer program product of claim 22 , wherein

the cross domain HTTP request comprises a session ID being particular to a session between the web application and the browser,

the computer-readable storage medium further storing program code that, when executed, configures a processor to perform executable operations comprising:

receiving, by the listener module, a result generated by the at least one native function;

providing, by the listener module, the result and the session ID to a result collector module via a network, the result collector module running on a first remote computer system, the web application running on the first or on a second remote computer system; and

providing, by the result collector module, a notification to the web application that the result has been received for the session, wherein

the listener module makes use of one or more of the parameters received via the cross-domain HTTP request to address and call the result collector module.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 24, 2012
From: MALTESE, GIULIO; RUGGIERO, GAETANO
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 028844/0192 →
Priority Claims (1)
EP 11178891 · Aug 25, 2011 · regional
Continuity (1)
Related Publication 20130055289A1 · Feb 28, 2013