# US 10,313,359 B2 · Protocols for accessing hosts

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

- Number: US 10,313,359 B2
- Document ID: US10313359B2
- Status: Granted
- Kind: B2
- Application number: 15/340,867
- Filed: 2016-11-01
- Published: 2018-05-03
- Granted: 2019-06-04
- Earliest claimed: 2016-11-01
- Assignees: Microsoft Technology Licensing, LLC
- Applicants: Microsoft Technology Licensing, LLC
- Inventors: Matthew J. Ruhlen; Christopher J. Brown; Tyler W. Butler
- Web page: https://patentgrep.com/patent/US10313359B2

## CPC

- H04L 63/108: {when the policy decisions are valid for a limited amount of time}
- H04L 63/08: {for authentication of entities (cryptographic mechanisms or cryptographic arrangements for entity authentication H04L9/32)}
- H04L 63/0807: {using tickets, e.g. Kerberos (cryptographic mechanisms or cryptographic arrangements for entity authentication using tickets or tokens H04L9/3213)}
- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L 67/60: Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources (admission control or resource allocation H04L47/70)
- H04L 69/22: Parsing or analysis of headers
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Techniques and technologies for protocols for accessing hosts are described. In at least some embodiments, a system includes a processing component, and a host protocol component. The host protocol component is configured to receive at a host a request from a client device, the request including a Uniform Resource Locator (URL) string locating at least one of a container or an ecosystem stored by the host; determine using at least a portion of the URL string whether the request is at least one of a container-related request or an ecosystem-related request; generate a response at the host including information responsive to the request, the information including the URL string locating the at least one of the container or the ecosystem, and at least one response parameter; and transmit the response from the host to the client device.

## Claims

### Claim 1

A system, comprising:
a processing component operatively coupled to a memory; and
a host protocol component stored on the memory, the host protocol component including one or more instructions that when executed by the processing component perform one or more operations including:
providing at least one standard access token to a client device based on the client device successfully passing a standard authentication scheme;
providing protocol-related information and at least one protocol-related access token to the client device based on the client device providing a protocol-related authentication request including the at least one standard access token;
receiving at the host a request from the client device, the request including a Uniform Resource Locator (URL) string locating at least one of a container or an ecosystem stored by the host;
determining using at least a portion of the URL string whether the request is at least one of a container-related request or an ecosystem-related request;
generating a response at the host including information responsive to the request, the information including the URL string locating the at least one of the container or the ecosystem, and at least one response parameter corresponding to the request and associated with the at least one of the container or the ecosystem; and
transmitting the response from the host to the client device.

### Claim 2 (depends on 1)

The system of claim 1, wherein the request received from the client device further includes an access token, and wherein the host protocol component further includes one or more instructions that when executed perform one or more operations comprising:
determining whether the request is authorized to be performed based at least partially on the access token.

### Claim 3 (depends on 1)

The system of claim 1, wherein the host protocol component further includes one or more instructions that when executed perform one or more operations comprising:
receiving an authentication request from the client device requesting to be authenticated with the host, the authentication request including authentication information; and
authenticating the client device at least partially based on the authentication information.

### Claim 4 (depends on 1)

The system of claim 1, wherein the host protocol component further includes one or more instructions that when executed perform one or more operations comprising:
receiving an authentication request from the client device requesting to be authenticated with the host, the authentication request including authentication information;
performing an initial authentication using a standard authentication scheme of the host at least partially based on the authentication information;
wherein providing the at least one standard access token to the client device based on the client device successfully passing the standard authentication scheme occurs after performing the initial authentication using the standard authentication scheme;
receiving a protocol-related authentication request from the client device, the protocol-related authentication request including the at least one standard access token; and
wherein providing the protocol-related information and the at least one protocol-related access token to the client device based on the protocol-related authentication request including the at least one standard access token occurs after receiving the protocol-related authentication request.

### Claim 5 (depends on 4)

The system of claim 4, wherein the host protocol component further includes one or more instructions that when executed perform one or more operations comprising:
determining that the protocol-related access token is at or near expiration; and
retrieving a fresh protocol-related access token based at least partially on the at least one standard access token.

### Claim 6 (depends on 4)

The system of claim 4, wherein the host protocol component further includes one or more instructions that when executed perform one or more operations comprising:
determining that the protocol-related access token is at or near expiration; and
retrieving a fresh protocol-related access token based at least partially on the at least one standard access token without requiring re-performing the initial authentication using the standard authentication scheme.

### Claim 7 (depends on 1)

The system of claim 1, wherein determining using at least a portion of the URL string whether the request is at least one of a container-related request or an ecosystem-related request comprises:
determining using at least an endpoint portion of the URL string whether the request is at least one of a container-related request or an ecosystem-related request.

### Claim 8 (depends on 1)

The system of claim 1, wherein determining using at least a portion of the URL string whether the request is at least one of a container-related request or an ecosystem-related request comprises:
determining using at least a portion of the URL string that the request includes a root-level information that enables at least one of a browsing or a navigating command related to at least one of a container or an ecosystem.

### Claim 9 (depends on 1)

The system of claim 1, wherein receiving at the host a request from the client device, the request including a Uniform Resource Locator (URL) string locating at least one of a container or an ecosystem stored by the host comprises:
receiving at the host a request from the client device to at least one of enumerate children or enumerate ancestors of a container stored by the host, the request including a Uniform Resource Locator (URL) string locating the container stored by the host.

### Claim 10 (depends on 1)

The system of claim 1, wherein receiving at the host a request from the client device, the request including a Uniform Resource Locator (URL) string locating at least one of a container or an ecosystem stored by the host comprises:
receiving at the host a request from the client device related to browsing an ecosystem stored by the host, the request including a Uniform Resource Locator (URL) string locating the ecosystem stored by the host.

