IP Library Granted Patent US 7,367,029
Granted Patent B2
US 7,367,029 · App. 10/212,375 · Granted Apr 29, 2008

Method and system for handling data

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,367,029
App. No.
10/212,375
Granted
Apr 29, 2008
Kind
B2
Abstract

Handling data at one of a plurality of components, wherein the plurality of components includes at least a sink component and a source component. The source component transfers data to the sink component, and the sink component accesses an obtained data type handler object to invoke an interface implemented by the handler object. The invoked type handler interface includes source-specific instructions that are executed by the sink component regardless of whether the data is a format that the sink natively understands.

Claims (48)

1. 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.

2. The method as set forth in claim 1 further comprising pre-installing the data type handler object on the sink component.

3. The method as set forth in claim 1 wherein obtaining the data type handler object further comprises using mobile code included with the data transfer session object to download the data type handler object from the source component to the sink component.

4. The method as set forth in claim 1 further comprising obtaining the data type handler object from another one of the plurality of components.

5. The method as set forth in claim 4 wherein obtaining the data type handler object further comprises using mobile code included with the data transfer session object to download the data type handler object from the another one of the plurality of components to the sink component.

6. The method as set forth in claim 1 , wherein the data transfer session object obtained is based on at least the proxy objects for the sink component and the source component.

7. A computer-readable medium having stored thereon instructions, which when executed by at least one processor, causes the processor to perform 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.

8. The medium as set forth in claim 7 further comprising pre-installing the data type handler object on the sink component.

9. The medium as set forth in claim 7 wherein obtaining the data type handler object further comprises using mobile code included with the data transfer session object to download the data type handler object from the source component to the sink component.

10. The medium as set forth in claim 7 further comprising obtaining the data type handler object from another one of the plurality of components.

11. The medium as set forth in claim 10 wherein obtaining the data type handler object further comprises using mobile code included with the data transfer session object to download the data type handler object from the another one of the plurality of components to the sink component.

12. The medium as set forth in claim 7 , wherein the data transfer session object obtained is based on at least the proxy objects for the sink component and the source component.

13. A system 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 system comprising:

a sink component in communication with a source component, wherein the sink component and the source component include separate processors for executing instructions to handle data;

wherein the source component:

automatically performs a discovery process to determine data transfer capabilities and native data types of the sink component;

in response to the discovery process, receives 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; and

inspects the proxy object to determine which data type handler interfaces and data types can be accepted and understood by the sink component;

wherein the sink component:

receives a data transfer session object from the source component;

executes instructions included in the data transfer session object to retrieve data from the source component;

obtains 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;

invokes at least one data type handler interface included in the data type handler object;

executes 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 received retrieved data; and

handles the received retrieved data based upon the executed source specific instruction.

14. The system as set forth in claim 13 wherein the data type handler object is pre-installed on the sink component.

15. The system as set forth in claim 13 wherein mobile code included with the data transfer session object is used to download the data type handler object from the source component to the sink component.

16. The system as set forth in claim 13 wherein the sink component obtains the data type handler object from another one of the plurality of components.

17. The system as set forth in claim 16 wherein mobile code included with the data transfer session object is used to download the data type handler object from the another one of the plurality of components to the sink component.

18. The system as set forth in claim 13 wherein the sink component obtains the data transfer session object based on at least the source and sink proxy objects.

Assignments (8)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 1, 2023
From: MIND FUSION, LLC
To: CRYSTAL MOUNTAIN COMMUNICATIONS, LLC
Reel/Frame 064803/0469 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 13, 2023
From: INTELLECTUAL VENTURES ASSETS 186 LLC
To: MIND FUSION, LLC
Reel/Frame 064271/0001 →
SECURITY INTEREST Recorded Mar 24, 2023
From: MIND FUSION, LLC
To: INTELLECTUAL VENTURES ASSETS 191 LLC; INTELLECTUAL VENTURES ASSETS 186 LLC
Reel/Frame 063295/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 12, 2023
From: GULA CONSULTING LIMITED LIABILITY COMPANY
To: INTELLECTUAL VENTURES ASSETS 186 LLC
Reel/Frame 062756/0052 →
RELEASE OF SECURITY INTEREST Recorded Sep 7, 2022
From: JPMORGAN CHASE BANK, N.A. AS SUCCESSOR-IN-INTEREST ADMINISTRATIVE AGENT AND COLLATERAL AGENT TO JPMORGAN CHASE BANK
To: XEROX CORPORATION
Reel/Frame 066728/0193 →
MERGER Recorded Oct 29, 2015
From: YORANSO CONSULTING LIMITED LIABILITY COMPANY
To: GULA CONSULTING LIMITED LIABILITY COMPANY
Reel/Frame 036915/0190 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 22, 2011
From: XEROX CORPORATION
To: YORANSO CONSULTING LIMITED LIABILITY COMPANY
Reel/Frame 025845/0123 →
RELEASE OF SECURITY INTEREST Recorded Nov 4, 2010
From: JP MORGAN CHASE BANK, NA
To: XEROX CORPORATION
Reel/Frame 025316/0134 →