IP Library › Granted Patent US 11,531,747
Granted Patent B2
US 11,531,747 · App. 16/572,336 · Granted Dec 20, 2022

Method for exchanging data between a web browser and an application

Inventors: Shengyong Deng (Mountain View, CA); Qingdi Liu (Mountain View, CA); Chandrasekhar Rentachintala (Mountain View, CA)
Assignee: Beijing Didi Infinity Technology and Development Co., Ltd.
G06F21/44G06F9/45529G06F21/31H04L67/02
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 11,531,747
App. No.
16/572,336
Granted
Dec 20, 2022
Kind
B2
Abstract

A method of exchanging information with network devices using web browsers includes executing an application on a client device to implement a local web server on the client device, loading in a web browser on the client device a webpage independent of the web browser and including a script for generating a first request to the local web server, accepting the first request from the web browser by the local web server, and sending requested information to the web browser by the local web server. In some embodiments, the method also includes generating a second request to a remote server by the web browser and using the script, where the second request includes the requested information sent to the web browser.

Claims (61)

1. A method comprising:

executing, by a client device, an application for implementing a local web server on the client device;

loading, by a web browser executing on the client device, a webpage independent of the web browser, such that the webpage is browser agnostic and operating system independent, and including a script for generating a first request to the local web server for authentication attributes of the user and/or user device for user authentication, authorization, or fingerprinting;

obtaining, by the local web server, authentication attributes of the user and/or user device:

storing, by the local web server, the authentication attributes:

opening a server socket;

binding the server socket to a local Internet Protocol (IP) address and a port; and

listening for the first request from the web browser at the port;

accepting, at the local web server, the first request from the web browser; and

sending, by the local web server, the authentication attributes of the user and/or user device to the web browser; and

sending, by the web browser using the script, a second request with the authentication attributes of the user and/or user device to a remote server for user authentication, authorization, or fingerprinting.

2. The method of claim 1 , wherein:

the local web server is a light-weight web server with capability to open a server socket, binding the server socket to a local Internet Protocol (IP) address and a local port, listen on a local port for incoming connection requests, retrieve information associated with the client device, send/receive information to/from the web browser.

3. The method of claim 2 , wherein the first request and the second request are HTTP requests.

4. The method of claim 2 , wherein:

the remote server includes an identity provider server; and

the second request includes a request for single sign-on user authorization.

5. The method of claim 2 , wherein:

the remote server includes a service provider server; and

the second request includes a request for accessing the service provider server.

6. The method of claim 1 , wherein the authentication attributes include at least one of a basic input/output system universal unique identifier, an operating system product identification number, a system software configuration, a system hardware configuration, a system serial number, a hard disk serial number, a multiple access control address, an IP address, a hostname, a local user account, an application specific client identification, or an access token.

7. The method of claim 1 , wherein the script is in a scripting language.

8. The method of claim 1 , wherein the authentication attributes are stored in a memory device on the client device.

9. An endpoint device comprising:

a memory device storing identification information;

a web browser configured to execute on the endpoint device; and

a local web server implemented on the endpoint device using an application,

wherein the web browser is configured to load a webpage that is browser agnostic and operating system independent, and includes a script, the script configured to generate a first request to the local web server for authentication attributes of the user and/or user device for user authentication, authorization, or fingerprinting; and

wherein the local web server is configured to:

obtain authentication attributes of the user and/or user device;

store the authentication attributes:

open a server socket;

bind the server socket to a local Internet Protocol (IP) address and a port;

listen for the first request from the web browser at the port;

accept the first request from the web browser;

retrieve the identification information from the memory device;

send the identification information to the web browser; and

send, by the web browser using the script, a second request with the authentication attributes to a remote server for user authentication, authorization, or fingerprinting.

10. The endpoint device of claim 9 , wherein the local web server is a light-weight web server with capability to open a server socket, binding the server socket to a local Internet Protocol (IP) address and a local port, listen on a local port for incoming connection requests, retrieve information associated with the client endpoint device, send/receive information to/from the web browser.

11. The endpoint device of claim 10 , wherein the remote server includes:

an identity provider server for single sign-on user authorization; or

a service provider server providing a web-based service.

12. The endpoint device of claim 9 , wherein the identification information includes information for authenticating at least one of the endpoint device or a user of the endpoint device.

13. A system comprising:

a processing device; and

a non-transitory computer-readable medium communicatively coupled to the processing device, wherein the processing device is configured to execute program code stored in the non-transitory computer-readable medium and thereby perform operations comprising:

implementing a local web server;

loading, in a web browser, a webpage independent of the web browser, such that the webpage is browser agnostic and operating system independent, and including a script for generating a first request to the local web server for authentication attributes of the user and/or user device for user authentication, authorization, or fingerprinting;

obtaining, by the local web server, authentication attributes of the user and/or user device;

storing, by the local web server, the authentication attributes:

opening a server socket;

binding the server socket to a local Internet Protocol (IP) address and a port;

listening for the first request from the web browser at the port;

accepting, at the local web server, the first request from the web browser;

sending, by the local web server, the authentication attributes to the web browser; and

sending, by the web browser using the script, a second request with the authentication attributes to a remote server for user authentication, authorization, or fingerprinting.

14. The system of claim 13 , wherein the authentication attributes include information for authenticating at least one of the system or a user of the system.

15. The system of claim 13 , wherein the operations further comprise generating, by the web browser and using the script, a second request to a remote server, the second request including the authentication attributes sent to the web browser.

16. The system of claim 15 , wherein the remote server includes:

an identity provider server for single sign-on user authorization; or

a service provider server providing a web-based service.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 10, 2020
From: DIDI (HK) SCIENCE AND TECHNOLOGY LIMITED
To: BEIJING DIDI INFINITY TECHNOLOGY AND DEVELOPMENT CO., LTD.
Reel/Frame 053177/0362 →
LICENSE Recorded Jul 9, 2020
From: DIDI (HK) SCIENCE AND TECHNOLOGY LIMITED
To: DIDI USA INC.
Reel/Frame 053166/0415 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 1, 2020
From: DIDI RESEARCH AMERICA, LLC
To: DIDI (HK) SCIENCE AND TECHNOLOGY LIMITED
Reel/Frame 052553/0442 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 16, 2019
From: DENG, SHENGYONG; LIU, QINGDI; RENTACHINTALA, CHANDRASEKHAR
To: DIDI RESEARCH AMERICA, LLC
Reel/Frame 050392/0864 →
Continuity (1)
Related Publication 20210081521A1 · Mar 18, 2021