Systems and methods for deterministic and hands-free engagement for data transfer of mobile identification and other data - Patents.com

The system enables safe and efficient transfer of mDLs by using a four-digit code to establish a secure BLE connection, addressing the limitations of existing non-deterministic and manual scanning methods.

JP2025539015APending Publication Date: 2025-12-03HID GLOBAL CID SAS +1
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2025526263
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2022-11-04
Publication Date
2025-12-03

AI Technical Summary

Technical Problem

Existing methods for scanning mobile driver's licenses (mDLs) in law enforcement scenarios are non-deterministic and require manual engagement, limiting officer safety and efficiency.

Method used

A system and method for deterministic and hands-free engagement using a four-digit code to establish a secure Bluetooth Low Energy (BLE) connection between a police officer's system and a driver's mobile device, ensuring accurate transfer of the mDL without manual intervention.

Benefits of technology

Ensures safe and efficient transfer of mDLs by eliminating manual scanning, reducing ambiguity, and enhancing officer safety during roadside stops.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025539015000001_ABST
    Figure 2025539015000001_ABST
Patent Text Reader

Abstract

Disclosed herein are systems and methods for deterministic and hands-free engagement for data transfer of mobile identity and other data. In one embodiment, a computer system presents disambiguation data via a user interface and further broadcasts one or more advertising packets including the disambiguation data. The computer system establishes a wireless connection with a mobile device. Establishing the wireless connection includes receiving one or more messages from the mobile device including shared secret data based on the disambiguation data. The computer system receives a mobile driver's license (mDL) of a user of the mobile device from the mobile device via the established wireless connection.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] Among other technical fields, embodiments of the present disclosure relate to systems and methods for electronic identification, wireless communication (e.g., Bluetooth® Low Energy (BLE)), device disambiguation, device engagement, and more particularly, deterministic and hands-free engagement for data transfer of mobile identification and other data. [Background technology]

