1460707351-7fb16cb3-d8fc-458a-af6b-06191c5dfbf6

1. A method for a cellular mobile communications system, comprising the steps of:
selecting an active set of base stations from a plurality of base stations, wherein each base station in said active set is capable of providing parallel radio links with a mobile station;
transmitting a packet from the mobile station on a radio uplink;
transmitting, from each of the base stations of the active set to the mobile station, a measure of the quality of the radio uplink made during receipt of said packet;
selecting, by said mobile station, only one base station from the active set of base stations based upon said quality measures;
transmitting information identifying the selected base station from the mobile station; and,
forwarding the previously-received packet on a fixed link only from the selected base station.
2. The method according to claim 1, wherein all the active set base stations provide parallel radio downlinks to the mobile station.
3. The method of claim 1, wherein the measure of the radio uplink quality is an acknowledgement sent in response from one or more of the active set radio base stations upon said packet being received.
4. The method of claims 1, wherein the measure of the radio uplink quality is a transmitted power command.
5. The method of claim 1, wherein the measure of the radio link quality is a signal to interference ratio.
6. The method of claim 1, wherein the selecting step is made before transmission of said packet and the link quality predicting step is based on the measure received by the mobile station with respect to one or more packets transmitted previously to said packet.
7. The method according to claim 1, wherein said packet is segmented into two or more segments for transmission in subsequent radio frames and the selected base station reassembles the segments into said packet.
8. The method of claim 3, wherein one or more base stations that have positively acknowledged all previously transmitted segments of said packet are the only ones designated for reception of subsequent segments of said packet.
9. A mobile station for use in a cellular communications system, comprising:
means for transmitting a packet to be received by two or more base stations;
means for receiving a measure of radio link quality experienced by said two or more base stations during the data packet transmission;
a posteriori selecting means for selecting, based upon said measures, only one of said base stations after said packet has been transmitted from the mobile station; or, alternatively, a priori selecting means comprising means for predicting the radio link quality and adapted for selecting only one of said base stations based on prediction of said radio link qualities before said packet is transmitted; and,
means for transmitting uplink information identifying said one of the active set base stations that is selected for the packet to be forwarded on a fixed link by the selected base station.
10. The mobile station of claim 9, further comprising means for receiving packets transmitted from two or more radio base stations in parallel and combining the packets.
11. The mobile station of claim 10, wherein said combining is maximum ratio combining.
12. The mobile station of claim 9, wherein said measure of radio link quality is one or more acknowledgements on the receipt of the transmitted packets.
13. The mobile station of claim 9, wherein said measure of radio link quality is a transmit power command received from said base stations.
14. The mobile station of claim 9, wherein said measure of radio link quality is a signal to interference ratio.
15. The mobile station of claim 9, further comprising means for segmenting the packet into segments fitting into radio blocks.
16. The mobile station of claim 15, as dependent on the a posteriori selection, wherein the mobile station power control is controlled by power commands received only from one or more of said base stations that have reported positive acknowledgements with respect to the transmitted segments of the relevant packet.
17. The mobile station of claim 9, adapted for transmitting the information on the priori selected base station with the relevant packet.
18. The mobile station of claim 9, wherein said prediction means uses a measure of radio link quality received in response to one or more previously transmitted packets.
19. The mobile station of claim 9, operative to adjust its output power to the commands received from the a priori selected base station only.
20. A base station having means to receive a packet from a mobile station and means to send an acknowledgement to the mobile station in response to the received packet, said base station comprising:
means for detecting information from the mobile station that identifies a specific base station selected by said mobile station for forwarding said received packet; and,
means for selectively forwarding the received packet further in a connected radio network only when said detecting means detects that the base station is identified as being selected by said mobile station.
21. The base station of claim 20, adapted for receiving said information subsequent to the packet being received by the MS.
22. The base station of claim 20, adapted for receiving said information with said packet.
23. The base station of claim 20, wherein the detection means are adapted for receiving the selection information on a packet-by-packet basis.
24. The base station of claim 20, further comprising means for timing downlink transmission of radio frames by use of a synchronisation signal received via an interface to a fixed part of the network for parallel transmission of radio frames from all base stations of an active set.

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 implemented by a base station in a wireless communication network for supporting small data transmissions by a wireless device, said method comprising:
associating a preconfigured device identifier for the wireless device with a tunnel between the base station and a serving gateway;
receiving, at the base station, a medium access control packet from the wireless device over a wireless communication channel via a lightweight communication protocol, said medium access control packet including application data transmitted by the wireless device for delivery to a destination device, said lightweight communication protocol comprising a protocol stack consisting essentially of an application layer, a media access control layer, and a physical layer;
mapping the preconfigured device identifier of the wireless device to the associated tunnel; and
forwarding a data packet containing said application data to said serving gateway through the associated tunnel.
2. The method of claim 1 wherein forwarding said application data to said serving gateway comprises:
adding, based on the preconfigured device identifier, a predetermined header including a destination network address to said application data to create the data packet; and
forwarding the data packet to the serving gateway through the associated tunnel.
3. The method of claim 1 wherein mapping the device identifier to the associated tunnel comprises:
storing the preconfigured device identifier in a mapping table that associates one or more device identifiers for different wireless devices with corresponding tunnels between the base station and the serving gateway; and
using the preconfigured device identifier to look up the associated tunnel in the mapping table.
4. The method of claim 1 wherein the data packet comprises an Internet Protocol packet and wherein the network address comprises an Internet Protocol address.
5. The method of claim 1 wherein the medium access control packet includes the preconfigured device identifier of the wireless device.
6. The method of claim 1 further comprising:
sending a periodic scheduling grant to said wireless device, said periodic scheduling grant including the preconfigured device identifier;
wherein said medium access control packet is received responsive to one of said periodic scheduling grants.
7. The method of claim 6 wherein the preconfigured device identifier in the periodic scheduling grant is used to map the received medium access control packet to the associated tunnel.
8. The method of claim 1 further comprising:
receiving a random access request from the wireless device; and
sending a random access response to the wireless device responsive to said random access request, said random access response including an uplink grant for the small data transmission;
wherein the medium access control packet is received from the wireless device responsive to said uplink grant.
9. A base station in a wireless communication network for supporting small data transmissions by a wireless device, the base station comprising:
a transceiver circuit configured to transmit and receive signals over a wireless communication channel; and
a processing circuit coupled to said transceiver circuit and configured to:
associate a preconfigured device identifier for the wireless device with a tunnel between the base station and a serving gateway;
receive a medium access control packet from the wireless device over a wireless communication channel via a lightweight communication protocol, said medium access control packet including application data transmitted by the wireless device for delivery to a destination device, said lightweight communication protocol comprising an application layer but not including a radio link control layer;
map the preconfigured device identifier of the wireless device to the associated tunnel; and
forward a data packet containing said application data to said serving gateway through tunnel.
10. The base station of claim 9 wherein the processing circuit is configured to forward said application data to said serving gateway by:
adding, based on the preconfigured device identifier, a predetermined header including a destination network address to said application data to create the data packet; and
forwarding the data packet to the serving gateway through the tunnel.
11. The base station of claim 9 wherein the processing circuit is configured to map the preconfigured device identifier to the associated tunnel by:
storing the preconfigured device identifier in a mapping table that associates one or more preconfigured device identifiers for different wireless devices with corresponding tunnels between the base station and the serving gateway; and
using the preconfigured device identifier to look up the associated tunnel in the mapping table.
12. The base station of claim 9 wherein the data packet comprises an Internet Protocol packet including a network address comprising an Internet Protocol address.
13. The base station of claim 9 wherein the medium access control packet includes the preconfigured device identifier.
14. The base station of claim 9 wherein the processing circuit is further configured to:
send a periodic scheduling grant to the wireless device, said periodic scheduling grant including the preconfigured device identifier;
wherein said medium access control packet is received responsive to one of said periodic scheduling grants.
15. The method of claim 14 wherein the preconfigured device identifier in the periodic scheduling grant is used to map the received medium access control packet to the associated tunnel.
16. The base station of claim 9 wherein the processing circuit is further configured to:
receive a random access request from the wireless device; and
send a random access response to the wireless device responsive to said random access request, said random access response including an uplink grant for the small data transmission;
wherein the medium access control packet is received from the wireless device responsive to said uplink grant.
17. A method of asynchronous small data transmission implemented by a wireless device in a wireless communication network, said method comprising:
sending application data to a destination device by:
generating a medium access control packet comprising a preconfigured device identifier and the application data, wherein the preconfigured device identifier is reserved for asynchronous small data transmissions to the destination device; and
transmitting the medium access control packet over a wireless communication channel to a serving base station via a lightweight communication protocol, said lightweight communication protocol comprising a protocol stack consisting essentially of an application layer, a media access control layer, and a physical layer;

