Session handling based on shared session information

US9923975B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9923975-B2
Application numberUS-201414540409-A
CountryUS
Kind codeB2
Filing dateNov 13, 2014
Priority dateDec 30, 2005
Publication dateMar 20, 2018
Grant dateMar 20, 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.

A connection manager and worker nodes of an application server are both capable to access and control a shared memory session table.

First claim

Opening claim text (preview).

What is claimed is: 1. An apparatus comprising: a request/response shared memory to support request/response data transfers to each of multiple first worker nodes of a first software suite and multiple second worker nodes of a second software suite, any given request/response data transfer being to a determined one of the multiple first worker nodes or the multiple second worker nodes, each second worker node having its own associated virtual machine, wherein each of the virtual machines does not have visibility into local memories of the other virtual machines; a first dispatcher associated with the first software suite; a second dispatcher associated with the second software suite; a connection manager coupled in communication with the request/response shared memory, wherein the connection manager is configured to receive a request for a session, to determine whether the request should be handled by the first or the second software suite, to deposit the request in the request/response shared memory where the worker node of the determined first or second software suite can retrieve and process the request and write the response into in the request/response shared memory, and to forward a request notification to a respective determined one of the first dispatcher and the second dispatcher, which identifies which first worker node of the multiple first worker nodes or which second worker node of the multiple second worker nodes, respectively, is to handle the request; a shared closure shared memory that contains objects that can be accessed by more than one virtual machine, wherein one or more objects are grouped in a closure, which is a group of one or more objects where every reference stemming from an object in the group which references another object does not reference an object outside the group; and a session table shared memory configured to store a session table storing high level session state information pertaining to flow management of a request/response pair rather than pertaining to a request's substantive response, wherein each second worker node is configured to access and update an entry in the session table with information about a session, including a reference to the respective second worker, as well as to allocate and initialize an entry for a new session in the session table and, upon termination or failure of the session, to clean up bindings to the worker node and free the session in the session table, and wherein the connection manager is configured to access and update the entry in the session table with information about the session. 2. The apparatus of claim 1 , wherein each of the plurality of second worker nodes is capable to free the entry in the session table. 3. The apparatus of claim 2 , wherein the second worker node is configured to free the entry if no requests are pending for the session. 4. The apparatus of claim 2 , wherein the connection manager is configured to drop the freed entry in the session table. 5. The system of claim 1 , wherein the second dispatcher is integrated into the connection manager. 6. A method comprising: providing a request/response shared memory to support request/response data transfers to each of multiple first worker nodes of a first software suite and multiple second worker nodes of a second software suite, any given request/response data transfer being to a determined one of the multiple first worker nodes or the multiple second worker nodes; receiving, at a connection manager coupled in communication with the request/response shared memory, requests for one or more sessions; determining, for each request, whether the request should be handled by the first or the second software suite, wherein, for at least some of the requests, it is determined that they should be handled by the second software suite; depositing the requests in the request/response shared memory; forwarding for each request, by the connection manager, a request notification to a determined one of a first dispatcher of the first software suite or a second dispatcher of the second software suite; identifying for each request, by the determined one of the first dispatcher or the second dispatcher, which first worker node of the multiple first worker nodes or which second worker node of the multiple second worker nodes, respectively, should handle the request; retrieving each request from the request/response shared memory and processing the request at the respective identified worker node of the determined first or second software suite; writing the responses into in the request/response shared memory; and for each of the requests to be handled by the second software suite, by the respective identified second worker node, accessing and updating an entry in a session table stored in a session table shared memory with information about the respective session, and, by the respective identified second worker node, upon termination or failure of the session, cleaning up bindings to the worker node and freeing the session in the session table, wherein the session table stores high level session state information pertaining to flow management of a request/response pair rather than pertaining to a request's substantive response and wherein the information about the session comprises a reference to the selected second worker node; associating to each second worker node a virtual machine, wherein each of the virtual machines does not have visibility into local memories of the other virtual machines; and providing a shared closure shared memory that contains objects that can be accessed by-more than one virtual machine, wherein one or more objects are grouped in a closure, which is a group of one or more objects. 7. The method of claim 6 , further comprising, for at least one of the requests to be handled by the second software suite, allocating the entry in the session table by the respective identified second worker node. 8. The method of claim 7 , further comprising initializing the entry in the session table by the identified second worker node. 9. The method of claim 6 , wherein the identified second worker node is configured to free the entry if no requests are pending for the session. 10. The method of claim 6 , further comprising, by the connection manager, dropping the freed entry in the session table. 11. A non-transitory machine-readable medium storing instructions that, when executed by a processor, cause the processor to: receive, at a connection manager coupled in communication with a request/response shared memory for supporting request/response data transfers, requests for one or more sessions; determine, for each request, whether the request should be handled by a first or a second software suite, wherein, for at least some of the requests, it is determined that they should be handled by the second software suite; deposit the requests in the request/response shared memory; forward for each request, by the connection manager, a request notification to a determined one of a first dispatcher of the first software suite or a second dispatcher of the second software suite; identify for each request, by the determined one of the first dispatcher or the second dispatcher, which first worker node of multiple first worker nodes of the first software suite or which second worker node of multiple second worker nodes of the second software suite, respectively, should handle the request; retrieve each request from the request/response shared memory and process the request at the respective identified worker node of the determined first or second software suite; write the responses into in the request/response shared memory; and for each of the

Assignees

Inventors

Classifications

  • considering software capabilities, i.e. software resources associated or available to the machine · CPC title

  • Session · CPC title

  • G06F9/5027Primary

    the resource being a machine, e.g. CPUs, Servers, Terminals · CPC title

  • H04L67/141Primary

    Setup of application sessions (admission control or resource allocation in data switching networks H04L47/70) · CPC title

  • considering data affinity · 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 US9923975B2 cover?
A connection manager and worker nodes of an application server are both capable to access and control a shared memory session table.
Who is the assignee on this patent?
Galchev Galin, Fiderer Christian, Luik Oliver, and 3 more
What technology area does this patent fall under?
Primary CPC classification G06F9/5027. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 20 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).