[0002] In modern society, there are numerous scenarios in which a person may need or want to present a valid form of identification. Such presentation may be to a government official (e.g., a law enforcement officer), a business employee (e.g., an airport customer service representative, a nightclub bouncer, etc.), or some other example. In addition, there are many instances in which a person is asked to present a valid form of identification to an automated system (e.g., an airport or train station kiosk). In many cases, such valid forms of identification are issued by the government (e.g., a passport, a state driver's license, etc.). In other cases, such valid forms of identification are issued by an employer (e.g., a bank, a defense contractor, an engineering firm, etc.). Undoubtedly, other institutions (e.g., a university) also issue valid forms of identification.

[0003] Additionally, it is becoming increasingly common for one or more forms of identifying material carried by a given person to be in the form of electronic or digital identification. These digital ID documents are often stored on the person's mobile device. In the case of a driver's license, the electronic version is often referred to as a mobile driver's license (mDL). A given mDL may be presentable through a specific app on a smartphone or as a "card" in a "wallet" on the smartphone, among other possibilities. In many cases, drivers who carry an mDL stored on (or accessible by) their mobile device do not also carry a physical card, although some carry both.

[0004] A more detailed understanding can be had from the following description, given by way of example in conjunction with the accompanying drawings, in which like reference numerals are used to refer to like elements throughout and in which: [Brief explanation of the drawings]

[0005] [Figure 1] FIG. 1 illustrates a first exemplary road stop scenario, according to one or more embodiments. [Figure 2] FIG. 10 illustrates a second exemplary road stop scenario, according to one or more embodiments. [Figure 3] 1 is an exemplary information flow diagram according to one or more embodiments. [Figure 4] 1 is a screenshot of a first exemplary police officer system, according to one or more embodiments. [Figure 5] 1 is a screenshot of a first exemplary driver device, according to one or more embodiments. [Figure 6] 10 is a screenshot of a second exemplary driver device, according to one or more embodiments. [Figure 7] 10 is a screenshot of a third exemplary driver device, according to one or more embodiments. [Figure 8] 10 is a screenshot of a second exemplary police officer system, according to one or more embodiments. [Figure 9] 10 is a screenshot of a fourth exemplary driver device, according to one or more embodiments. [Figure 10] 10 is a screenshot of a third exemplary police officer system, according to one or more embodiments. [Figure 11] 1 illustrates an exemplary method, according to one or more embodiments. [Figure 12] FIG. 1 illustrates an example computer system that may be configured to execute one or more embodiments and / or embody one or more devices, systems, etc., in accordance with one or more embodiments. [Figure 13]13 illustrates an example software architecture that may be implemented on a computer system, such as the example computer system of FIG. 12, in accordance with one or more embodiments. DETAILED DESCRIPTION OF THE INVENTION

[0006] In the field of digital ID, there are several standards promulgated by an organization known as the International Organization for Standardization, or ISO for short. Additionally, some of these standards are developed in collaboration between ISO and another organization known as the International Electrotechnical Commission (IEC). Two such series of standards are the ISO / IEC 18013 series and the ISO / IEC 23220 series. The former includes a standard called "ISO / IEC 18013-5: Personal identification - ISO-compliant driver's licenses - Part 5: Mobile driver's license (MDL) applications." The latter includes a standard (currently under development) called "ISO / IEC 23220-4: Cards and security devices for personal identification - Building blocks for identity management on mobile devices - Part 4: Protocols and services for the operational phase."

[0007] Generally, according to these standards, a law enforcement officer who stops a driver on the side of the road can carry a scanning device to the driver's side of the vehicle. When the driver presents the driver's mDL on their mobile device, the officer can scan a Quick Response (QR) code displayed on the mobile device in association with the mDL. In some other examples, the officer's scanning device can connect with the driver's mobile device through what is known as near-field communication (NFC). Other current implementations use a BLE scanning device to attempt to connect to the driver's mobile device based on distance determined by (omnidirectional) BLE communication.

[0008] These implementations have drawbacks. For example, both QR code and NFC implementations require the officer to approach the vehicle with a scanning device in one hand, which limits the officer's ability to draw their weapon (e.g., gun, stun gun, etc.) and / or otherwise react in the event of an undesired event that requires such action or reaction. Furthermore, the omnidirectional BLE implementations described above are not deterministic with respect to the officer's computing system wirelessly connecting with the driver's mobile device. Indeed, depending on the situation, the officer's system may connect to another officer's mobile device, another driver's mobile device, a passenger's mobile device in a stopped vehicle, a pedestrian's mobile device, etc.

[0009] In the QR code, NFC, and omnidirectional BLE implementations described above, as well as other current implementations, the initiation of a connection between a driver's mobile device on the one hand and an officer's handheld device, vehicle-based system, etc. on the other hand is known as "engagement." After successful engagement, a secure connection is negotiated between the driver's mobile device and the officer system. (This disclosure uses the term "officer system" to encompass handheld implementations, vehicle-based implementations, etc.) Once the secure connection is established, the driver's mDL can be securely transmitted over the secure connection from the driver's mobile device to the officer system. In some cases, data such as a secure token is transmitted from the driver's mobile device to the officer system, which then uses the secure token (possibly along with additional data that may come from the driver's mobile device or elsewhere) to retrieve the driver's mDL from a networked server. Other implementations are possible. In some cases, the driver's mobile device also provides a Uniform Resource Locator (URL) or other unique identifier for an authorized identity-issuing organization (e.g., a state government), and the officer system uses that information to navigate to the correct system to retrieve the mDL using the secure token.

[0010] To address at least the above-mentioned problems of some conventional implementations, disclosed herein are embodiments of a system and method for deterministic and hands-free engagement for data transfer of mobile identification and other data. The deterministic nature of the disclosed embodiments helps ensure that the officer system establishes a connection with the correct mobile device, i.e., that of the driver of the stopped vehicle, to transmit the correct mDL to the officer system. Furthermore, the hands-free nature of the disclosed embodiments makes such situations safer for the officer and the driver, in that the officer's hands are free to take any necessary actions. Law enforcement agencies also save money by not having to purchase and manage dedicated scanning devices for their officers.

[0011] In some embodiments, an officer may approach the vehicle first and communicate certain information to the driver (or, for example, tell the driver to expect certain information). In most of the examples described in this disclosure, that information takes the form of a four-digit code. In an exemplary embodiment, a loudspeaker may communicate the four-digit code one or more times. In another example, a visual display on the officer's vehicle may display the four-digit code. The officer may simply read the code from their vehicle-based system and then proceed to communicate that code to the driver. In some embodiments, the officer may enter (e.g., key in) a four-digit code of their choice into the officer system, which may display the entered code.

[0012] However, the driver can obtain the four-digit code and then open an appropriate identity management app on their smartphone and indicate in some way that the driver wants to connect their mobile device app with the officer system. The driver can indicate this in several different ways. In one example, the driver can tap a "search for connection" button or the like. Such tapping can result in the app prompting the driver to enter a four-digit code, at which point the driver can enter the four-digit code that was somehow communicated to the driver by the officer and / or the officer system.

[0013] As a result of entering the code, the driver's mobile device and the police officer system can establish a wireless connection between them. In one or more embodiments, the driver's mobile device and the police officer system establish a BLE connection between them. This can happen in several different ways. In some embodiments, the police officer system broadcasts one or more advertising packets that include the four-digit code. In other embodiments, the driver's mobile device broadcasts one or more advertising packets that include the four-digit code. Additionally, whether the advertising packet comes from the police officer system or the driver's mobile device, the advertising packet can include one or more values ​​derived from the four-digit code instead of the code itself. Other implementations are possible.

[0014] As an example, assume that the police officer system is transmitting advertising packets, and the driver's mobile device (e.g., the app described above) can respond and engage in messaging (e.g., handshake) to set up a secure BLE connection with the police officer system. This may include transmitting a cryptographic key (e.g., an ephemeral session key) and / or one or more other values. Once the secure connection is established, the driver can then indicate in some way that they want to share their mDL with the police officer (i.e., with the police officer system). The driver can indicate this in several different ways. As an example, the driver can select (e.g., tap) an mDL from a group of IDs and, with that mDL selected, tap a "Share" button. The mDL can then be securely transferred from the driver's mobile device to the police officer system, where a complementary app may be running. The complementary app may be from the same developer or may otherwise be compatible according to an agreed-upon interface.

[0015] One embodiment takes the form of a method performed by a computer system executing instructions on one or more hardware processors. This exemplary embodiment is performed by a police officer system. In this method, the police officer system presents disambiguation data (e.g., a four-digit code) via the police officer system's user interface. The police officer system also broadcasts one or more advertising packets containing shared secret data, which may be the disambiguation data itself or data derived therefrom. The police officer system establishes a secure wireless connection with a mobile device (e.g., a driver's mobile device) and then receives an mDL from the mobile device over the secure wireless connection. The mDL is uniquely associated with the user of the mobile device to which the police officer system is connected.

[0016] As described herein, one or more embodiments of the present disclosure take the form of a method including a plurality of operations. One or more other embodiments take the form of a system that includes one or more hardware processors and also includes one or more non-transitory computer-readable storage media comprising instructions that, when executed by the one or more hardware processors, cause the one or more hardware processors to perform a plurality of operations (which, in some embodiments, correspond to operations performed in method embodiments disclosed herein, and in other embodiments do not). Still one or more other embodiments take the form of one or more non-transitory computer-readable storage media (CRMs) comprising instructions that, when executed by the one or more hardware processors, cause the one or more hardware processors to perform a plurality of operations (which, in some embodiments, also correspond to operations performed in method embodiments and / or by system embodiments disclosed herein, and in other embodiments do not).

[0017] Furthermore, several modifications and permutations of the embodiments are described herein, and it is expressly noted that any modification or permutation described in this disclosure may be implemented with respect to any type of embodiment. For example, modifications or permutations described in this disclosure primarily with respect to method embodiments may also or alternatively be implemented with respect to system embodiments and / or CRM embodiments. Furthermore, this flexibility and interoperability of the embodiments exists despite any slightly different language (e.g., process, method, methodology, steps, operations, functions, etc.) used to describe and / or characterize such embodiments and / or any elements thereof.

[0018] One context in which embodiments of the present disclosure may be utilized is the roadside stop of a vehicle by a law enforcement officer. FIG. 1 illustrates an exemplary roadside stop scenario 100. As seen in FIG. 1, a driver's vehicle 104 is stopped by a police officer 112 using a police vehicle 110. Both are shown stopped on a roadway 102. FIG. 1 illustrates a scenario in which the officer 112 must carry an officer ID scanning device 114 next to the driver's vehicle 104, which is being driven by a driver 106. The officer 112 can use the officer ID scanning device 114 to scan a QR code on the driver's 106's driver mobile device 108 or to communicate with the driver's 106's driver mobile device 108 via NFC. The driver's 106's mDL can be stored on the driver mobile device 108. As discussed above, this configuration is less than ideal for reasons including convenience and safety.

[0019] 2 illustrates an exemplary road stop scenario 200, according to one or more embodiments. In the exemplary road stop scenario 200, there is again a road 202 in which a driver 206 operating his / her vehicle 204 is stopped by a police officer 212 operating a police vehicle 210. In this scenario, the driver 206 has an associated driver mobile device 208. Incidentally, the police officer 212 may also have an officer mobile device 214, although that device is not mentioned again in the examples of the invention further described below in connection with FIGS. 3 through 10.

[0020] 2 that police vehicle 210 includes officer system 216, display 218, and loudspeaker 220. In some embodiments, neither display 218 nor loudspeaker 220 is present. In some embodiments, one is present but not both. In the exemplary embodiment primarily described herein, both display 218 and loudspeaker 220 are present. If present, either or both of display 218 and loudspeaker 220 may be located inside or outside police vehicle 210.

[0021] Figure 3 shows an example information flow diagram 300 according to one or more embodiments. This example information flow is provided by way of example, and different embodiments may use different messaging flows and functionality. As seen in Figure 3, the three entities performing the described functions and participating in the described messaging are the driver mobile device 208 and officer system 216 of Figure 2, and the mDL database server 302. In one embodiment, the officer system 216 and the mDL database server 302 can communicate securely with each other using an appropriate encryption protocol.

[0022] The first action performed in information flow diagram 300 is presentation of code 304 to be executed by police officer system 216. As described below with respect to corresponding action 1102 of method 1100 shown in Figure 11, in presentation of code 304, police officer system 216 may display the disambiguated data on its screen, may display the disambiguated data on display 218, and / or may audibly play the disambiguated data one or more times through loudspeaker 220.

[0023] In the example described herein, the disambiguation data is a four-digit code. Figure 4 shows an example officer system screenshot 400 that may be displayed on the officer system 216. As shown, the officer system 216 may present the officer 212 with an officer interface 402 that includes a submit code button 404 that the officer 212 can activate with a tap 406. The officer system 216 also begins transmitting an advertising packet 306 that can be received by the driver mobile device 208. The broadcast of the advertising packet 306 corresponds to operation 1104 of Figure 11 .

[0024] It is understood, but not explicitly shown in Figure 3, that the driver 206 will somehow know what the four-digit code is, such as by being told by the police officer 212, seeing the code on the display 218, hearing the code through the loudspeaker 220, etc. The next action is code entry 308, which involves the driver mobile device 208 accepting entry of the four-digit code from the driver 206 via the user interface of the driver mobile device 208.

[0025] As shown in Figure 5, the driver mobile device 208 may present an exemplary driver device screenshot 500. The driver device screenshot 500 shows the screen of the driver mobile device 208 at a point in time before the driver 206 enters the four-digit code. By way of example, the driver 206 may have just learned the four-digit code as described above. In Figure 5, the driver mobile device 208 presents a driver interface 502 that includes a set of identification cards 504. By way of example, the set of identification cards 504 depicted includes an mDL 506 (with a photograph 508 and driver information 510), a passport 512, a social security card 514, and an employee ID 516.

[0026] Also shown on the driver device screenshot 500 is a connection discovery button 518 that the driver 206 can activate with a tap 520. Tapping may present an example driver device screenshot 600, shown in Figure 6, on the driver mobile device 208. All of the same elements as Figure 5 are present in Figure 6, along with an overlay of a code entry window 602. The code entry window 602 represents a user interface element where a four-digit code can be accepted by the driver mobile device 208.

[0027] After entering the correct code into the code entry window 602, the driver 206 may be presented with an example driver device screenshot 700, shown in FIG. 7 . At that point, the driver 206 may activate the connection discovery button 518 with a tap 702. In one or more embodiments, the code entry 308 of the correct four-digit code into the code entry window 602 and activation of the connection discovery button 518 results in the establishment of a connection 310 between the officer system 216 and the driver mobile device 208. With the correct code entered into the code entry window 602 and the advertising packet 306 also containing the correct code, the driver mobile device 208 can operate its BLE interface and proceed with establishing a secure connection with the officer system 216.

[0028] Following connection establishment 310, mDL transfer 312 occurs, in which the driver's 206 mDL 506 is securely transmitted from the driver mobile device 208 to the officer system 216. In one or more embodiments, mDL transfer 312 occurs in response to two events. First, in one or more embodiments, there is an input entered by the officer 212 on an exemplary officer system screenshot 800 shown in FIG. 8 . In the officer system screenshot 800, a status message 802 is displayed on the officer interface 402, indicating that connection establishment 310 was successful. In addition to displaying the status message 802, the officer system 216 may also display an mDL request button 804 that the officer 212 can activate with a tap 806.

[0029] Second, in one or more embodiments, there is an input entered by the driver 206 on the exemplary driver device screenshot 900 shown in Figure 9. As seen in the example of Figure 9, a first tap 906 results in the mDL 506 being selected, as indicated by the transfer icon 904 in Figure 9. It is also noted that the presence of a secure connection is indicated in Figure 9 by the lock icon in the lower left corner of the driver interface 502. After selecting the mDL 506, a second tap 908, this time on the share button 902, signals the driver 206's consent to transfer the mDL 506 to the officer system 216.

[0030] Following the transfer 312 of the mDL, the officer system 216 may present an exemplary officer system screenshot 1000, shown in Figure 10. The officer system screenshot 1000 displays the mDL 506. In one or more embodiments, the officer system screenshot 1000 also displays an additional information button 1002 that can be activated with a tap 1004. Such tapping may result in an additional information request 314 and additional information response 316, shown in Figure 3, between the officer system 216 and the mDL database server 302. The additional information may include the driver's 206's complete driving record, any outstanding warrants, any warnings or cautions from past encounters between the driver 206 and the officer 212 or another officer, etc.

[0031] Thus, it can be seen that operation of an embodiment of the present disclosure allows engagement to transfer an mDL to occur in a hands-free and deterministic manner. The engagement is hands-free in the sense that the officer 212 does not need to walk up to the driver's vehicle 104 with the officer ID scanning device 114 in one hand. It is clear that the officer 212 can use their hand, a stylus, or whatever to tap the various screens presented on the officer system 216. The four-digit code communicated to and then entered by the driver 206 provides no ambiguity as to which two devices should establish a secure connection with each other.

[0032] 11 illustrates an exemplary method 1100 according to one or more embodiments. By way of example, method 1100 is described herein as being performed by a police officer system (e.g., police officer system 216). This is by way of example and not limitation, as method 1100 may be performed by any one or combination of devices, systems, etc., suitably equipped, programmed, and configured to perform the described operations.

[0033] At operation 1102, the officer system presents the disambiguation data via a user interface. In one or more embodiments, the disambiguation data includes (or is) a numeric code. Another option is that the disambiguation data may include an alphanumeric code. With regard to presenting the disambiguation data via a user interface, this may be or may include displaying the disambiguation data on a screen of the officer system. In such an embodiment, the officer may simply read the code from the screen and then walk up to the driver and tell them the code to enter. Another option is that the officer system may display the disambiguation data on a screen that is visible from outside the vehicle. The screen may be inside or outside the vehicle. The officer system may output the disambiguation data audibly so that the disambiguation data can be heard outside the vehicle. An associated loudspeaker may be inside or outside the vehicle. Any combination of these approaches, as well as others, may be used.

[0034] In operation 1104, the police officer system scans for advertising packages containing disambiguation data or broadcasts one or more advertising packets containing disambiguation data. In embodiments where the disambiguation data is a four-digit code, each advertising packet may have that four-digit code in a predetermined field (e.g., an Ident characteristic). In non-BLE implementations, a data field such as a Wi-Fi passphrase may be used. Undoubtedly, many other examples could be given here.

[0035] In operation 1106, the police officer system establishes (or the mobile device establishes) a wireless connection (e.g., a secure wireless connection) with the mobile device. Establishing the wireless connection with the mobile device may include receiving one or more messages from the mobile device that include shared secret data based on the disambiguation data. In some cases, the shared secret data includes the disambiguation data. In some cases, the shared secret data includes data derived from the disambiguation data. In some embodiments, the disambiguation data is used by the mobile station to select a police officer system to connect to, but the mobile station does not send any messages including the disambiguation data back to the police officer system.

[0036] In operation 1108, the police officer system receives the mobile device user's mDL from the mobile device via the established wireless connection. In some embodiments, the police officer system resides in a first vehicle (e.g., a law enforcement vehicle), and the transferred mDL is the mDL of the driver of a second vehicle (of which the mobile station is the driver's mobile station). It is further noted that the mobile station need not be simply a smartphone, but may alternatively or additionally be or include a smartwatch, wearable, etc. In one or more embodiments, the mDL is maintained in a secure element in the mobile station. The secure element may be or include an embedded universal integrated circuit card (eUICC), an embedded secure element (eSE), a trusted execution environment (TEE), etc.