wherein the preconfigured device identifier is associated with a tunnel between the serving base station and a serving gateway, the associated tunnel configured to forward the application data to the destination device.
18. The method of claim 17 further comprising:
sending a random access request message to said serving base station over a random access channel; and
receiving, responsive to said random access request message, a random access response message including an uplink grant assigning resources for the asynchronous small data transmission;
wherein the medium access control packet is transmitted over said assigned resources.
19. The method of claim 17 further comprising:
receiving a periodic scheduling grant to said wireless device, said periodic scheduling grant including the preconfigured device identifier;
wherein said medium access control packet is transmitted responsive to one of said periodic scheduling grants.
20. The method of claim 17 wherein the preconfigured device identifier comprises an Asynchronous Radio Network Temporary Identifier (A-RNTI).
21. A wireless device configured for asynchronous small data transmissions with a destination device, said wireless device comprising:
a transceiver circuit configured to transmit and receive signals over a wireless communication channel; and
a processing circuit coupled to said transceiver circuit and configured to:
generate a medium access control packet comprising a preconfigured device identifier and application data, wherein the preconfigured device identifier is reserved for asynchronous small data transmissions with the destination device; and
transmit the medium access control packet over the wireless communication channel to a serving base station via a lightweight communication protocol, said lightweight communication protocol comprising a protocol stack consisting essentially of an application layer, a media access control layer, and a physical layer;

