# US 10,310,841 B2 · System and method for handling lazy deserialization exceptions in an application server environment

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

- Number: US 10,310,841 B2
- Document ID: US10310841B2
- Status: Granted
- Kind: B2
- Application number: 15/706,241
- Filed: 2017-09-15
- Published: 2018-03-22
- Granted: 2019-06-04
- Earliest claimed: 2016-09-16
- Assignees: Oracle International Corporation
- Applicants: Oracle International Corporation
- Inventors: Dhiraj Mutreja; Amy Kang; Joshua Dorr; Lenny Phan
- Web page: https://patentgrep.com/patent/US10310841B2

## CPC

- G06F 8/65: Updates (security arrangements therefor G06F21/57)
- G06F 8/656: while running
- G06F 9/5055: {considering software capabilities, i.e. software resources associated or available to the machine}
- G06F 9/5077: {Logical partitioning of resources; Management or configuration of virtualized resources (specific details on emulation or internal functioning of virtual machines G06F9/455)}
- G06F 9/5088: {involving task migration}
- G06F 11/2033: {switching over of hardware resources}
- G06F 2201/805: Real-time
- G06F 2201/82: Solving problems relating to consistency
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

In accordance with an embodiment, described herein is a system and method for handling lazy deserialization exceptions in an application server environment. When a stateful, e.g., EJB client request arrives to the EJB container, if the container detects that it cannot deserialize the state on this server and a patching (Patching, Zero Downtime Patching, ZDT) application upgrade rollout is in progress, the container can ask the replication manager to replicate the bean state to a new secondary that is in the opposite ZDT failover server group of this server, if it can find one. A remote reference of the replica on the new secondary will be set to a special type exception, which carries the replica's remote reference to the client side, in order to fulfill the client request.

## Claims

### Claim 1

A system for handling lazy deserialization exceptions in an application server environment, comprising:
one or more computers, including an application server environment that enables deployment and execution of software applications, wherein the application server environment is associated with a domain configuration that is used at runtime to define a domain for execution of the software applications;
a front end module; and
a server cluster, the server cluster being defined within the domain, the server cluster comprising a plurality of managed servers;
wherein the system undergoes a patching process that is performed by the application server environment to apply patches to the plurality of managed servers in the server cluster in a controlled manner that maintains operations of the domain without interruption;
wherein the system is adapted to handle a lazy deserialization exception in the application server environment; and
wherein the lazy deserialization exception is detected upon a client request being directed to a first managed server of the plurality of managed servers in the server cluster, wherein the first managed server of the plurality of managed servers in the server cluster is unable to deserialize a first session state due to a difference in patch state between a server that serialized the first session state and the first managed server of the plurality of managed servers in the server cluster.

### Claim 2 (depends on 1)

The system of claim 1, wherein the first managed server of the plurality of managed servers in the server cluster comprises a primary copy of the first session state or a secondary copy of the first session state.

### Claim 3 (depends on 2)

The system of claim 2, further comprising:
a replication manager; and
wherein upon detection of the lazy deserialization exception, the first managed server of the plurality of managed servers in the server cluster requests, via the replication manager, the first session state be replicated to a second managed server of the plurality of managed servers in the server cluster.

### Claim 4 (depends on 3)

The system of claim 3, wherein the second managed server of the plurality of managed servers in the server cluster comprises an opposite patch state of the first managed server of the plurality of managed servers in the server cluster.

### Claim 5 (depends on 4)

The system of claim 4, wherein upon replication of the first session state to the second managed server of the plurality of managed servers in the server cluster, the front end module directs the client request to the second managed server of the plurality of managed servers in the server cluster.

### Claim 6 (depends on 5)

The system of claim 5,
wherein the first managed server of the plurality of managed servers in the server cluster comprises the secondary copy of the first session state;
wherein a third managed server of the plurality of managed servers in the server cluster comprises the primary copy of the first session state; and
wherein the third managed server of the plurality of managed servers in the server cluster is unavailable due to the patching process.

### Claim 7 (depends on 1)

The system of claim 1, wherein the front end module comprises a client enterprise javabean stub (client-EJB-stub).