### Claim 11 (depends on 10)

The system of claim 10, wherein receiving at the host a request from the client device related to browsing an ecosystem stored by the host, the request including a Uniform Resource Locator (URL) string locating the ecosystem stored by the host comprises:
receiving at the host a request from the client device to get a root container of an ecosystem stored by the host, the request including a Uniform Resource Locator (URL) string locating the ecosystem stored by the host.

### Claim 12 (depends on 1)

The system of claim 1, wherein generating a response at the host including information responsive to the request, the information including the URL string locating the at least one of the container or the ecosystem, and at least one response parameter corresponding to the request and associated with the at least one of the container or the ecosystem, comprises:
generating a response at the host including information responsive to the request, the information including an array of objects including at least a name of the at least one of the container or the ecosystem, a URL corresponding to the at least one of the container or the ecosystem, and a valid access token for accessing the at least one of the container or the ecosystem.

### Claim 13

A system, comprising:
a processing component operatively coupled to a memory; and
a host protocol component stored on the memory, the host protocol component including one or more instructions that when executed by the processing component perform one or more operations including:
receiving an authentication request from a client device requesting to be authenticated with a host, the authentication request including authentication information;
performing an initial authentication using a standard authentication scheme of the host at least partially based on the authentication information;
providing standard access information to the client device based on the standard authentication scheme;
receiving a protocol-related authentication request from the client device, the protocol-related authentication request including the standard access information;
providing protocol-related information and at least one protocol-related access token to the client device based at least partially on the protocol-related authentication request including the standard access information;
receiving at the host a request from the client device, the request including a Uniform Resource Locator (URL) string locating at least one of a container or an ecosystem stored by the host and the protocol-related access token;
determining using at least a portion of the URL string whether the request is at least one of a container-related request or an ecosystem-related request;
determining whether the request is authorized to be performed based at least partially on the protocol-related access token; and
if the request is authorized:
generating a response at the host including information responsive to the request, the information including the URL string locating the at least one of the container or the ecosystem, and at least one response parameter corresponding to the request and associated with the at least one of the container or the ecosystem; and
transmitting the response from the host to the client device.

### Claim 14 (depends on 13)

The system of claim 13, wherein receiving at the host a request from the client device, the request including a Uniform Resource Locator (URL) string locating at least one of a container or an ecosystem stored by the host comprises:
receiving at the host a request from the client device, the request include a URL string that includes a root-level information that refers to a collection of objects stored by the host.

### Claim 15 (depends on 14)

The system of claim 14, wherein receiving at the host a request from the client device related to browsing a container stored by the host, the request including a Uniform Resource Locator (URL) string locating the container stored by the host comprises:
receiving at the host a request from the client device to at least one of enumerate children or enumerate ancestors of a container stored by the host, the request including a Uniform Resource Locator (URL) string locating the container stored by the host.

### Claim 16 (depends on 13)

The system of claim 13, wherein providing at least one standard access information to the client device based on the standard authentication scheme comprises:
providing at least one standard access token to the client device based on the standard authentication scheme.

### Claim 17 (depends on 13)

The system of claim 13, wherein generating a response at the host including information responsive to the request, the information including the URL string locating the at least one of the container or the ecosystem, and at least one response parameter corresponding to the request and associated with the at least one of the container or the ecosystem, comprises:
generating a response at the host including information responsive to the request, the information including an array of JavaScript Object Notation (JSON)-formatted objects including at least a name of the at least one of the container or the ecosystem, a URL corresponding to the at least one of the container or the ecosystem, and a valid access token for accessing the at least one of the container or the ecosystem.

### Claim 18 (depends on 13)

The system of claim 13, wherein the host protocol component further includes one or more instructions that when executed perform one or more operations comprising:
determining that the protocol-related access token is at or near expiration; and
retrieving a fresh protocol-related access token based at least partially on the at least one standard access token without requiring re-performing the initial authentication using the standard authentication scheme.

### Claim 19

A method for communicating between a client device and a host, comprising:
authenticating the client device with the host, the authenticating including:
providing at least one standard access token to the client device based on the client device successfully passing a standard authentication scheme;
providing protocol-related information and at least one protocol-related access token to the client device based on the client device providing a protocol-related authentication request including the at least one standard access token;
receiving at the host a request from the client device, the request including a Uniform Resource Locator (URL) string that includes a root-level information that locates at least one of a container or an ecosystem stored by the host and enables at least one of a browsing or a navigating command related to the at least one of the container or the ecosystem, and the at least one protocol-related access token;
determining using at least a portion of the URL string whether the request is at least one of a container-related request or an ecosystem-related request;
determining that the request from the client device is authorized based at least partially on the at least one protocol-related access token; and
if the request is authorized:
generating a response at the host including information responsive to the request, the information including the URL string locating the at least one of the container or the ecosystem, and at least one response parameter corresponding to the request and associated with the at least one of the container or the ecosystem; and
transmitting the response from the host to the client device.

### Claim 20 (depends on 19)

The method of claim 19, wherein authenticating the client device with the host further comprises:
receiving an authentication request from the client device requesting to be authenticated with the host, the authentication request including authentication information;
performing an initial authentication using a standard authentication scheme of the host at least partially based on the authentication information;
wherein providing the at least one standard access information including the at least one standard access token to the client device based on the client device successfully passing the standard authentication scheme occurs after performing the initial authentication using the standard authentication scheme;
receiving a protocol-related authentication request from the client device, the protocol-related authentication request including the at least one standard access information; and
wherein providing the protocol-related information and the at least one protocol-related access token to the client device based on the protocol-related authentication request including the at least one standard access information occurs after receiving the protocol-related authentication request.
