Patent ID: 8239877
Filing Date: 2012-08-07
Classification: G06F

Abstract:
1. A method for processing a marshaled object sent to a data processing receiver of a data processing system, said method comprising: prior to receiving across a network by the data processing receiver of the data processing system a sent marshaled object, statically analyzing object implementations within the data processing system and capturing and accumulating a plurality of marshalling implementation version descriptors for subsequent use in de-marshalling objects, each marshalling implementation version descriptor comprising version based runtime marshalling metadata which facilitates the marshalling of a respective marshaled object; pre-populating a plurality of non-volatile memory tables with the plurality of marshalling implementation version descriptors used within the data processing system, the plurality of pre-populated non-volatile memory tables being stored in non-volatile memory and persistently holding the plurality of marshalling implementation version descriptors; subsequent to the pre-populating, receiving across the network by the data processing receiver of the data processing system the sent marshaled object; examining a marshalling implementation version key sent with the marshaled object; initially searching memory in the data processing receiver for a respective marshalling implementation version descriptor identified by the marshalling implementation version key sent with the marshaled object, the respective marshalling implementation version descriptor comprising version-based runtime marshalling metadata which facilitates de-marshalling of the received marshaled object, the memory of the data receiver being separate from the non-volatile memory in which the plurality of pre-populated non-volatile memory tables are stored; in response to the respective marshalling implementation version descriptor being unavailable in the memory, searching by the data processing receiver, the pre-populated non-volatile memory tables comprising the plurality of marshalling implementation version descriptors used within the data processing system for the respective marshalling implementation version descriptor, the plurality of marshalling implementation version descriptors having been pre-populated in the pre-populated non-volatile memory tables prior to the receiving the marshaled object; and upon ascertaining the respective marshalling implementation version descriptor within the pre-populated non-volatile memory tables, de-marshalling the sent marshaled object using the ascertained marshalling implementation version descriptor, wherein the de-marshalling occurs absent a call-back operation to a sender of the sent marshaled object for the respective marshalling implementation version descriptor notwithstanding initial unavailability of the respective marshalling implementation version descriptor in the memory of the data processing receiver, the de-marshalling performed based on searching the plurality of marshalling implementation version descriptors in the pre-populated, non-volatile memory tables thereby decreasing traffic across the network across which the data processing receiver received the sent marshaled object.