[0037] Additionally, while most of the examples described herein involve a police officer system sending out advertising packets, it is noted that a mobile station may instead do so. As a general matter, the processes and messaging described herein may be performed by the police officer system or the mobile station, serving either role. In BLE terminology, a police officer system may be in BLE central mode and a mobile device in BLE peripheral mode, or vice versa. When operating in BLE central mode, a system such as a police officer system may be referred to as an "mDL reader" by those skilled in the art.

[0038] 12 illustrates an exemplary computer system 1200 that may be utilized to embody and / or perform one or more embodiments, in which instructions 1212 (e.g., software, programs, applications, applets, apps, and / or other executable code) may be executed to cause the computer system 1200 to perform any one or more of the methodologies discussed herein. For example, executing the instructions 1212 may cause the computer system 1200 to perform any one or more of the methods described herein. The instructions 1212 transform a generic, unprogrammed computer system 1200 into a specific computer system 1200 that is programmed to perform the described and illustrated functions in the illustrated manner. The computer system 1200 may operate as a stand-alone device or may be coupled (e.g., networked) to other machines. In a networked deployment, the computer system 1200 may operate in the capacity of a server machine or a client machine in a server-client network environment, or as a peer machine in a peer-to-peer (or distributed) network environment.

[0039] Computer system 1200 can be or include, but is not limited to, a server computer, a client computer, a personal computer (PC), a tablet computer, a laptop computer, a netbook, a set-top box (STB), a personal digital assistant (PDA), an entertainment media system, a mobile phone, a smartphone, a mobile device, a wearable device (e.g., a smart watch), a smart home device (e.g., a smart appliance), other smart devices, a web appliance, a network router, a network switch, a network bridge, and / or any other machine capable of sequentially or otherwise executing instructions 1212 that specify actions to be taken by computer system 1200. Furthermore, while only a single computer system 1200 is illustrated, the term "machine" should be taken to include a collection of machines that individually or jointly execute instructions 1212 to perform any one or more of the methodologies discussed herein.

