Preserving server-client session context

US9600371B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9600371-B2
Application numberUS-201213542278-A
CountryUS
Kind codeB2
Filing dateJul 5, 2012
Priority dateSep 9, 2011
Publication dateMar 21, 2017
Grant dateMar 21, 2017

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.

Methods, devices, and storage media are provided for preserving the context of a server-client session. A server generates an initial context and a context for each user command executed in a first session and sends context to a client with the return for each command. The context describes software, session state, returned data, and/or hardware characteristics of a server-side environment for the first session. The client receives and stores the context with each user command. Upon determining that the database session should be rebuilt in the second session, the client sends initial context. A server for the second session receives the initial context and determines whether commands should be replayed in the second session. If commands are replayed, the server validates that server environment and client-visible results for each command in the second session match that from execution in the first session using the context for that command.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: a client machine storing one or more commands of a set of commands that were sent for execution in a first server-client session, wherein the first server-client session is distinguished from one or more other server-client sessions by one or more items of server-side environment information; the client machine sending the one or more commands and the one or more items of server-side environment information in a second server-client session, wherein, before receiving the one or more items of server environment information, the second server-client session differs from the first server-client session with respect to at least one of the one or more items of server environment information. 2. The method of claim 1 , further comprising: the client machine detecting unavailability of the first server-client session; wherein sending the one or more commands and the one or more items of server-side environment information is performed by the client machine in response to detecting the unavailability of the first server-client session. 3. The method of claim 1 , wherein the second server-client session is compatible with the one or more items of server-side environment information, further comprising the client machine receiving an indication that the one or more commands were successfully completed in the second server-client session. 4. The method of claim 1 , wherein the second server-client session is incompatible with the one or more items of server-side environment information, further comprising receiving an indication that the one or more commands were not successfully completed in the second server-client session. 5. The method of claim 1 , wherein the one or more items of server-side environment information comprise one or more characteristics of server-side hardware used in the first server-client session. 6. The method of claim 1 , wherein the one or more items of server-side environment information comprise one or more characteristics of server-side software used in the first server-client session. 7. The method of claim 1 , further comprising: the client machine receiving, in the first server-client session, the one or more items of server-side environment information in response to the one or more commands of the set of commands that were sent for execution in the first server-client session; wherein the client machine sending, in the second server-client session, the one or more items of database server-side environment information comprises the client machine sending the one or more items of server-side environment information received in the first server-client session, without modification by the client machine. 8. The method of claim 1 , wherein the one or more items of server-side environment information received are appended to one or more messages received by the client machine in response to execution of the one or more commands in the first server-client session. 9. The method of claim 1 , wherein the one or more items of server-side environment information comprise protocol ordering information such that a command issued from the client is accepted or rejected for execution in the second server-client session. 10. The method of claim 1 , wherein the one or more items of server-side environment information comprise one or more characteristics of server-side state that allows the second server-client session to be built to a same state that the first server-client session was built. 11. The method of claim 1 , wherein the one or more items of server-side environment information comprise one or more characteristics of the data returned from command execution in the first server-client session that allows validation of data returned from command execution in the second server-client session. 12. A method comprising: a server machine in a second server-client session receiving, from a client: one or more items of server-side environment information for a first server-client session on which a set of commands was previously sent for execution; and one or more commands of the set of commands for execution in the second server-client session; in response to receiving the one or more items of server-side environment information, the server machine determining whether or not the server machine is compatible with the one or more items of server-side environment information before starting to execute the one or more commands in the second server-client session. 13. The method of claim 12 , wherein the one or more items of server-side environment information comprise one or more characteristics of hardware used in the first server-client session. 14. The method of claim 12 , wherein the one or more items of server-side environment information comprise one or more characteristics of software used in the first server-client session. 15. The method of claim 12 , further comprising: in response to determining that the second server-client session is incompatible with the one or more items of server-side environment information, the server machine indicating, to the client, that the first server-client session cannot be restored on the second server-client session. 16. The method of claim 12 , further comprising: in response to determining that the first server-client session is compatible with the one or more items of server-side environment information, the server machine executing the one or more commands in the second server-client session, and using the one or more items of server-side environment information to validate a result of the one or more commands in the second session. 17. The method of claim 16 , further comprising: verifying that second client-visible results of executing the one or more commands in the second server-client session match first client-visible results of executing the set of commands in the first server-client session when the one or more commands are executed; and if the second client-visible results do not match the first client-visible results, the server machine indicating, to the client, that the first server-client session cannot be restored on the second server-client session. 18. The method of claim 12 , wherein the one or more items of server-side environment information were appended to one or more messages sent to the client in response to execution of the set of commands in the first server-client session. 19. The method of claim 12 , wherein the one or more items of server-side environment information include one or more of: an identity of an underlying database of the first server-client session, a type of the underlying database of the first server-client session, a logical state or time of the underlying database of the first server-client session, a hardware platform that is used for the first server-client session, endianness or other storage format characteristics for the first server-client session, a session state signature or hash used to determine that session state is correct for replay, security credentials used for the first server-client session, protocol information to ensure that execution in the second server-client session is in a correct order, original values that were returned from function calls in the first server-client session, versions of data against which commands were executed in the first server-client session, and an optimizer execution plan that preserves an output order of commands in the first server-client session. 20. The method of claim 12 , wherein the one or more items of server-sid

Assignees

Inventors

Classifications

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 US9600371B2 cover?
Methods, devices, and storage media are provided for preserving the context of a server-client session. A server generates an initial context and a context for each user command executed in a first session and sends context to a client with the return for each command. The context describes software, session state, returned data, and/or hardware characteristics of a server-side environment for …
Who is the assignee on this patent?
Colrain Carol L, Hung Hochak, Neel Kevin S, and 1 more
What technology area does this patent fall under?
Primary CPC classification G06F11/1438. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 21 2017 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 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).