### Claim 8

A method for handling lazy deserialization exceptions in an application server environment, comprising:
providing, at a system comprising one or more computers, including:
an application server environment that enables deployment and execution of software applications, wherein the application server environment is associated with a domain configuration that is used at runtime to define a domain for execution of the software applications;
a front end module; and
a server cluster, the server cluster being defined within the domain, the server cluster comprising a plurality of managed servers;
performing, within the application server environment, a patching process to apply patches to the plurality of managed servers in the server cluster in a controlled manner that maintains operations of the domain without interruption;
wherein the system is adapted to handle a lazy deserialization exception in the application server environment; and
detecting the lazy deserialization exception upon a client request being directed to a first managed server of the plurality of managed servers in the server cluster, wherein the first managed server of the plurality of managed servers in the server cluster is unable to deserialize a first session state due to a difference in patch state between a server that serialized the first session state and the first managed server of the plurality of managed servers in the server cluster.

### Claim 9 (depends on 8)

The method of claim 8, wherein the first managed server of the plurality of managed servers in the server cluster comprises a primary copy of the first session state or a secondary copy of the first session state.

### Claim 10 (depends on 9)

The method of claim 9, further comprising:
providing, at the system comprising the one or more computers, a replication manager; and
upon detection of the lazy deserialization exception, requesting, by the first managed server of the plurality of managed servers in the server cluster via the replication manager, the first session state be replicated to a second managed server of the plurality of managed servers in the server cluster.

### Claim 11 (depends on 10)

The method of claim 10, wherein the second managed server of the plurality of managed servers in the server cluster comprises an opposite patch state of the first managed server of the plurality of managed servers in the server cluster.

### Claim 12 (depends on 11)

The method of claim 11, further comprising;
upon replication of the first session state to the second managed server of the plurality of managed servers in the server cluster, directing, by the front end module, the client request to the second managed server of the plurality of managed servers in the server cluster.

### Claim 13 (depends on 12)

The method of claim 12,
wherein the first managed server of the plurality of managed servers in the server cluster comprises the secondary copy of the first session state;
wherein a third managed server of the plurality of managed servers in the server cluster comprises the primary copy of the first session state; and
wherein the third managed server of the plurality of managed servers in the server cluster is unavailable due to the patching process.

### Claim 14 (depends on 8)

The method of claim 8, wherein the front end module comprises a client enterprise javabean stub (client-EJB-stub).

### Claim 15

A non-transitory computer readable storage medium, including instructions stored for handling lazy deserialization exceptions in an application server environment thereon which when read and executed by one or more computers cause the one or more computers to perform a method comprising:
providing, at a system comprising one or more computers, including:
an application server environment that enables deployment and execution of software applications, wherein the application server environment is associated with a domain configuration that is used at runtime to define a domain for execution of the software applications;
a front end module; and
a server cluster, the server cluster being defined within the domain, the server cluster comprising a plurality of managed servers;
performing, within the application server environment, a patching process to apply patches to the plurality of managed servers in the server cluster in a controlled manner that maintains operations of the domain without interruption;
wherein the system is adapted to handle a lazy deserialization exception in the application server environment; and
detecting the lazy deserialization exception upon a client request being directed to a first managed server of the plurality of managed servers in the server cluster, wherein the first managed server of the plurality of managed servers in the server cluster is unable to deserialize a first session state due to a difference in patch state between a server that serialized the first session state and the first managed server of the plurality of managed servers in the server cluster.

### Claim 16 (depends on 15)

The non-transitory computer readable storage medium of claim 15, wherein the first managed server of the plurality of managed servers in the server cluster comprises a primary copy of the first session state or a secondary copy of the first session state.

### Claim 17 (depends on 16)

The non-transitory computer readable storage medium of claim 16, further comprising:
providing, at the system comprising the one or more computers, a replication manager; and
upon detection of the lazy deserialization exception, requesting, by the first managed server of the plurality of managed servers in the server cluster via the replication manager, the first session state be replicated to a second managed server of the plurality of managed servers in the server cluster.