[0040] Computer system 1200 may include processor 1202, memory 1204, and I / O components 1206, which may be configured to communicate with each other via bus 1244. In an exemplary embodiment, processor 1202 (e.g., a central processing device (CPU), a reduced instruction set computing (RISC) processor, a complex instruction set computing (CISC) processor, a graphics processing device (GPU), a digital signal processor (DSP), an application specific integrated circuit (ASIC), a radio frequency integrated circuit (RFIC), another processor, and / or any suitable combination thereof) may include processor 1208 and processor 1210, for example, that execute instructions 1212. The term "processor" is intended to include multi-core processors that may include two or more independent processors (sometimes referred to as "cores") that may execute instructions simultaneously. While FIG. 12 shows multiple processors 1202, computer system 1200 may include a single processor with a single core, a single processor with multiple cores (e.g., a multi-core processor), multiple processors with a single core, multiple processors with multiple cores, or any combination thereof.

[0041] Memory 1204 includes main memory 1214, static memory 1216, and storage unit 1218, each of which is accessible to processor 1202 via bus 1244. Memory 1204, static memory 1216, and / or storage unit 1218 may store executable instructions 1212 to perform any one or more of the methodologies or functions described herein. Instructions 1212 may also, or instead, reside, completely or partially, within main memory 1214, within static memory 1216, within machine-readable medium 1220 in storage unit 1218, within one or more of processors 1202 (e.g., within a given one cache memory of processor 1202), and / or any suitable combination thereof during execution thereof by computer system 1200. Machine-readable medium 1220 is one or more non-transitory computer-readable storage media.

