1460938398-af96f751-093d-4958-a910-e96790cd33ef

1. A method of run-time dependency resolution, the method comprising:
loading one or more dependency descriptors from an archive file used to distribute a software project;
determining that a class is to be loaded at run-time;
selecting a first dependency descriptor from the one or more dependency descriptors based on information associated with the class;
requesting the class from a dependency repository based on information associated with the class and information associated with the first dependency descriptor;
receiving the class from the dependency repository;
loading the class;
determining a package for the dependency repository;
loading the package;
extracting a class file from the package;
splitting the class file into one or more fragments based on a predetermined fragment size in bytes;
tagging each of the one or more fragments with information associated with the class file and the package; and
transmitting each of the one or more tagged fragments to the dependency repository.
2. The method of claim 1 wherein the archive file is selected from a group consisting of a Java archive (JAR), a web archive (WAR), and an enterprise archive (EAR).
3. The method of claim 1 wherein the information associated with the class includes a class name.
4. The method of claim 1 wherein the dependency repository is a dependency cluster having a plurality of dependency nodes.
5. The method of claim 4 wherein requesting the class from the dependency repository comprises requesting the class from a first one of the dependency nodes in the dependency cluster.
6. The method of claim 1 wherein the first dependency descriptor includes a project identifier and a version for a project associated with the class.
7. The method of claim 1 wherein the first dependency descriptor includes a group identifier, an artifact identifier, and a version for a project associated with the class.
8. The method of claim 1 wherein loading of the one or more dependency descriptors from the archive file comprises reading a dependency descriptor file stored in the archive file.
9. The method of claim 8 wherein the dependency descriptor file is stored in a metadata directory of the archive file.
10. The method of claim 1 wherein receiving the class from the dependency repository includes receiving a class file.
11. The method of claim 1 wherein the information associated with the package includes a second dependency descriptor associated with the package.
12. The method of claim 1 wherein transmitting each of the one or more tagged fragments to the dependency repository comprises transmitting each of the one or more tagged fragments to a number of dependency nodes in the dependency archive based on a replication factor.
13. A non-transitory machine-readable medium comprising a first plurality of machine-readable instructions which when executed by one or more processors associated with one or more computing systems are adapted to cause the one or more processors to perform a method comprising:
loading one or more dependency descriptors from an archive file used to distribute a software project;
determining that a class is to be loaded at run-time;
selecting a first dependency descriptor from the one or more dependency descriptors based on information associated with the class;
requesting the class from a dependency repository based on information associated with the class and information associated with the first dependency descriptor;
receiving the class from the dependency repository;
loading the class;
determining a package for the dependency repository;
loading the package;
extracting a class file from the package;
splitting the class file into one or more fragments based on a predetermined fragment size in bytes;
tagging each of the one or more fragments with information associated with the class file and the package; and
transmitting each of the one or more tagged fragments to the dependency repository.
14. A system for management of dependencies, the system comprising:
a deployment platform including one or more processors and memory storing an archive; and
a dependency cluster including a plurality of dependency nodes;
wherein:
the one or more processors are running an augmented Java virtual machine (AJVM) including a class loader;
the class loader loads a class at run-time as requested by the AJVM by selecting a dependency descriptor for the class based on information associated with the class, requesting the class from a first dependency node selected from the plurality of dependency nodes, and receiving the class from the first dependency node; and
the first dependency node:
receives a request for the class from the class loader;
determines information about the class from the request;
loads zero or more first fragments from memory of the first dependency node based on the information about the class, each of the first fragments corresponding to a corresponding first portion of a class file split into fragments based on a predetermined fragment size in bytes;
requests zero or more second fragments from other dependency nodes selected from the plurality of dependency nodes based on the information about the class, each of the second fragments corresponding to a corresponding second portion of the class file;
assembles the class using the first fragments and the second fragments; and
returns the assembled class.
15. The system of claim 14 wherein the first dependency node further validates the assembled class.
16. The system of claim 14 wherein the information about the class includes information associated with the selected dependency descriptor.
17. The system of claim 14 wherein the assembled class includes the class file.

