IP Library Granted Patent US 7,296,042
Granted Patent B2
US 7,296,042 · App. 09/838,933 · Granted Nov 13, 2007

System and method for enabling communication among arbitrary components

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,296,042
App. No.
09/838,933
Granted
Nov 13, 2007
Kind
B2
Abstract

Methods and systems for enabling arbitrary components to communicate with each other. The communication system includes a first set of components associated with one or more universal interfaces that include mobile code. The one or more universal interfaces comprise a data source interface, a data sink interface, an aggregation interface, a mutable aggregation interface, a context interface, a notification interface or a user interface. Further, the universal interfaces associated with the first set of components can be provided to and implemented by a second set of components to enable the second set of components to communicate with the first set of components despite the first set and the second set of component utilizing different communication mediums or protocols.

Claims (45)

1. A system for enabling one or more arbitrary components to communicate with each other, the system comprising:

a first component associated with one or more universal interfaces, wherein the one or more universal interfaces comprise executable code and data;

a second component obtaining one of the one or more universal interfaces associated with the first component, wherein the second component includes a discovery mechanism configured to discover the first component;

wherein the second component automatically invokes at least one of the universal interfaces to communicate with the first component; and

wherein the second component and the first component do not share a standard communication protocol which is distinct from a discovery protocol that is part of the discovery mechanism.

2. The system as set forth in claim 1 wherein the first component transfers a data object to the second component, the data object having the one or more universal interfaces.

3. The system as set forth in claim 1 wherein the first component transfers a data object to the second component, the data object having instructions and data for accessing the one or more universal interfaces.

4. The system as set forth in claim 1 wherein the second component has instructions and data for accessing a data object, the data object having the one or more universal interfaces.

5. The system as set forth in claim 1 wherein the second component interacts with an operating system environment, the operating system environment having instructions and data for accessing a data object having the one or more universal interfaces.

6. The system as set forth in claim 1 wherein the second component has instructions and data for using the one or more universal interfaces.

7. The system as set forth in claim 1 wherein a third component transfers a data object to the second component, the data object having the one or more universal interfaces associated with the first component.

8. The system as set forth in claim 1 wherein the one or more universal interfaces comprise a data source interface, a data sink interface, an aggregation interface, a mutable aggregation interface, a context interface, a notification interface or a user interface.

9. The system as set forth in claim 1 wherein the one or more universal interfaces comprise object-oriented mobile code having instructions for obtaining, interpreting, viewing or modifying data associated with one or more collections of components, providing one or more user interfaces to allow one or more components to be accessed or manipulated, allowing one or more components to provide event notifications or retrieving contextual data associated with the second component.

10. The system as set forth in claim 1 wherein one of the one or more universal interfaces comprise a source-specific data transfer session having instructions for converting data transferred through the source-specific data transfer session.

11. The system as set forth in claim 1 wherein the one or more arbitrary components comprise a computer system, device, network service, application, data, memory, file directory or individual file.

12. A method for enabling one or more arbitrary components to communicate with each other, the method comprising:

performing a discovery operation at a second component to discover a first component;

obtaining one of one or more universal interfaces associated with the first component at the second component, wherein the one or more universal interfaces comprise executable code and data;

automatically invoking at least one of the universal interfaces at the second component to communicate with the first component; and

wherein the second component and the first component do not share a standard communication protocol which is distinct from a discovery protocol that is part of the discovery operation.

13. The method as set forth in claim 12 further comprising transferring a data object to a second component, the data object having the one or more universal interfaces.

14. The method as set forth in claim 12 further comprising transferring a data object to a second component, the data object having instructions and data for enabling the second component to use the one or more universal interfaces.

15. The method as set forth in claim 12 further comprising transferring a data object to a second component, the second component having instructions and data for enabling it to use the one or more universal interfaces.

16. The method as set forth in claim 12 wherein a second component interacts with an operating system environment, the operating system environment having instructions and data for enabling the second component to use the one or more universal interfaces.

17. The method as set forth in claim 12 wherein a second component performs instructions for using the one or more universal interfaces.