[0042] I / O components 1206 may include a wide variety of components for receiving input, generating and / or providing output, transmitting information, exchanging information, capturing measurements, etc. The particular I / O components 1206 included in a particular instance of computer system 1200 will depend on the type of machine. For example, a portable machine such as a cell phone may include a touch input device or other such input mechanism, while a headless server machine may not include such a touch input device. It will be understood that I / O components 1206 may include many other components not shown in FIG. 12 .

[0043] In various exemplary embodiments, I / O components 1206 may include output components 1232 and input components 1230. Output components 1232 may include visual components (e.g., displays such as a plasma display panel (PDP), a light-emitting diode (LED) display, a liquid crystal display (LCD), a projector, and / or a cathode ray tube (CRT)), acoustic components (e.g., speakers), haptic components (e.g., vibration motors, resistive mechanisms), other signal generators, etc. Input components 1230 may include alphanumeric input components (e.g., a keyboard, a touchscreen configured to accept alphanumeric input, an optical keyboard, and / or other alphanumeric input components), point-based input components (e.g., a mouse, a touchpad, a trackball, a joystick, a motion sensor, and / or one or more other pointing instruments), tactile input components (e.g., physical buttons, a touchscreen that responds to the position and / or force of a touch or touch gesture, and / or one or more other tactile input components), audio input components (e.g., a microphone), etc.

[0044] In further illustrative embodiments, I / O component 1206 may include, among other components, a biometric component 1234, a motion component 1236, an environmental component 1238, and / or a position component 1240. Biometric component 1234 may include components for detecting expressions (e.g., hand expressions, facial expressions, vocal expressions, body gestures, eye tracking, etc.), components for measuring biometric signals (e.g., blood pressure, heart rate, body temperature, sweat, brain waves, etc.), components for identifying people (e.g., by voice identification, retina identification, face identification, fingerprint identification, and / or brain wave-based identification), etc. Motion component 1236 may include acceleration sensing components (e.g., accelerometers), gravity sensing components, rotation sensing components (e.g., gyroscopes), etc.

[0045] Environmental components 1238 may include, for example, an illuminance sensing component (e.g., a photometer), a temperature sensing component (e.g., one or more thermometers), a humidity sensing component, a pressure sensing component (e.g., a barometer), an acoustic sensing component (e.g., one or more microphones), a proximity sensing component (e.g., an infrared sensor to detect nearby objects), a gas sensing component (e.g., a gas sensing sensor for detecting concentrations of hazardous gases for safety purposes and / or for measuring pollutants in the air), and / or other components that may provide indications, measurements, signals, etc. corresponding to the surrounding physical environment. Location components 1240 may include a location sensing component (e.g., a Global Positioning System (GPS) receiver), an altitude sensing component (e.g., an altimeter and / or barometer to detect air pressure from which altitude can be derived), an orientation sensing component (e.g., a magnetometer), etc.