wherein the preconfigured device identifier is associated with a tunnel between the serving base station and a serving gateway, the associated tunnel configured to forward the application data to the destination device.
22. The wireless device of claim 21 wherein the processing circuit is further configured to:
send a random access request message to said serving base station over a random access channel; and
receive, responsive to said random access request message, a random access response message including an uplink grant assigning resources for the asynchronous small data transmission;
wherein the medium access control packet is transmitted over said assigned resources.
23. The wireless device of claim 21 wherein the processing circuit is further configured to:
receive a periodic scheduling grant from the serving base station, said periodic scheduling grant including the preconfigured device identifier;
wherein said medium access control packet is transmitted responsive to one of said periodic scheduling grants.
24. The wireless device of claim 21 wherein the preconfigured device identifier comprises an Asynchronous Radio Network Temporary Identifier (A-RNTI).

1460707348-c1ba90a5-d5c5-4b6b-818e-b910f45f788d

1. An ESD (Electrostatic Discharge) analysis device comprising:
a circuit simulation unit configured to execute a circuit simulation of design data of a semiconductor integrated circuit including a plurality of circuits of a plurality of power supply systems, to calculate potentials in a plurality of current paths between pads of different two of said plurality of power supply systems, when one of an ESD current and an ESD voltage is applied between said pads;
a border cell extraction unit configured to extract border cells from circuits of said different two of the plurality of power supply systems, wherein said circuits are included in said plurality of circuits, said border cells input andor output signals between said circuits; and
a check unit configured to check an ESD tolerance by calculating a potential difference between said border cells, based on said calculated potentials, said extracted border cells.
2. The ESD analysis device according to claim 1, wherein said check unit calculates said potential difference for each pair of said border cells.
3. The ESD analysis device according to claim 1, wherein said circuit simulation unit executes said circuit simulation of each pair of said pads of said different two of said plurality of power supply systems, and
said check unit checks said ESD tolerance by comparing a maximum value of said potential difference with a reference value in said each pair of said pads.
4. The ESD analysis device according to claim 1, wherein said circuit simulation unit executes said circuit simulation of each pair in said plurality of power supply systems, and
said check unit checks said ESD tolerance of said each pair in said plurality of power supply systems.
5. The ESD analysis device according to claim 1, further comprising:
a circuit element extraction unit configured to extract circuit elements of wiring resistances and power protection elements placed between said pads and between one of said pads and one of said border cells based on said design data,
wherein said circuit simulation unit executes said circuit simulation based on said extracted circuit elements.
6. The ESD analysis device according to claim 5, wherein said circuit element extraction unit extracts said circuit elements by assuming said wiring resistances and power protection elements to be resistors.
7. The ESD analysis device according to claim 6, wherein said circuit element extraction unit converts said power protection elements to said resistors based on previously calculated resistivity of said power protection elements and a size of said power protection elements.
8. The ESD analysis device according to claim 1, wherein said border cell extraction unit searches said border cells by an equipotential trace on a power supply wiring between each of cells and a power source in said semiconductor integrated circuit, and said equipotential trace on inputoutput signals between said cells.
9. A computer program product for ESD (Electrostatic Discharge) analysis, embodied on a non-transitory computer-readable medium and comprising code that, when executed, causes a computer to perform the following:
specifying a first pad and a second pad in a design data of a semiconductor integrated circuit which includes:
a first circuit connected to a first power supply wiring and a first common power supply wiring,
a second circuit connected to a second power supply wiring and a second common power supply wiring, and inputting and outputting signals to and from said first circuit,
said first pad connected to said first power supply wiring,
said second pad connected to said second power supply wiring,
a first power protection element placed between said first pad and said first common power supply wiring, and
a second power protection element placed between said second pad and said second common power supply wiring;