18. The method as set forth in claim 12 wherein a third component transfers a data object to a second component, the data object having the one or more universal interfaces associated with the first component.

19. The method as set forth in claim 12 wherein the one or more universal interfaces comprise a data source interface, a data sink interface, an aggregation interface, a mutable aggregation interface, a context interface, a notification interface or a user interface.

20. The method as set forth in claim 12 wherein the one or more universal interfaces comprise object-oriented mobile code having instructions for obtaining, interpreting, viewing or modifying obtaining, viewing or modifying data associated with a collection of components, providing an interface to allow requested components to be accessed or manipulated directly, allowing requested components to provide the one or more other components with status updates of the requested components or retrieving contextual data associated with the second component.

21. The method as set forth in claim 12 wherein one of the one or more universal interfaces comprise a source-specific data transfer session having instructions for converting data transferred through the source-specific data transfer session.

22. The method as set forth in claim 12 wherein the one or more arbitrary components comprise a device, network service, application, data, memory, file directory or individual file.

23. A computer readable medium having stored thereon instructions for enabling one or more arbitrary components to communicate with each other, which when executed by one or more processors, causes the processors to perform the steps of:

discovering a first component at a second component;

obtaining one of one or more universal interfaces associated with the first component at the second component, wherein the one or more universal interfaces comprise executable code and data;

automatically invoking at least one of the universal interfaces at the second component to communicate with the first component; and

wherein the second component and the first component do not share a standard communication protocol which is distinct from a discovery protocol that is part of the discovering step.

24. The medium as set forth in claim 23 further comprising transferring a data object to a second component, the data object having the one or more universal interfaces.

25. The medium as set forth in claim 23 further comprising transferring a data object to a second component, the data object having instructions and data for enabling the second component to use the one or more universal interfaces.

26. The medium as set forth in claim 23 further comprising transferring a data object to a second component, the second component having instructions and data for enabling it to use the one or more universal interfaces.

27. The medium as set forth in claim 23 wherein a second component interacts with an operating system environment, the operating system environment having instructions and data for enabling the second component to use the one or more universal interfaces.

28. The medium as set forth in claim 23 wherein a second component performs instructions for using the one or more universal interfaces.

29. The medium as set forth in claim 23 wherein a third component transfers a data object to a second component, the data object having the one or more universal interfaces associated with the first component.

30. The medium as set forth in claim 23 wherein the one or more universal interfaces comprise a data source interface, a data sink interface, an aggregation interface, a mutable aggregation interface, a context interface, a notification interface or a user interface.

31. The medium as set forth in claim 23 wherein the one or more universal interfaces comprise object-oriented mobile code having instructions for obtaining, interpreting, viewing or modifying obtaining, viewing or modifying data associated with a collection of components, providing an interface to allow requested components to be accessed or manipulated directly, allowing requested components to provide the one or more other components with status updates of the requested components or retrieving contextual data associated with the second component.

32. The medium as set forth in claim 23 wherein one of the one or more universal interfaces comprise a source-specific data transfer session having instructions for converting data transferred through the source-specific data transfer session.

33. The medium as set forth in claim 23 wherein the one or more arbitrary components comprise a device, network service, application, data, memory, file directory or individual file.

Assignments (10)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 21, 2023
From: MIND FUSION, LLC
To: THINKLOGIX, LLC
Reel/Frame 064357/0554 →
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 →
RELEASE OF SECURITY INTEREST Recorded Sep 7, 2022
From: JPMORGAN CHASE BANK, N.A. AS SUCCESSOR-IN-INTEREST ADMINISTRATIVE AGENT AND COLLATERAL AGENT TO BANK ONE, N.A.
To: XEROX CORPORATION
Reel/Frame 061388/0388 →
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: BANK ONE, NA
To: XEROX CORPORATION
Reel/Frame 025315/0792 →
RELEASE OF SECURITY INTEREST Recorded Nov 4, 2010
From: JP MORGAN CHASE BANK, NA
To: XEROX CORPORATION
Reel/Frame 025316/0134 →