The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.

1. A network switch comprising:
a first media access controller (MAC) coupled to a plurality of ports;
a transmitter coupled to the first MAC; and
packet queuing control (PQC) coupled to a receiver, wherein the PQC includes:
a main queue for storing information corresponding to one or more data packets to be transmitted from the network switch as unicast transmissions; and
a broadcast queue for storing information corresponding to one or more data packets to be transmitted from the network switch as broadcast transmissions, said information including at least one pointer to a next location in the main queue corresponding to a memory location from which data is to be transmitted.
2. The network switch of claim 1 wherein the broadcast queue comprises a plurality of port queues, wherein each of the plurality of port queues corresponds to one of the plurality of ports.
3. The network switch of claim 2 wherein the plurality of port queues comprise:
a first port queue for storing information corresponding to one or more data packets to be transmitted from a first of the plurality of ports; and
a second port queue for storing information corresponding to one or more data packets to be transmitted from a second of the plurality of ports.
4. The network switch of claim 2 wherein the information stored in the main queue and the broadcast queue includes a port number from which a data packet stored in a corresponding memory location is to be transmitted.
5. The network switch of claim 4 wherein the information stored in the main queue and the broadcast queue further includes a pointer to the next queue location from which a data packet stored in a corresponding memory location is to be transmitted.
6. The network switch of claim 5 wherein pointers to a next queue are stored in the main queue for unicast transactions and stored in the plurality of broadcast port queues for broadcast transactions.
7. The network switch of claim 1 further comprising:
address resolution logic (ARL) coupled to the PQC and the receiver; and
and a second MAC coupled to the receiver.
8. A packet queuing control (PQC) comprising:
a main queue for storing information corresponding to one or more data packets to be transmitted from a network switch as unicast transactions and information corresponding to one or more data packets to be transmitted from the network switch as broadcast transactions; and
a broadcast queue for storing information corresponding to one or more data packets to be transmitted from a network switch as broadcast transactions.
9. The PQC of claim 8 wherein the broadcast queue comprises a plurality of port queues, wherein each of the plurality of port queues corresponds to one of the plurality of ports.
10. The PQC of claim 9 wherein the plurality of port queues comprise:
a first port queue for storing information corresponding to one or more data packets to be transmitted from a first of the plurality of ports; and
a second port queue for storing information corresponding to one or more data packets to be transmitted from a second of the plurality of ports.
11. The PQC of claim 9 wherein the information stored in the main queue and the broadcast queue includes a port number from which a data packet stored in a corresponding memory location is to be transmitted.
12. The PQC of claim 11 wherein the information stored in the main queue and the broadcast queue further includes a pointer to the next queue location from which a data packet stored in a corresponding memory location is to be transmitted.
13. The PQC of claim 12 wherein pointers to a next queue are stored in the main queue for unicast transactions and stored in the plurality of broadcast port queues for broadcast transactions.
14. A method comprising:
receiving a first data packet at a first input port coupled to a network switch; determining whether the first data packet is to be transmitted from the network switch as a unicast transaction; and
if so, storing a pointer in a main queue corresponding to the next location in the main queue corresponding to a memory location from which data is to be transmitted from the network switch;
otherwise, storing a plurality of pointers in a broadcast queue corresponding to one or more next locations in the main queue corresponding to a memory location from which data is to be transmitted from the network switch.
15. The method of claim 14 wherein the process of storing a plurality of pointers comprises:
storing the pointer in a first port queue in the broadcast queue, wherein the first port queue corresponds to a first output port coupled to the network switch; and
storing the pointer in a second port queue in the broadcast queue, wherein the second port queue corresponds to a second output port coupled to the network switch.
16. The method of claim 15 further comprising:
transmitting the first data packet from the network switch via the first output port;
and transmitting the first data packet from the network switch via the second output port.