Patent ID: 7367029

Claim:
A method for handling an unfamiliar type of data at one of a plurality of components between computer systems which include at least a sink component and/or a source component, the method comprising: automatically performing, at the source component, a discovery process to determine data transfer capabilities and native data types of the sink component; in response to the discovery process, receiving a proxy object at the source component, wherein the proxy object provides a list of data types in which the sink component can receive data; inspecting the proxy object to determine which data type handler interfaces and data types can be accepted and understood by the sink component; receiving a data transfer session object at the sink component, the data transfer session object sent from the source component; executing one or more operations in the data transfer session object to retrieve data from the source component; obtaining a data type handler object from the source component, wherein the data type handler object includes mobile code implementing one or more data type handler interfaces that transparently and dynamically extend the capabilities of the sink component to handle new types of data that are not native to the sink component; invoking, by the sink component, at least one data type handler interface included in the data type handler object; executing, by the sink component, at least one source-specific instruction associated with the invoked data type handler interface, wherein the at least one source specific instruction provides capabilities for handling the retrieved data; and handling the retrieved data based upon the executed source specific instruction.