[0046] Communications may be implemented using a variety of technologies. I / O component 1206 may further include a communications component 1242 operable to communicatively couple computer system 1200 to network 1222 and / or device 1224 via coupling 1226 and / or coupling 1228, respectively. For example, communications component 1242 may include a network interface component or another suitable device for interfacing with network 1222. In further examples, communications component 1242 may include a wired communications component, a wireless communications component, a cellular communications component, a near-field communications (NFC) component, a Bluetooth (e.g., Bluetooth Low Energy) component, a Wi-Fi component, and / or other communications component for providing communications via one or more other modalities. Device 1224 may include one or more other machines and / or any of a variety of peripheral devices (e.g., peripheral devices coupled via a universal serial bus (USB) connection).

[0047] Further, communication component 1242 can include a component that detects or is operable to detect an identifier. For example, communication component 1242 can include a radio frequency identification (RFID) tag reader component, an NFC smart tag detection component, an optical reader component (e.g., an optical sensor for detecting one-dimensional barcodes such as Universal Product Code (UPC) barcodes, multi-dimensional barcodes such as Quick Response (QR) Code, Aztec Code, Data Matrix, Data Glyph, Maxi Code, PDF417, Ultra Code, UCC RSS-2D barcodes, and / or other optical codes), and / or an acoustic detection component (e.g., a microphone for identifying tagged audio signals). Additionally, a wide variety of information can be derived via communication component 1242, such as location via Internet Protocol (IP) geolocation, location via Wi-Fi signal triangulation, location via detection of NFC beacon signals that can indicate a particular location, etc.

[0048] One or more of the various memories (e.g., memory 1204, main memory 1214, static memory 1216, and / or one or more (e.g., cache) memories of processor(s) 1202) and / or storage units 1218 may store one or more sets of instructions (e.g., software) and / or data structures that embody or are used by any one or more of the methodologies or functions described herein. These instructions (e.g., instructions 1212), when executed by one or more of the processor(s) 1202, cause various operations to implement various embodiments of the present disclosure.

[0049] The instructions 1212 may be transmitted or received over the network 1222 using a transmission medium via a network interface device (e.g., a network interface component included in the communications component 1242) and using any one of several well-known transfer protocols (e.g., Session Initiation Protocol (SIP), Hypertext Transfer Protocol (HTTP), etc.). Similarly, the instructions 1212 may be transmitted or received using a transmission medium via a coupling 1228 (e.g., a peer-to-peer coupling) to the device 1224.

[0050] FIG. 13 illustrates an example software architecture 1302 that may execute on the example computer system 1200 of FIG. 12 , in accordance with one or more embodiments. The illustrated example software architecture 1302 may be installed on any one or more of the devices described herein. For example, the software architecture 1302 may be installed on any device or system configured similarly to the computer system 1200 of FIG. 12 . The software architecture 1302 is supported by hardware, such as a machine 1304 including a processor 1306, memory 1308, and I / O components 1310. In this example, the software architecture 1302 can be conceptualized as a stack of layers, with each layer providing specific functionality. The software architecture 1302 includes layers such as an operating system 1312, libraries 1314, frameworks 1316, and applications 1318. In operation, using one or more application programming interfaces (APIs), the applications 1318 invoke API calls 1320 through the software stack and receive messages 1322 in response to the API calls 1320.

[0051] Operating system 1312 manages hardware resources and provides common services. Operating system 1312 includes, for example, kernel 1324, services 1326, and drivers 1328. Kernel 1324 serves as an abstraction layer between the hardware and other software layers. For example, kernel 1324 may provide memory management, processor management (e.g., scheduling), component management, networking, and / or security configuration, among other functions in some cases. Services 1326 may provide other common services to other software layers. Drivers 1328 are responsible for controlling or interfacing with underlying hardware. For example, drivers 1328 may include a display driver, a camera driver, a Bluetooth or Bluetooth Low Energy driver, a flash memory driver, a serial communications driver (e.g., a USB driver), a Wi-Fi driver, an audio driver, a power management driver, etc.

[0052] Libraries 1314 provide low-level common infrastructure used by applications 1318. Libraries 1314 may include system libraries 1330 (e.g., the C standard library) that provide functions such as memory allocation functions, string manipulation functions, mathematical functions, etc. Additionally, libraries 1314 may include media libraries (e.g., libraries for supporting the presentation and / or operation of various media formats, such as Moving Picture Experts Group-4 (MPEG4), Advanced Video Coding (H.264 or AVC), Moving Picture Experts Group Layer-3 (MP3), Advanced Audio Coding (AAC), Adaptive Multi-Rate (AMR) audio codec, Joint Photographic Experts Group (JPEG or JPG), Portable Network Graphics (PNG), etc.), graphics libraries (e.g., the OpenGL framework used for two-dimensional (2D) and three-dimensional (3D) rendering of graphical content on a display), database libraries (e.g., SQLite, which provides various relational database functions), web libraries (e.g., WebKit, which provides web browsing functions), etc. The library 1314 may also include a wide variety of other libraries 1334 to provide the application 1318 with many other APIs.

[0053] Framework 1316 may provide a high-level common infrastructure used by applications 1318. For example, framework 1316 may provide various graphical user interface (GUI) functionality, high-level resource management, high-level location services, etc. Framework 1316 may provide a wide range of other APIs that may be used by applications 1318, some of which may be specific to a particular operating system or platform.

