System and method for describing and identifying 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;
a class of software module provided by one or more of the peer nodes;
a module class advertisement for the class of software module that defines a local behavior and an Application Programming Interface (API) for each of one or more peer-to-peer bindings that supports the class of software module, wherein the module class advertisement includes a module class identifier that uniquely identifies the class of software module; and
one or more module specification identifiers that each uniquely identifies one of one or more module specifications of the class of software module, wherein each module specification includes an indication of an expected on-wire behavior and one or more network protocols for a particular embodiment of the class of software module.
2 Assignments
0 Petitions
Accused Products
Abstract
System and method for describing and identifying 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. A module class advertisement may be generated for the module class. A unique module class identifier may be assigned to the module class. A role extension to the module class identifier may be generated for each instance of the module class that performs a different role in a context. 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. In one embodiment, there may be one or more module implementations for each module specification. In one embodiment, a module implementation advertisement may be generated for each module implementation.
-
Citations
74 Claims
-
1. A peer-to-peer network system, comprising:
-
a plurality of peer nodes coupled to a network;
a class of software module provided by one or more of the peer nodes;
a module class advertisement for the class of software module that defines a local behavior and an Application Programming Interface (API) for each of one or more peer-to-peer bindings that supports the class of software module, wherein the module class advertisement includes a module class identifier that uniquely identifies the class of software module; and
one or more module specification identifiers that each uniquely identifies one of one or more module specifications of the class of software module, wherein each module specification includes an indication of an expected on-wire behavior and one or more network protocols for a particular embodiment of the class of software module. - 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;
generate a module class advertisement for a class of software module hosted by the system on a peer-to-peer network, wherein the module class advertisement defines a local behavior and an Application Programming Interface (API) for each of one or more peer-to-peer bindings that supports the class of software module;
assign a module class identifier to the class of software module that uniquely identifies the class of software module; and
assign a different module specification identifier to each of one or more 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. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A peer-to-peer network system, comprising:
-
means for advertising a local behavior and an Application Programming Interface (API) for each of one or more peer-to-peer bindings that supports a class of software module hosted by one or more peer nodes of the peer-to-peer network system;
means for uniquely identifying the class of software module; and
means for specifying an expected on-wire behavior and one or more network protocols for one or more embodiments of the class of software module. - View Dependent Claims (19, 20, 21)
-
-
22. A method for describing and identifying abstract software modules, comprising:
-
one or more of a plurality of peers in a peer-to-peer network environment hosting a class of software module;
generating a module class advertisement for the class of software module, wherein the module class advertisement defines a local behavior and an Application Programming Interface (API) for each of one or more peer-to-peer bindings that supports the class of software module;
assigning a module class identifier to the class of software module that uniquely identifies the class of software module; and
assigning a different module specification identifier to each of one or more 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 - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30)
-
-
31. A computer-accessible medium comprising program instructions, wherein the program instructions are configured to implement:
-
generating a module class advertisement for a class of software module hosted by one or more of a plurality of peers in a peer-to-peer network environment, wherein the module class advertisement defines a local behavior and an Application Programming Interface (API) for each of one or more peer-to-peer bindings that supports the class of software module;
assigning a module class identifier to the class of software module that uniquely identifies the class of software module; and
assigning a different module specification identifier to each of one or more 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. - View Dependent Claims (32, 33, 34, 35, 36, 37, 38, 39)
-
-
40. A peer-to-peer network system, comprising:
-
a plurality of peer nodes coupled to a network;
a class of software module provided by one or more of the peer nodes;
a module class advertisement for the class of software module that defines a local behavior and an Application Programming Interface (API) for each of one or more peer-to-peer bindings that supports the class of software module;
one or more module specification advertisements for the module class advertisement, wherein each module specification advertisement describes a module specification including an expected on-wire behavior and a protocol of the class of software module; and
one or more module implementation advertisements for each module specification advertisement, wherein each module implementation advertisement describes a particular module implementation of a corresponding module specification, wherein the module implementation is configured to execute within a particular execution environment. - View Dependent Claims (41, 42, 43, 44, 45, 46, 47, 48)
-
-
49. A system, comprising:
-
a processor; and
a memory comprising program instructions, wherein the program instructions are executable by the processor to;
generate a module class advertisement for a class of software module hosted by the system that defines a local behavior and an Application Programming Interface (API) for each of one or more peer-to-peer bindings that supports the class of software module;
generate one or more module specification advertisements for the module class advertisement, wherein each module specification advertisement describes a module specification including an expected on-wire behavior and a protocol of the class of software module; and
generate one or more module implementation advertisements for each module specification advertisement, wherein each module implementation advertisement describes a particular module implementation of a corresponding module specification, wherein the module implementation is configured to execute within a particular execution environment. - View Dependent Claims (50, 51, 52, 53, 54, 55, 56, 57)
-
-
58. A peer-to-peer network system, comprising:
-
means for advertising a local behavior and an Application Programming Interface (API) for each of one or more peer-to-peer bindings that supports a class of software module hosted by one or more peer nodes of the peer-to-peer network system;
means for advertising one or more module specifications of the class of software module, wherein each module specification indicates an expected on-wire behavior and a protocol of the class of software module; and
means for advertising one or more module implementations for each module specification, wherein each module implementation is configured to execute within a particular execution environment. - View Dependent Claims (59, 60)
-
-
61. A method for describing and identifying abstract software modules, comprising:
-
one or more of a plurality of peers in a peer-to-peer network environment hosting a class of software module;
generating a module class advertisement for the class of software module, wherein the module class advertisement defines a local behavior and an Application Programming Interface (API) for each of one or more peer-to-peer bindings that supports the class of software module;
generating a module specification advertisement for the module class advertisement, wherein the module specification advertisement describes a module specification including expected on-wire behavior and protocol of the class of software module; and
generating a module implementation advertisement for the module specification advertisement, wherein the module implementation advertisement describes a module implementation of the module specification configured to execute within a particular execution environment. - View Dependent Claims (62, 63, 64, 65, 66, 67)
-
-
68. A computer-accessible 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 class of software module;
generating a module class advertisement for the class of software module, wherein the module class advertisement defines the local behavior and Application Programming Interface (API) for each of one or more peer-to-peer bindings that supports the class of software module;
generating a module specification advertisement for the module class advertisement, wherein the module specification advertisement describes a module specification including expected on-wire behavior and protocol of the class of software module; and
generating a module implementation advertisement for the module specification advertisement, wherein the module implementation advertisement describes a module implementation of the module specification configured to execute within a particular execution environment. - View Dependent Claims (69, 70, 71, 72, 73, 74)
-
Specification