executing a circuit simulation of said design data to calculate potentials in a resistor network which indicates a plurality of current paths between said first pad and said second pad, based on said network and one of an ESD current and an ESD voltage applied between said first pad and said second pad;
extracting a first border cell from said first circuit and a second border cell from said second circuit, wherein said first border cell inputs and outputs signals to and from said second border cell;
calculating a potential difference between a potential at a connection portion of said first power supply wiring with said first border cell and a potential at a connection point of said second power supply wiring with said second border cell, based on said calculated potentials, said extracted first and second border cells; and
checking an ESD tolerance based on said calculated potential difference.
10. The computer program product according to claim 9, wherein said specifying step to said calculating step are performed for each pair of said first border cell and said second border cell.
11. The computer program product according to claim 9, wherein said executing step includes: replacing said first and second power protection elements with resistors in advance.
12. The computer program product according to claim 11, wherein said design data of the semiconductor integrated circuit further includes:
a third pad connected to a third power supply wiring, and
a third power protection element placed between said third power supply wiring and one of said first and second common power supply wirings, and
wherein said executing step includes:
replacing said third power protection element with a resistor of which resistance value is higher than that of each of said first and second power protection element in advance.
13. The computer program product according to claim 11, wherein said replacing step includes:
converting said first and second power protection elements to said resistors based on previously calculated resistivity of said first and second power protection elements and a size of said first and second power protection elements.
14. A method of designing a semiconductor device, comprising:
carrying out a logic synthesis process and an automatic layout process to generate a design data of a semiconductor integrated circuit which includes:
a first circuit connected to a first power supply wiring and a first common power supply wiring,
a second circuit connected to a second power supply wiring and a second common power supply wiring, and inputting and outputting signals to and from said first circuit,
a first pad connected to said first power supply wiring,
a second pad connected to said second power supply wiring,
a first power protection element placed between said first pad and said first common power supply wiring, and
a second power protection element placed between said second pad and said second common power supply wiring;

