Messaging API over HTTP protocol to establish context for data exchange

US9961125B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9961125-B2
Application numberUS-201313956014-A
CountryUS
Kind codeB2
Filing dateJul 31, 2013
Priority dateJul 31, 2013
Publication dateMay 1, 2018
Grant dateMay 1, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Technologies are provided for a protocol for retrieving data from a remote server at a local client and establishing a context for the client at the server. A client may execute an application enabling users to receive data such as emails stored at the server. The client may employ a messaging-over hypertext transfer protocol (HTTP) to request the data from the server. An HTTP POST request may incorporate specialized headers with instructions for data retrieval, and may enable the client to establish a context with the server to identify the client for subsequent data requests. After receipt of the POST request, the server may send a receipt response and chunked intermediary responses while the request is being processed. The server may also send a cookie to the client representing the context of the client, and the client may return the cookies with subsequent data requests to the server.

First claim

Opening claim text (preview).

What is claimed is: 1. A method executed at least in part in a computing device for providing messaging-over hypertext transfer protocol (HTTP) to establish a context between a client and a server and to exchange data over a network, the method comprising: receiving a connection request from a client; establishing a first connection with the client; receiving a data request from the client over the connection, wherein the data request comprises a specialized header specifying a content type, a content length, an operation to be performed, and an identity of the client making the request; sending a receipt response to the client; generating a cookie representing a context between the client and the server, wherein the context represents a collection of state of the server that is maintained for a subsequent request from the client after interruption of the first connection, and wherein re-authentication of the client is not required when the cookie is provided with the subsequent request; and providing the cookie to the client. 2. The method of claim 1 , wherein receiving the data request further comprises: receiving another request, wherein the other request includes one or more headers with instructions for processing the data request. 3. The method of claim 2 , wherein the headers include one or more of: a type header, a request identification header, a mailbox identification header and a content-type header. 4. The method of claim 3 , wherein the type header specifies an operation the client is attempting to perform. 5. The method of claim 4 , wherein the type header is set to one of: a connect value for accessing a mailbox and a bind value for accessing an address book associated with a contacts management application. 6. The method of claim 1 , further comprising: sending a series of intermediary chunk responses to the client while processing the data request. 7. The method of claim 6 , wherein sending intermediary chunk responses further comprises: including a header in at least one intermediary chunked response of the series of intermediary chunk responses with “chunked” as a transfer encoding value. 8. The method of claim 7 , further comprising: including the cookie in at least one intermediary chunked response of the series of intermediary chunk responses to the client to provide the cookie to the client. 9. The method of claim 1 , further comprising: enabling the cookie to be maintained at the client during one or more of: a disconnection, a reconnection, and a hibernation of the client. 10. The method of claim 1 , further comprising: receiving the cookie from the client during a subsequent data request; and validating the context associated with the cookie on the subsequent data request is being used by a same authenticated client who initially created the context and associated cookie. 11. The method of claim 10 , further comprising: storing the context. 12. A server for data exchange between a client and a productivity service over a network, comprising: a memory storing instructions; a processor coupled to the memory, the processor executing a data retrieval application, wherein the data retrieval application is configured to: receive a connection request; establish a first connection with the client; receive a data request over the connection, wherein the data request comprises a specialized header specifying a content type, a content length, an operation to be performed, and an identity of the client making the request; in response to the data request, send a receipt response; generate a cookie representing a context between the client and the server, wherein the context represents a collection of state of the server that is maintained for a subsequent request from the client after interruption of the first connection, and wherein re-authentication of the client is not required when the cookie is provided with the subsequent request; and provide the cookie in at least one of a series of intermediary chunk responses sent while processing the data request. 13. The server of claim 12 , wherein the productivity service is configured to provide one or more of: an email application, a social networking application, a collaboration application, an enterprise management application, a messaging application, a word processing application, a spreadsheet application, a database application, a presentation application, and an email, contacts and calendaring management application. 14. The server of claim 12 , wherein the data request includes one or more headers with instructions for how to process the data request. 15. The server of claim 14 , wherein the headers include one or more of: a type header, a request identification header, a mailbox identification header and a content-type header. 16. The server of claim 12 , wherein the data retrieval application is further configured to: store the context for a predefined period of time; and discard the context after the predefined period of time expires. 17. The server of claim 16 , wherein the predefined period of time is configurable based on one or more of: a network type, a client type, client devices associated with user, and one or more security parameters. 18. The server of claim 17 , wherein the period of time to store the context is dynamic based on available resources at the server and a quantity of client applications and the client devices interacting with the server. 19. A storage device with instructions stored thereon that, when executed by at least one processor, perform a method for providing messaging-over hypertext transfer protocol (HTTP) to establish a context between a client and a server and to exchange data over a network, the method comprising: receiving a connection request; establishing a first connection with the client; receiving a data request over the connection, wherein the data request comprises a specialized header specifying a content type, a content length, an operation to be performed, and an identity of the client making the request; in response to the data request, sending a receipt response; processing the data request to retrieve requested data; generating a cookie representing a context between the client and the server, wherein the context represents a collection of state of the server that is maintained for a subsequent request from the client after interruption of the first connection, and wherein re-authentication of the client is not required when the cookie is provided with the subsequent request; sending the cookie in at least one of a series of intermediary chunk responses sent to the client while processing the data request; and upon providing the requested data, sending a final response. 20. The storage device of claim 19 , wherein the method further comprises: enabling the cookie to be maintained at the client during one or more of: a disconnection, a reconnection, and a hibernation of the client; receiving the cookie during a subsequent data request; and validating the context associated with the cookie on the subsequent request is being used by a same authenticated client who initially created the context and associated cookie.

Assignees

Inventors

Classifications

  • Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding · CPC title

  • H04L67/02Primary

    based on web technology, e.g. hypertext transfer protocol [HTTP] · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9961125B2 cover?
Technologies are provided for a protocol for retrieving data from a remote server at a local client and establishing a context for the client at the server. A client may execute an application enabling users to receive data such as emails stored at the server. The client may employ a messaging-over hypertext transfer protocol (HTTP) to request the data from the server. An HTTP POST request may …
Who is the assignee on this patent?
Microsoft Corp, Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification H04L67/02. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue May 01 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).