1. A method comprising:
establishing a security protocol channel with a first endpoint;
receiving a resolution request from the first endpoint via the security protocol channel, wherein the resolution request includes data indicative of a second endpoint and the resolution request is in response to a data packet received at the first endpoint;
querying a next hop client database for a secure address for the second endpoint, wherein the first endpoint and the second endpoint are geographically separated nodes of a same enterprise network;
sending a resolution reply to the first endpoint including the secure address for the second endpoint; and
sending a message to the second endpoint, wherein the message includes a secure address for the first endpoint and a summary of the data packet received at the first endpoint.
2. The method of claim 1, further comprising:
receiving a registration request from the first endpoint; and
updating, in response to the registration request, the next hop client database to map the secure address from the registration request to the first endpoint.
3. The method of claim 1, wherein the registration request is generated by the first endpoint in response to receiving the data packet from the second endpoint.
4. The method of claim 3, wherein the first endpoint analyzes the data packet to determine whether the data packet is protected according to a global access list, wherein the resolution request is generated in response to the data packet being protected.
5. The method of claim 4, wherein the first endpoint is configured to drop the data packet without forwarding the data packet in response to the data packet being protected.
6. The method of claim 1, further comprising:
sending a negative acknowledgement to the first endpoint if the next hop client database does not have an entry for the second endpoint.
7. The method of claim 1, further comprising:
monitoring a predetermined specialized port associated with registration requests and resolution requests.
8. An apparatus comprising:
a communication interface configured to receive a resolution request from a first endpoint via a security protocol channel, wherein the resolution request includes data indicative of a second endpoint and the resolution request is in response to a data packet received at the first endpoint;
a controller configured to query a next hop client database for a secure address for the second endpoint, wherein the first endpoint and the second endpoint are geographically separated nodes of a same enterprise network and configured to generate a resolution reply to the first endpoint including the secure address for the second endpoint and generate a message to the second endpoint, wherein the message includes a secure address for the first endpoint and a summary of the data packet received at the first endpoint.
9. The apparatus of claim 8, wherein the controller is configured to update, in response to a registration request from the first endpoint, the next hop client database to map the secure address from the registration request to the first endpoint.
10. The apparatus of claim 8, wherein the controller is configured to generate a negative acknowledgement to the first endpoint if the next hop client database does not have an entry for the second endpoint.
11. A method comprising:
establishing a security protocol channel with a hub server;
receiving a data packet;
querying a policy database for a remote endpoint described in the data packet;
generating, at a local endpoint, a resolution request in response to an absence of the remote endpoint in the policy database;
sending the resolution request to the hub server via the security protocol channel, wherein the resolution request includes a summary of the data packet; and
generating an entry for the remote endpoint in the policy database in response to a reply received from the hub server in response to the resolution request.
12. The method of claim 11, further comprising:
generating a registration request for the local endpoint via the security protocol channel, wherein the registration request is configured to update a next hop client database of the hub server to include the local endpoint; and
receiving an acknowledgement reply from the hub server.
13. The method of claim 12, further comprising:
updating an access list for the remote endpoint in response to the acknowledgment reply from the hub server.
14. The method of claim 12, further comprising:
querying an access list for the remote endpoint; and
determining whether the data packet should be protected based on the access list.
15. The method of claim 14, further comprising:
dropping the data packet in response to the data packet being protected.
16. The method of claim 11, further comprising:
establishing a communication session between the local endpoint and the remote endpoint based on the entry for the remote endpoint in the policy database.
17. The method of claim 11, wherein the summary of the data packet includes a public address for the remote endpoint and the reply received from the hub server includes a protected address for the remote endpoint.
18. An apparatus comprising:
a communication interface configured to receive a data packet, wherein the data packet includes a first address of a remote endpoint; and
a controller configured to query a policy database for the remote endpoint using the first address, and generate, at a local endpoint, a resolution request in response to an absence of the remote endpoint in the policy database,
wherein the resolution request is sent to a hub server via a security protocol channel establishing between the hub server and the local endpoint,
wherein the resolution request includes a summary of the data packet.
19. The apparatus of claim 18, wherein the controller is configured to generate an entry for the remote endpoint in the policy database in response to a reply received from the hub server in response to the resolution request.
20. The apparatus of claim 18, wherein the controller is configured query an access list for the remote endpoint and drop the data packet in response to the data packet being listed as protected in the access list.
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 method of implementing power gating with a virtual rail voltage clamp of a semiconductor integrated circuit having a virtual ground rail comprising the steps of:
adding Nf quantity of NFETs to the integrated circuit between the virtual ground rail and a ground rail for power gating and virtual rail voltage clamping, where Nf is a number of footer devices required to produce a certain amount of leakage reduction in the integrated circuit;
adding Nmax-VC latches in a scan chain with the output of each latch coupled to a respective one of Nmax-VC NFETS of the Nf NFETS, so that the Nmax-VC NFETs act as virtual rail voltage clamps, where Nmax-VC is the maximum number of footer devices needed for said virtual ground rail to be substantially at a voltage value Vclamp, where Vclamp is a desired steady state voltage at the virtual ground rail; and
coupling the remaining (Nf\u2212Nmax-VC) NFETs to a control signal, Ssleep13n for causing the (Nf\u2212Nmax-VC) NFETs to act as footer devices for implementing power gating of the integrated circuit.
2. A method of implementing power gating with a virtual rail voltage clamp of a semiconductor integrated circuit having a virtual ground rail as set forth in claim 1, further comprising the steps of:
manufacturing and testing an integrated circuit;
determining Vact-clamp during said testing, where Vact-clamp is a measured steady state voltage at the virtual ground rail;
providing a VC_CNT table storing the number of footer devices (Nact-VC) that have to be turned off or on to change Vact-clamp to Vclamp, where Vclamp is the desired steady state voltage at the virtual ground rail, and
creating a scan pattern coupled to the Nmax-VC NFETs to produce a certain amount of leakage reduction in the logic circuit for ensuring that Nact-VC NFETs act as virtual rail voltage clamps.
3. A signal bearing medium tangibly embodying a program of machine-readable instructions executable by a digital processing apparatus to perform operations to implement power gating with a virtual rail voltage clamp of a semiconductor integrated circuit having a virtual ground node, the operations comprising:
adding Nf quantity of NFETs to the integrated circuit between the virtual ground rail and a ground rail for power gating and virtual rail voltage clamping, where Nf is the number of footer devices required to produce a certain amount of leakage reduction in the integrated circuit;
adding Nmax-Vc latches in a scan chain with the output of each latch coupled to a respective one of Nmax-VC NFETS of the Nf NFETS, so that the Nmax-VC NFETs act as virtual rail voltage clamps, where Nmax-VC is the maximum number of footer devices needed for said virtual ground rail to be substantially at a voltage value Vclamp, where Vclamp is the desired steady state voltage at the virtual ground rail; and
coupling the remaining (Nf\u2212Nmax-VC) NFETs to a control signal, Ssleep\u2014n, for causing the (Nf\u2212Nmax-VC) NFETs to act as footer devices for implementing power gating of the integrated circuit.
4. A signal bearing medium as set forth in claim 3, further comprising the operations of:
manufacturing and testing an integrated circuit;
determining Vact-clamp during said testing, where Vact-clamp is a measured steady state voltage at the virtual ground rail;
providing a VC_CNT table storing a number of footer devices (Nact-VC) that have to be turned off or on to change Vact-clamp to Vclamp, where Vclamp is the desired steady state voltage at the virtual ground rail, and
creating a scan pattern coupled to (Nf\u2212Nmax-VC) NFETs to produce a certain amount of leakage reduction in the logic circuit for ensuring that Nact-VC NFETs act as virtual rail voltage clamps.
5. A method of implementing power gating with a virtual rail voltage clamp of a semiconductor integrated circuit having a virtual power rail comprising the steps of:
adding Pf quantity of PFETs to the integrated circuit between the virtual power rail and a power rail for power gating and virtual rail voltage clamping, where Pf is a number of header devices required to produce a certain amount of leakage reduction in the integrated circuit;
adding Pmax-VC latches in a scan chain with the output of each latch coupled to a respective one of Pmax-VC PFETS of the Pf PFETS, so that the Pmax-VC PFETs act as virtual rail voltage clamps, where Pmax-VC is the maximum number of header devices needed for said virtual power rail to be substantially at a voltage value Vclamp, where Vclamp is a desired steady state voltage at the virtual power rail; and
coupling remaining (Pf\u2212Pmax-VC) PFETs to a control signal, Ssleep\u2014n, for causing the (Pf\u2212Pmax-VC) PFETs to act as header devices for implementing power gating of the integrated circuit.
6. A method of implementing power gating with a virtual rail voltage clamp of a semiconductor integrated circuit having a virtual power rail as set forth in claim 5, further comprising the steps of:
manufacturing and testing an integrated circuit;
determining Vact-clamp during said testing, where Vact-clamp is a measured steady state voltage at the virtual power rail;
providing a VC_CNT table storing a number of header devices (Pact-VC) that have to be turned off or on to change Vact-clamp to Vclamp, where Vclamp is the desired steady state voltage at the virtual power rail, and
creating a scan pattern coupled to the (Pf\u2212Pmax-VC) PFETs to produce a certain amount of leakage reduction in the logic circuit for ensuring that Pact-VC PFETs act as virtual rail voltage clamps.