System and method for multiplatform implementation of abstract software modules in peer-to-peer network environments
First Claim
1. A peer-to-peer network system, comprising:
- a plurality of peer nodes coupled to a network, wherein one or more of the plurality of peer nodes are configured to store;
a plurality of different classes of software modules provided by one or more of the peer nodes, wherein each different class of software module is instantiated on one or more of the peer nodes as a plurality of different module implementations of the module class;
a module class identifier for each different class of software module that uniquely identifies the respective class of software module;
a plurality of module specification identifiers that each uniquely identifies a different one of a plurality of different module specifications for each different class of software module, wherein each module specification specifies an expected on-wire behavior and one or more network protocols for a particular embodiment of a respective class of software module; and
a plurality of module implementation advertisements for each module specification, wherein each module implementation advertisement describes a different module implementation of a corresponding module specification, wherein each module implementation for a module specification is configured to execute within a different execution environment.
2 Assignments
0 Petitions
Accused Products
Abstract
System and method for multiplatform implementation of abstract software modules in peer-to-peer networking environments. A module class may have one or more module specifications. Each module specification may have one or more module implementations configured to execute within a particular execution environment. A unique module class identifier may be assigned to the module class. A unique module specification identifier may be assigned to each module specification of the module class. In one embodiment, a module specification advertisement may be generated for each module specification. A module implementation advertisement may be generated for each module implementation. In one embodiment, the module specification identifier of the corresponding module specification is included in each module implementation advertisement.
93 Citations
34 Claims
-
1. A peer-to-peer network system, comprising:
a plurality of peer nodes coupled to a network, wherein one or more of the plurality of peer nodes are configured to store; a plurality of different classes of software modules provided by one or more of the peer nodes, wherein each different class of software module is instantiated on one or more of the peer nodes as a plurality of different module implementations of the module class; a module class identifier for each different class of software module that uniquely identifies the respective class of software module; a plurality of module specification identifiers that each uniquely identifies a different one of a plurality of different module specifications for each different class of software module, wherein each module specification specifies an expected on-wire behavior and one or more network protocols for a particular embodiment of a respective class of software module; and a plurality of module implementation advertisements for each module specification, wherein each module implementation advertisement describes a different module implementation of a corresponding module specification, wherein each module implementation for a module specification is configured to execute within a different execution environment. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
9. A system, comprising:
-
a processor; and a memory comprising program instructions, wherein the program instructions are executable by the processor to; assign a module class identifier to a class of software module hosted by the system on a peer-to-peer network, wherein the module class identifier uniquely identifies the class of software module among a plurality of different classes of software modules provided by one or more peer nodes on the peer-to-peer network, wherein each different class of software module is instantiated on the one or more peer nodes as a plurality of different module implementations of the module class; assign a module specification identifier to each of a plurality of different module specifications of the class of software module, wherein each module specification identifier uniquely identifies a corresponding module specification, and wherein each module specification indicates an expected on-wire behavior and one or more network protocols for a particular embodiment of the class of software module; and generate a plurality of module implementation advertisements for each module specification, wherein each module implementation advertisement describes a different module implementation of a corresponding module specification, wherein each module implementation for a module specification is configured to execute within a different execution environment. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A peer-to-peer network system, comprising:
-
means for uniquely identifying each of a plurality of different classes of software modules hosted by one or more peer nodes of the peer-to-peer network system, wherein each different class of software module is instantiated on the one or more peer nodes as a plurality of different module implementations of the module class; means for uniquely identifying each of a plurality of module specifications for each different class of software module, wherein each module specification indicates an expected on-wire behavior and a protocol of a respective class of software module; and means for advertising a plurality of module implementations for each module specification, wherein each module implementation is configured to execute within a different execution environment. - View Dependent Claims (18)
-
-
19. A method for multiplatform implementation of an abstract software module, comprising:
-
one or more of a plurality of peers in a peer-to-peer network environment hosting a plurality of different classes of software modules, wherein each different class of software module is instantiated on one or more of the peers as a plurality of different module implementations of the module class; assigning a different module class identifier to each different class of software module, wherein each module class identifier uniquely identifies the respective class of software module; assigning a different module specification identifier to each of a plurality of different module specifications for each different class of software module, wherein each module specification identifier uniquely identifies a corresponding module specification, and wherein each module specification indicates an expected on-wire behavior and one or more network protocols for a particular embodiment of a respective class of software module; and generating a plurality of module implementation advertisements for each module specification, wherein each module implementation advertisement describes a different module implementation of a corresponding module specification, wherein each module implementation for a module specification is configured to execute within a different execution environment. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26)
-
-
27. A computer-accessible storage medium, comprising program instructions, wherein the program instructions are configured to implement:
-
one or more of a plurality of peers in a peer-to-peer network environment hosting a plurality of different classes of software modules, wherein each different class of software module is instantiated on one or more of the peers as a plurality of different module implementations of the module class; assigning a different module class identifier to each different class of software module, wherein each module class identifier uniquely identifies the respective class of software module; assigning a different module specification identifier to each of a plurality of different module specifications for each different class of software module, wherein each module specification identifier uniquely identifies a corresponding module specification, and wherein each module specification indicates an expected on-wire behavior and one or more network protocols for a particular embodiment of a respective class of software module; and generating a plurality of module implementation advertisements for each module specification, wherein each module implementation advertisement describes a different module implementation of a corresponding module specification, wherein each module implementation for a module specification is configured to execute within a different execution environment. - View Dependent Claims (28, 29, 30, 31, 32, 33, 34)
-
Specification