specifying said first pad and said second pad in said design data of the semiconductor integrated circuit;
executing a circuit simulation of said design data to calculate potentials in a resistor network which indicates a plurality of current paths between said first pad and said second pad, based on said network and one of an ESD current and an ESD voltage applied between said first pad and said second pad;
extracting a first border cell from said first circuit and a second border cell from said second circuit, wherein said first border cell inputs and outputs signals to and from said second border cell;
calculating a potential difference between a potential at a connection portion of said first power supply wiring with said first border cell and a potential at a connection point of said second power supply wiring with said second border cell, based on said calculated potentials, said extracted first and second border cells; and
checking, by a computer, an ESD tolerance based on said calculated potential difference.
15. The method of designing a semiconductor device, according to claim 14, wherein said specifying step to said calculating step are performed for each of all pairs of said first border cell and said second border cell.
16. The method of designing a semiconductor device, according to claim 14, wherein said executing step includes:
replacing said first and second power protection elements with resistors in advance.
17. The method of designing a semiconductor device, according to claim 16, wherein said design data of the semiconductor integrated circuit further includes:
a third pad connected to a third power supply wiring, and
a third power protection element placed between said third power supply wiring and one of said first and second common power supply wirings, and
wherein said executing step includes:
replacing said third power protection element with a resistor of which resistance value is higher than that of each of said first and second power protection element in advance.
18. The method of designing a semiconductor device, according to claim 16, wherein said replacing step includes:
converting said first and second power protection elements to said resistors based on previously calculated resistivity of said first and second power protection elements and a size of said first and second power protection elements.
19. The method of designing a semiconductor device, according to claim 16, wherein said carrying out step includes:
performing said specifying step to said checking step based on a design data after routing of power wirings which is generated after routing of power wirings in said automatic layout process.
20. The method of designing a semiconductor device, according to claim 19, wherein said carrying out step includes:
predicting a potential difference between said first border cell and said second border cell in a case where said first and second border cells are placed at respective positions of said first and second circuits by the ESD analysis,
storing positions of said first and second border cells in which said potential difference does not exceed an upper limit of a predetermined potential difference reference as a border cell layout position restriction data, and
placing said first and second border cells based on said border cell layout position restriction data.
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 computer program product comprising:
a computer readable storage medium; and
computer usable code stored on the computer readable storage medium, where, if executed by a processor, the computer usable code causes a computer to:
detect a request to acquire a lock associated with a shared resource in a multi-threaded execution environment including a first thread and a second thread;
deny the request if a lock redundancy component that is to include the lock and at least one other lock is satisfied and an execution context component that is to include a function call chain to be associated with the lock and the at least one other lock is satisfied to permit access to the shared resource without acquiring the lock for the shared resource; and
grant the request if one or more of the lock redundancy component is not satisfied and the execution context component is not satisfied to allow access to the shared resource when the lock is acquired based on the grant of the request.
2. The computer program product of claim 1, wherein the lock redundancy component is to include the lock associated with the shared resource and one other lock associated with one other shared resource, wherein the lock associated with the shared resource is to be held by the second thread and the one other lock associated with the one other resource is to be held by the first thread prior to issuance of the request, wherein the first thread is to release the lock associated with the one other shared resource when the first thread no longer accesses the shared resource, and wherein a third thread is to acquire the lock associated with the one other shared resource.
3. The computer program product of claim 2, wherein each function of the function call chain is to utilize at least the one other lock.
4. The computer program product of claim 1, wherein, if executed, the computer usable code causes a computer to:
detect a release of a subject lock by a thread;
determine that a use of the subject lock by the thread is necessary when one or more shared resources are accessed while the subject lock is acquired and while no other locks are acquired, and is apparently unnecessary when the one or more shared resources are accessed while the subject lock is acquired and while other locks are acquired.
5. The computer program product of claim 4, wherein, if executed, the computer usable code causes a computer to:
identify one or more lines of code of the thread that acquire the subject lock; and
determine that the use of the subject lock by the one or more lines of code is one of necessary and apparently unnecessary.
6. The computer program product of claim 1, wherein, if executed, the computer usable code causes a computer to:
detect a request to acquire a subject lock by a thread;
continue a process by the thread without acquiring the subject lock when a use of the subject lock by the thread is determined to be apparently unnecessary and not necessary, wherein the use is necessary when one or more shared resources are accessed while the subject lock is acquired and while no other locks are acquired, and is apparently unnecessary when the one or more shared resources are accessed while the subject lock is acquired and while other locks are acquired.
7. The computer program product of claim 6, wherein, if executed, the computer usable code causes a computer to:
identify one or more lines of code of the thread that request to acquire the subject lock; and
continue the process by the one or more lines of code without acquiring the subject lock based on a determination that the use of the subject lock by the one or more lines of code is apparently unnecessary and is not necessary.
8. The computer program product of claim 6, wherein, if executed, the computer usable code causes a computer to:
determine that another thread has not acquired the subject lock;
grant the request to allow access to the shared resource by the thread when the subject lock is acquired by the thread based on a determination that the use of the subject lock by the thread is not apparently unnecessary and is necessary; and
track that the acquisition of the lock by the thread has not yet caused a task switch.
9. The computer program product of claim 6, wherein, if executed, the computer usable code causes a computer to:
determine that another thread has acquired the lock;
grant the request to allow access to the shared resource by the thread when the subject lock is acquired by the thread based on a determination that the use of the subject lock by the thread is not apparently unnecessary and is necessary; and
track that the acquisition of the lock by the thread is to cause a task switch.
10. A method comprising:
detecting a request to acquire a lock associated with a shared resource in a multi-threaded execution environment including a first thread and a second thread;
denying the request if a lock redundancy component that includes the lock and at least one other lock is satisfied and an execution context component that includes a function call chain associated with the lock and the at least one other lock is satisfied to permit access to the shared resource without acquiring the lock for the shared resource; and
granting the request if one or more of the lock redundancy component is not satisfied and the execution context component is not satisfied to allow access to the shared resource when the lock is acquired based on the grant of the request.
11. The method of claim 10, wherein the lock redundancy component includes the lock associated with the shared resource and one other lock associated with one other shared resource, wherein the lock associated with the shared resource is held by the second thread and the one other lock associated with the one other resource is held by the first thread prior to issuance of the request, wherein the first thread releases the lock associated with the one other shared resource when the first thread no longer accesses the shared resource, and wherein a third thread acquires the lock associated with the one other shared resource.
12. The method of claim 11, wherein each function of the function call chain utilizes at least the one other lock.
13. The method of claim 10, further including:
detecting a release of a subject lock by a thread;
determining that a use of the subject lock by the thread is necessary when one or more shared resources are accessed while the subject lock is acquired and while no other locks are acquired, and is apparently unnecessary when the one or more shared resources are accessed while the subject lock is acquired and while other locks are acquired.
14. The method of claim 13, further including:
identifying one or more lines of code of the thread that acquire the subject lock; and
determining that the use of the subject lock by the one or more lines of code is one of necessary and apparently unnecessary.
15. The method of claim 10, further including:
detecting a request to acquire a subject lock by a thread;
continuing a process by the thread without acquiring the subject lock when a use of the subject lock by the thread is determined to be apparently unnecessary and not necessary, wherein the use is necessary when one or more shared resources are accessed while the subject lock is acquired and while no other locks are acquired, and is apparently unnecessary when the one or more shared resources are accessed while the subject lock is acquired and while other locks are acquired.
16. The method of claim 15, further including:
identifying one or more lines of code of the thread that request to acquire the subject lock; and
continuing the process by the one or more lines of code without acquiring the subject lock based on a determination that the use of the subject lock by the one or more lines of code is apparently unnecessary and is not necessary.
17. The method of claim 15, further including:
determining that another thread has not acquired the subject lock;
granting the request to allow access to the shared resource by the thread when the subject lock is acquired by the thread based on a determination that the use of the subject lock by the thread is not apparently unnecessary and is necessary; and
tracking that the acquisition of the lock by the thread has not yet caused a task switch.
18. The method of claim 15, further including:
determining that another thread has acquired the lock;
granting the request to allow access to the shared resource by the thread when the subject lock is acquired by the thread based on a determination that the use of the subject lock by the thread is not apparently unnecessary and is necessary; and
tracking that the acquisition of the lock by the thread is to cause a task switch.