[0054] By way of purely representative example, applications 1318 may include a home application 1336, a contacts application 1338, a browser application 1340, a book reader application 1342, a location application 1344, a media application 1346, a messaging application 1348, a game application 1350, and / or a wide variety of other applications collectively represented in FIG. 13 as third party applications 1352. Applications 1318 are programs that perform functions defined within the programs. A variety of programming languages ​​may be employed to create one or more of applications 1318 structured in various ways, such as object-oriented programming languages ​​(e.g., Objective-C, Java, C++, etc.), procedural programming languages ​​(e.g., C, assembly language, etc.), etc. In a specific example, third-party application 1352 (e.g., an application developed using the ANDROID™ or IOS™ Software Development Kit (SDK) by an entity other than the vendor of a particular platform) may be mobile software running on a mobile operating system such as IOS™, ANDROID™, WINDOWS™ Phone, etc. In this example, third-party application 1352 can invoke API calls 1320 provided by operating system 1312 to facilitate the functionality described herein.

[0055] In view of the above disclosure, a list of various example embodiments is set forth below. It should be noted that one or more features of the examples, taken separately or in combination, should be considered to be within the scope of the present disclosure.

[0056] Example 1 is a method performed by a computer system executing instructions on one or more hardware processors, the method comprising: presenting disambiguation data via a user interface; broadcasting one or more advertising packets including the disambiguation data; establishing a wireless connection with a mobile device, the wireless connection comprising receiving one or more messages from the mobile device including shared secret data based on the disambiguation data; and receiving a mobile driver's license (mDL) of a user of the mobile device from the mobile device via the established wireless connection.

[0057] Example 2 is the method of example 1, wherein the disambiguating data includes a numeric code. Example 3 is the method of example 1 or example 2, wherein the disambiguating data is a numeric code. Example 4 is the method of any of Examples 1-3, wherein the disambiguating data includes an alphanumeric code.

[0058] Example 5 is the method of any of Examples 1-4, wherein presenting the disambiguating data includes displaying the disambiguating data on a screen of a computer system. Example 6 is the method of any of Examples 1-5, further comprising receiving the disambiguation data via a user interface.

[0059] Example 7 is the method of any of Examples 1-6, wherein the computer system is resident in a vehicle, and wherein presenting the disambiguating data includes displaying the disambiguating data on a screen visible outside the vehicle.

[0060] Example 8 is the method of any of Examples 1-7, wherein the computer system is located in a vehicle, and wherein presenting the disambiguation data includes outputting the disambiguation data audibly so that the disambiguation data is audible outside the vehicle (the speaker can be inside or outside the vehicle).

[0061] Example 9 is the method of any of Examples 1-8, wherein the shared secret data includes disambiguation data. Example 10 is the method of any of Examples 1-9, wherein the shared secret data includes data derived from the disambiguation data.

[0062] Example 11 is the method of any of Examples 1-10, wherein the computer system resides in a first vehicle and the mDL is the mDL of a driver of a second vehicle. Example 12 is a computing system comprising one or more hardware processors and one or more non-transitory computer-readable storage media comprising instructions that, when executed by the one or more hardware processors, cause the computing system to perform operations comprising: a disambiguation data presenting step of presenting disambiguation data via a user interface; broadcasting one or more advertising packets including the disambiguation data; establishing a wireless connection with a mobile device, the wireless connection comprising receiving from the mobile device one or more messages including shared secret data based on the disambiguation data; and receiving from the mobile device via the established wireless connection a mobile driver's license (mDL) of a user of the mobile device.

[0063] Example 13 is the computing system of example 12, wherein the disambiguating data includes a numeric code. Example 14 is the computing system of example 12 or example 13, wherein the disambiguating data is a numeric code.

[0064] Example 15 is the computing system of any of Examples 12-14, wherein the disambiguating data includes an alphanumeric code. Example 16 is the computing system of any of Examples 12-15, wherein presenting the disambiguating data includes displaying the disambiguating data on a screen of the computer system.

[0065] Example 17 is the computing system of any of Examples 12-16, wherein the operations further comprise receiving the disambiguation data via a user interface. Example 18 is the computing system of any of Examples 12-17, wherein the computer system resides in a vehicle, and wherein presenting the disambiguating data includes displaying the disambiguating data on a screen visible outside the vehicle.

[0066] Example 19 is the computing system of any of Examples 12-18, wherein the computer system is located in a vehicle, and wherein the step of presenting the disambiguation data includes a step of outputting the disambiguation data audibly so that the disambiguation data is audible outside the vehicle (the speaker can be inside or outside the vehicle).

[0067] Example 20 is the computing system of any of Examples 12-19, wherein the shared secret data includes disambiguation data. Example 21 is the computing system of any of Examples 12-20, wherein the shared secret data includes data derived from the disambiguation data.

[0068] Example 22 is the computing system of any of Examples 12-21, wherein the computer system resides in a first vehicle and the mDL is the mDL of a driver of a second vehicle. Example 23 is one or more non-transitory computer-readable storage media comprising instructions that, when executed by one or more hardware processors of a computing system, cause the computing system to perform operations comprising: presenting disambiguation data via a user interface; broadcasting one or more advertising packets including the disambiguation data; establishing a wireless connection with a mobile device, the wireless connection comprising receiving from the mobile device one or more messages including shared secret data based on the disambiguation data; and receiving from the mobile device via the established wireless connection a mobile driver's license (mDL) of a user of the mobile device.

