IP Library Patent Application 11545057
Patent Application
App. No. 11/545,057

Service and messaging infrastructure to support creation of distributed, peer to peer applications with a service oriented architecture

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 None
App. No.
11/545,057
Abstract

A system and method allowing engineers to create large scale, consumer oriented, distributed applications that utilize peer to peer messaging patterns and service oriented architectures. Applications built using the method produce operational cost curves typical of successful peer to peer systems. The system includes mechanisms to deal with reliably and securely sending messages over consumer grade networks that are inherently unreliable and insecure while still permitting direct, consumer-to-consumer messaging by virtue of an extensible Network Address Translation traversal strategy. The system and method allows for the creation of consumer applications by facilitating the identification, location and assembly of services running in a network on a plurality of devices. While the application of the system and method to the distribution of large digital media is readily apparent, the system and method is, in no way, limited to this domain.

Claims (37)

1 . A computer-readable medium having computer-readable instructions stored thereon that, upon execution by a processor, cause the processor to send a request for performing a service to a device in a network, the instructions comprising:

receiving a request to perform a service from an application executing at a first device;

establishing communication between the first device and a plurality of devices in a network;

selecting a second device to perform the service from the plurality of devices in the network;

determining the availability of the selected second device;

if the selected second device is not available, storing the request at a third device, the third device selected from the plurality of devices in the network and from the first device; and

if the selected second device is available, sending the request to the selected second device.

2 . The computer-readable medium of claim 1 , wherein the network is a peer-to-peer network.

3 . The computer-readable medium of claim 1 , wherein the request is an instance of a capability use request, the capability use request including a parameter associated with using a capability of the application.

4 . The computer-readable medium of claim 1 , wherein the third device is the first device.

5 . The computer-readable medium of claim 1 , wherein the instructions further comprise, receiving a response from the selected second device.

6 . The computer-readable medium of claim 5 , wherein the instructions further comprise, authenticating the received response.

7 . The computer-readable medium of claim 6 , wherein the instructions further comprise, rejecting the received response if the received response is not authenticated.

8 . The computer-readable medium of claim 6 , wherein the instructions further comprise, forwarding the received response to the application if the received response is authenticated.

9 . The computer-readable medium of claim 1 , wherein the instructions further comprise, identifying the resources at the first device.

10 . The computer-readable medium of claim 9 , wherein the instructions further comprise, sending the identified resources to at least one of the plurality of devices in the network.

11 . The computer-readable medium of claim 9 , wherein the resources are selected from the group consisting of a random access memory (RAM) of the first device, a type of RAM at the first device, a read only memory of the first device, a processor type of the first device, a processing speed of the first device, a network connection characteristic of the first device, and an application installed at the first device.

12 . The computer-readable medium of claim 1 , wherein sending the request uses a protocol selected from the group consisting of a bidirectional transmission control protocol, bidirectional hypertext transport protocol (HTTP), and polling HTTP.

13 . The computer-readable medium of claim 1 , wherein sending the request further comprises sending a security certificate.

14 . The computer-readable medium of claim 1 , wherein the second device is the first device.

15 . A method for sending a request for performing a service to a device in a network, the method comprising:

receiving a request to perform a service from an application executing at a first device;

establishing communication between the first device and a plurality of devices in a network;

selecting a second device to perform the service from the plurality of devices in the network;

determining the availability of the selected second device;

if the selected second device is not available, storing the request at the first device; and

if the selected second device is available, sending the request to the selected second device.

16 . A device, the device comprising:

a computer-readable medium having computer-readable instructions stored thereon, the instructions comprising

receiving a request to perform a service from an application executing at the device;

establishing communication between the device and a plurality of devices in a network;

selecting a second device to perform the service from the plurality of devices in the network;

determining the availability of the selected second device;

if the selected second device is not available, storing the request at the device; and

if the selected second device is available, sending the request to the selected second device;

a communication interface, the communication interface sending the request to the selected second device; and

a processor, the processor coupled to the communication interface and to the computer-readable medium and configured to execute the instructions.

Assignments (7)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 2, 2011
From: MMV CAPITAL PARTNERS INC.
To: DOUBLE FUSION INC.
Reel/Frame 027159/0619 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 9, 2011
From: MMV CAPITAL PARTNERS INC.
To: DOUBLE FUSION, INC.
Reel/Frame 026882/0110 →
SECURITY AGREEMENT Recorded Sep 9, 2011
From: DOUBLE FUSION, INC.
To: MMV CAPITAL PARTNERS INC.
Reel/Frame 026883/0683 →
SECURITY AGREEMENT Recorded Mar 2, 2011
From: BLUE NOODLE INC.
To: COMERICA BANK
Reel/Frame 025885/0044 →
CHANGE OF NAME Recorded Jan 14, 2011
From: NEOEDGE NETWORKS, INC.
To: BLUE NOODLE INC.
Reel/Frame 025642/0615 →
SECURITY AGREEMENT Recorded Jan 12, 2011
From: NEOEDGE NETWORKS, INC.
To: MMV FINANCE INC.
Reel/Frame 025622/0640 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 21, 2007
From: WOODS, STEVEN; SIMONS, DAVID; SLOUGH, KELLY; ILES, MICHAEL; MCMORRIS, PATRICK; CARRIERE, STEVEN JEROMY
To: NEOEDGE NETWORKS, INC.
Reel/Frame 018915/0017 →