A user reported a problem in a mobile app we support. Our app is a native app for Android and iPhone. We searched our server application logs for users with similar problems and found that over 90% of the users with this bug are using IP addresses like 173.209.211.* and 173.209.212.*
A WHOIS on any of these addresses shows:
NetRange: 184.108.40.206 - 220.127.116.11 CIDR: 18.104.22.168/19 NetName: HOSTEDSOLUTIONS-1 NetHandle: NET-173-209-192-0-1 Parent: NET173 (NET-173-0-0-0-0) NetType: Direct Assignment OriginAS: Organization: Hosted Data Solutions, LLC (HDSL-5) RegDate: 2009-09-28 Updated: 2014-03-13 Ref: http://whois.arin.net/rest/net/NET-173-209-192-0-1 OrgName: Hosted Data Solutions, LLC OrgId: HDSL-5 Address: 8125 Highwoods Palm Way City: Tampa StateProv: FL PostalCode: 33647 Country: US RegDate: 2013-12-18 Updated: 2014-11-13 Ref: http://whois.arin.net/rest/org/HDSL-5
I believe that Hosted Data Solutions LLC is the Internet Service Provider for Walmart's Straight Talk prepaid phone service.
The bug we see could be explained if the IP address used by the client changes between requests. Does Straight Talk do some kind of IP Address pooling or Network Address Translation for its client devices? Is it possible that the IP address from the client we see in our server logs changes between requests from the same client?
I know that Straight Talk sells unlimited prepaid data plans, but once a user hits a maximum data threshold (most plans seem to have a 3GB threshold), the user's data gets throttled until the next billing cycle. The fine print on the Straight Talk web site says:
30 day Unlimited Plans include 3 GB of high speed data per 30 day cycle. After 3 GB, your data speed will be reduced for the remainder of the 30 day cycle. High speed data is restored once a new 30 day service plan is redeemed at the end of the 30 day plan cycle.
When a user hits their data threshold and their service is throttled, can someone tell me how the network behavior changes? How does throughput and latency change? Is it possible that throttled users are placed into some shared IP pool and their addresses change on each request?