[0069] Further examples include computer-readable storage medium provisions corresponding to Examples 13-22. Further, in this disclosure, in one or more embodiments, examples, etc., one or more devices, systems, and / or one or more components of the same may be referred to as modules that perform (e.g., execute, perform, and the like) various functions. For any such usage in this disclosure, a module includes both hardware and instructions. Hardware may include one or more processors, one or more microprocessors, one or more microcontrollers, one or more microchips, one or more application-specific integrated circuits (ASICs), one or more field programmable gate arrays (FPGAs), one or more graphical processing units (GPUs), one or more tensor processing units (TPUs), and / or any other type of device or components deemed appropriate by one of ordinary skill in the art for a given implementation.

[0070] In one or more embodiments, instructions for a given module may include hardware (e.g., hardwired) instructions, firmware instructions, software instructions, etc., executable by hardware to perform one or more functions of the module described herein and stored on any one or more non-transitory computer-readable storage media deemed appropriate by one of ordinary skill in the art for a given implementation. Each such non-transitory computer-readable storage medium may be or include memory (e.g., random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM, commonly known as E2PROM), flash memory, and / or one or more other types of memory) and / or one or more other types of non-transitory computer-readable storage media. A module may be implemented as a single component or distributed across multiple components. In some cases, a module may also be referred to as a unit.

[0071] Furthermore, consistent with the presentation of the entities and configurations described herein by way of example and not limitation, including those shown and described in connection with the drawings, any and all statements or other indications as to what a particular drawing "depicts," or what a particular element or entity in a particular drawing or referred to in this disclosure "is" or "has," and any and all similar statements that are not expressly self-modified by a phrase such as "in one or more embodiments," and that can therefore be read in isolation and out of context as absolute and thus a limitation on all embodiments, can properly be read only as structurally modified by such phrase. This implicit modifying phrase is not repeated or repeated throughout this disclosure for the sake of brevity and clarity of explanation.

Claims

1. 1. A method performed by a computer system executing instructions on one or more hardware processors, comprising: a disambiguation data presenting step of presenting the disambiguation data through a user interface; broadcasting one or more advertising packets including the disambiguation data; establishing a wireless connection with a mobile device, the connection comprising receiving one or more messages from the mobile device including shared secret data based on the disambiguation data; receiving a mobile driver's license (mDL) of a user of the mobile device from the mobile device via the established wireless connection.

2. The method of claim 1 , wherein the disambiguating data comprises a numeric code.

3. The method of claim 1 , wherein the disambiguating data is a numeric code.

4. The method of claim 1 , wherein the disambiguating data comprises an alphanumeric code.

5. The method of claim 1 , wherein the step of presenting the disambiguated data comprises the step of displaying the disambiguated data on a screen of the computer system.

6. The method of claim 1 , further comprising receiving the disambiguation data by the user interface.

7. the computer system is present in a vehicle; The method of claim 1 , wherein the step of presenting the disambiguating data comprises the step of displaying the disambiguating data on a screen visible outside the vehicle.

8. the computer system is present in a vehicle; The method of claim 1 , wherein the step of presenting the disambiguated data comprises the step of audibly outputting the disambiguated data so that the disambiguated data is audible outside the vehicle.

9. The method of claim 1 , wherein the shared secret data comprises the disambiguation data.

10. The method of claim 1 , wherein the shared secret data comprises data derived from the disambiguation data.

11. the computer system resides in a first vehicle; The method of claim 1 , wherein the mDL is the mDL of a driver of a second vehicle.

12. 1. A computing system comprising: one or more hardware processors; and one or more non-transitory computer-readable storage media comprising instructions that, when executed by the one or more hardware processors, cause the computing system to: a disambiguation data presenting step of presenting the disambiguation data through a user interface; broadcasting one or more advertising packets including the disambiguation data; establishing a wireless connection with a mobile device, the connection comprising receiving one or more messages from the mobile device including shared secret data based on the disambiguation data; receiving from the mobile device a mobile driver's license (mDL) of a user of the mobile device via the established wireless connection.

13. The computing system of claim 12 , wherein the disambiguating data comprises a numeric code.

14. The computing system of claim 12 , wherein the disambiguating data is a numeric code.

15. The computing system of claim 12 , wherein the disambiguating data comprises an alphanumeric code.

16. 13. The computing system of claim 12, wherein the step of presenting the disambiguated data comprises the step of displaying the disambiguated data on a screen of the computer system.

17. The method of claim 1 , wherein the action further comprises receiving the disambiguation data by the user interface.

18. the computer system is present in a vehicle; The computing system of claim 12 , wherein the step of presenting the disambiguated data comprises the step of displaying the disambiguated data on a screen visible outside the vehicle.

19. the computer system is present in a vehicle; the step of presenting the disambiguation data includes the step of outputting the disambiguation data audibly so that the disambiguation data is audible outside the vehicle. The computing system of claim 12.

20. The computing system of claim 12 , wherein the shared secret data comprises the disambiguation data.

21. The computing system of claim 12 , wherein the shared secret data comprises data derived from the disambiguation data.

22. the computer system resides in a first vehicle; The computing system of claim 12 , wherein the mDL is an mDL of a driver of a second vehicle.

23. One or more non-transitory computer-readable storage media comprising instructions that, when executed by one or more hardware processors of a computing system, cause the computing system to: presenting the disambiguation data via a user interface; broadcasting one or more advertising packets including the disambiguation data; establishing a wireless connection with a mobile device, the connection comprising receiving one or more messages from the mobile device including shared secret data based on the disambiguation data; and receiving from the mobile device a mobile driver's license (mDL) of a user of the mobile device via the established wireless connection.

Citation Information

Patent Citations

  • Data download system, data download method, and information terminal

    JP2014134879A

  • Information processing apparatus, information processing system, and program

    JP2017108359A

  • Communication control device, communication control method, and program

    JP2021093564A

  • Communication system, vending machine, and program

    JP2022157226A

  • Identity credential verification techniques

    WO2019209904A1