Legal claims defining the scope of protection, as filed with the USPTO.
1. A computer-implemented method for updating a software program, the method comprising: receiving an update request to update a method included in a middleware application, wherein the method is currently loaded in a middleware environment, and wherein the update request identifies a new version of the method and a class file that includes one or more methods including the method being updated; registering the new version of the method, the registering including writing the new version of the method to a heap that is managed by the middleware environment; scheduling an update of the class file for a future time; prior to the scheduled future time, receiving a plurality of requests for the method, wherein each of the requests is received from a corresponding requestor; identifying a routing policy; for each of the received requests: identifying a current connection between the method and the requestor that corresponds to the received request; and determining whether to route the received request to the method or to the new version of the method, wherein the determination of whether to route the received request to the method or to the new version of the method is based on the routing policy and the current connection; in response to the determining, routing one or more of the received requests for the method to the method; in further response to the determining, re-routing the requests not routed to the method to the new version of the method; executing the received requests in response to the routing and the re-routing; and updating the class file at the scheduled future time, wherein the updating further comprises: allocating a request queue; queuing requests received after the updating has commenced to the request queue; replacing the method with the new version of the method; and after the replacing, routing the queued requests to the new version of the method included in the class file.
2. The method of claim 1 further comprising: gathering usage data corresponding to the method; analyzing the usage data, the analysis resulting in a preferred time to update the method; and using the preferred time as the scheduled future time.
3. An information handling system comprising: one or more processors; a memory accessible by at least one of the processors; a nonvolatile storage area accessible by at least one of the processors; a middleware environment stored in the memory and executed by one or more of the processors; a heap stored in the memory and managed by middleware environment, the heap used to store class files, wherein the class files include one or more methods; and a set of instructions stored in the memory, wherein one or more of the processors executes the set of instructions in order to perform actions of: receiving an update request to update one of the methods stored in the heap, wherein the update request identifies a new version of the method and one of the class files that includes the method being updated; registering the new version of the method, the registering including writing the new version of the method to the heap; scheduling an update of the class file for a future time; prior to the scheduled future time, receiving a plurality of requests for the method, wherein each of the requests is received from a corresponding requestor; identifying a routing policy; for each of the received requests: identifying a current connection between the method and the requestor that corresponds to the received request; and determining whether to route the received request to the method or to the new version of the method, wherein the determination of whether to route the received request to the method or to the new version of the method is based on the routing policy and the current connection; in response to the determining, routing one or more of the received requests for the method to the method; in further response to the determining, re-routing the requests not routed to the method to the new version of the method; executing the received requests in response to the routing and the re-routing; and updating the class file at the scheduled future time, wherein the updating further comprises: allocating a request queue; queuing requests received after the updating has commenced to the request queue; replacing the method with the new version of the method; and after the replacing, routing the queued requests to the new version of the method included in the class file.
4. The information handling system of claim 3 further comprising an additional set of instructions in order to perform actions of: gathering usage data corresponding to the method; analyzing the usage data, the analysis resulting in a preferred time to update the method; and using the preferred time as the scheduled future time.
5. A computer program product stored in a computer readable medium, comprising functional descriptive material that, when executed by a data processing system, causes the data processing system to perform actions that include: receiving an update request to update a method included in a middleware application, wherein the method is currently loaded in a middleware environment, and wherein the update request identifies a new version of the method and a class file that includes one or more methods including the method being updated; registering the new version of the method, the registering including writing the new version of the method to a heap that is managed by the middleware environment; scheduling an update of the class file for a future time; prior to the scheduled future time, receiving a plurality of requests for the method, wherein each of the requests is received from a corresponding requestor; identifying a routing policy; for each of the received requests: identifying a current connection between the method and the requestor that corresponds to the received request; and determining whether to route the received request to the method or to the new version of the method, wherein the determination of whether to route the received request to the method or to the new version of the method is based on the routing policy and the current connection; routing one or more of the received requests for the method to the method; in further response to the determining, re-routing the requests not routed to the method to the new version of the method; executing the received requests in response to the routing and the re-routing; and updating the class file at the scheduled future time, wherein the updating further comprises: allocating a request queue; queuing requests received after the updating has commenced to the request queue; replacing the method with the new version of the method; and after the replacing, routing the queued requests to the new version of the method included in the class file.
6. The computer program product of claim 5 further comprising functional descriptive material that, when executed by a data processing system, causes the data processing system to perform actions that include: gathering usage data corresponding to the method; analyzing the usage data, the analysis resulting in a preferred time to update the method; and using the preferred time as the scheduled future time.
Unknown
August 17, 2010
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.