# US 12,225,091 B2 · Intelligent download and session copy

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,225,091 B2
- Document ID: US12225091B2
- Status: Granted
- Kind: B2
- Application number: 18/243,970
- Filed: 2023-09-08
- Published: 2024-04-04
- Granted: 2025-02-11
- Earliest claimed: 2022-09-29
- Assignees: Microsoft Technology Licensing, LLC
- Applicants: Microsoft Technology Licensing, LLC
- Inventors: Ariel Gordon; Sakshi Tiwari; Aaron Kyle Damashek
- Web page: https://patentgrep.com/patent/US12225091B2

## CPC

- H04L 67/34: {involving the movement of software or configuration parameters (network booting or remote initial program loading [RIPL] G06F9/4416)}
- H04W 12/06: Authentication
- G06F 21/41: where a single sign-on provides access to a plurality of computers
- G06K 7/1417: {2D bar codes}
- H04L 63/08: {for authentication of entities (cryptographic mechanisms or cryptographic arrangements for entity authentication H04L9/32)}
- H04L 67/141: Setup of application sessions (admission control or resource allocation in data switching networks H04L47/70)
- H04L 67/148: Migration or transfer of sessions
- H04W 12/77: Graphical identity
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06K: GRAPHICAL DATA READING (image or video recognition or understanding G06V); PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS

## Abstract

Disclosed in some examples, are methods, systems, devices, and machine-readable mediums that use one or more images (e.g., Quick-Response (QR) codes) displayed by a first application to both provide the location to obtain a second application and to copy a session from the first application to the second application once downloaded. In some examples, a session comprises an authentication session such that, when the session is copied, the user is logged into a network-based service within the second application with a same account as the user is already logged into with first application.

## Claims

### Claim 1

A method of downloading a first application on a first computing device and authenticating the first application to a network-based service using an already authenticated session of a second application on the network-based service executing on a second computing device, the method comprising:
using a hardware processor of the first computing device:
capturing a first image displayed by the second application on a display communicatively coupled to the second computing device;
identifying a link to download the first application from the first image;
downloading the first application from the link;
responsive to downloading the first application, executing the first application, the first application:
capturing a second image displayed by the second application;
identifying a secret value from the second image; and
establishing an authenticated session of the first application with the network-based service using the secret value.

### Claim 2 (depends on 1)

The method of claim 1, further comprising, using a hardware processor of the second computing device:
executing the second application, the second application:
receiving a selection of a user interface option to download the first application;
responsive to receiving the selection:
displaying the first image; and
displaying the second image.

### Claim 3 (depends on 2)

The method of claim 2, wherein the first application identifies a session identifier from the first image and sends the session identifier to the network-based service, and wherein the second application displays the second image responsive to receiving a message from the network-based service.

### Claim 4 (depends on 3)

The method of claim 3, wherein the second application replaces the first image with the second image.

### Claim 5 (depends on 3)

The method of claim 3, further comprising, using a hardware processor of the network-based service:
receiving a request from the second computing device for the first image;
providing the first image to the second computing device;
receiving a communication from the first computing device including the session identifier; and
responsive to the communication from the first computing device including the session identifier, sending the second image to the second computing device.

### Claim 6 (depends on 5)

The method of claim 5, further comprising, using the hardware processor of the network-based service:
receiving the secret value from the first computing device; and
authenticating the first computing device based upon the secret value.

### Claim 7 (depends on 1)

The method of claim 1, wherein the second image is a barcode and wherein identifying the secret value from the second image comprises decoding the secret value from the barcode.

### Claim 8

A system for downloading a first application on a first computing device and authenticating the first application to a network-based service using an already authenticated session of a second application on the network-based service executing on a second computing device, the system comprising:
a first computing device comprising:
a hardware processor;
a memory, the memory storing instructions, which when executed by the hardware processor, causes the first computing device to perform operations comprising:
capturing a first image displayed by the second application on a display communicatively coupled to the second computing device;
identifying a link to download the first application from the first image;
downloading the first application from the link;
responsive to downloading the first application, executing the first application, the first application:
capturing a second image displayed by the second application;
identifying a secret value from the second image; and
establishing an authenticated session of the first application with the network-based service using the secret value.

### Claim 9 (depends on 8)

The system of claim 8, further comprising the second computing device, comprising:
a hardware processor;
a memory, the memory storing instructions, which when executed by the hardware processor, causes the second computing device to perform operations comprising:
executing the second application, the second application:
receiving a selection of a user interface option to download the first application;
responsive to receiving the selection:
displaying the first image; and
displaying the second image.

### Claim 10 (depends on 9)

The system of claim 9, wherein the first application identifies a session identifier from the first image and sends the session identifier to the network-based service, and wherein the second application displays the second image responsive to receiving a message from the network-based service.

### Claim 11 (depends on 10)

The system of claim 10, wherein the second application replaces the first image with the second image.

### Claim 12 (depends on 10)

The system of claim 10, further comprising a third computing device of the network-based service, the third computing device of the network-based service comprising:
a hardware processor;
a memory, the memory storing instructions, which when executed by the hardware processor, causes the third computing device of the network-based service to perform operations comprising:
receiving a request from the second computing device for the first image;
providing the first image to the second computing device;
receiving a communication from the first computing device including the session identifier; and
responsive to the communication from the first computing device including the session identifier, sending the second image to the second computing device.

### Claim 13 (depends on 12)

The system of claim 12, wherein the instructions of the third computing device, includes further instructions, which when executed, cause the network-based service to perform further operations comprising:
receiving the secret value from the first computing device; and
authenticating the first computing device based upon the secret value.

### Claim 14 (depends on 8)

The system of claim 8, wherein the second image is a barcode and wherein the operations of identifying the secret value from the second image comprises decoding the secret value from the barcode.

### Claim 15

A machine-readable storage device, storing instructions for downloading a first application on a first computing device and authenticating the first application to a network-based service using an already authenticated session of a second application on the network-based service executing on a second computing device, the instructions, which when executed by a first computing device, cause the first computing device to perform operations comprising:
capturing a first image displayed by the second application on a display communicatively coupled to the second computing device;
identifying a link to download the first application from the first image;
downloading the first application from the link;
responsive to downloading the first application, executing the first application, the first application:
capturing a second image displayed by the second application;
identifying a secret value from the second image; and
establishing an authenticated session of the first application with the network-based service using the secret value.

### Claim 16 (depends on 15)

The machine-readable storage device of claim 15, wherein the instructions further comprise:
executing the second application, the second application:
receiving a selection of a user interface option to download the first application;
responsive to receiving the selection:
displaying the first image; and
displaying the second image.

### Claim 17 (depends on 16)

The machine-readable storage device of claim 16, wherein the first application identifies a session identifier from the first image and sends the session identifier to the network-based service, and wherein the second application displays the second image responsive to receiving a message from the network-based service.

### Claim 18 (depends on 17)

The machine-readable storage device of claim 17, wherein the second application replaces the first image with the second image.

### Claim 19 (depends on 17)

The machine-readable storage device of claim 17, wherein the operations further comprise:
receiving a request from the second computing device for the first image;
providing the first image to the second computing device;
receiving a communication from the first computing device including the session identifier; and
responsive to the communication from the first computing device including the session identifier, sending the second image to the second computing device.

### Claim 20 (depends on 19)

The machine-readable storage device of claim 19, wherein the instructions further comprise:
receiving the secret value from the first computing device; and
authenticating the first computing device based upon the secret value.
