Can we get high Bandwidth in Cluster strategy as we get in Star strategy of google nearby connections ? - google-nearby

We used nearby connection and tried both star and cluster strategy and noticed that in star strategy bandwidth is very high as compared to the bandwidth in cluster strategy.
The network structure which cluster strategy uses, best matches our requirements but we want to have a high bandwidth as we get in star strategy.
If its possible then how can we achieve this?

tldr; You can get high speeds with P2P_CLUSTER but only if both devices are connected to the same router.
The reason P2P_STAR and P2P_POINT_TO_POINT are more restrictive is so that technologies with the same restrictions can be used. P2P_STAR can do everything P2P_CLUSTER can do, but can additionally use Wifi hotspots (and similar technologies, like Wifi Direct). Likewise, P2P_POINT_TO_POINT can do everything P2P_STAR can do, but also with the inclusion of Wifi Aware. It's a tradeoff between flexibility and bandwidth.
As of today, these are the technologies behind each strategy. (Note: We're constantly adding more, and are open to suggestions).
P2P_CLUSTER:
Bluetooth Low Energy (BLE)
Bluetooth Classic
Wifi Local Area Network (LAN)
P2P_STAR:
Bluetooth Low Energy (BLE)
Bluetooth Classic
Wifi Local Area Network (LAN)
Wifi Hotspot
Wifi Direct
P2P_POINT_TO_POINT:
Bluetooth Low Energy (BLE)
Bluetooth Classic
Wifi Local Area Network (LAN)
Wifi Hotspot
Wifi Direct
Wifi Aware

Related

Speed of a Java Socket on LAN

I am just wondering if the speed of data going through a LAN socket should be relatively instantaneous or is there still a delay even though it is a local network.
From what I have been taught, The speed of the data is based more on your hardware than your software. Depending on if you use ethernet cables (faster) or WiFi waves (slower), the speed will vary. However, despite this, you should still expect nearly instantaneous speeds.

Restrict bandwidth in specific devices [wifi]

I wanted to restrict my wifi's bandwidth in some particular devices (specifically android). I searched up, and found QoS as a solution. But, as far as I have seen, QoS divides bandwidth on basis of priority. Means, if a laptop (with medium priority) and an android (with low priority) are connected to wlan, the android device gets low bandwidth.
But as soon as laptop is disconnected, android again consumes the maximum available bandwidth.
I wish to restrict bandwidth in terms of figures (Eg: 1Mbps for Wlan devices). Is there any way out to achieve this?
I'm using TP-LINK W8961ND modem.
There's no standards-based mechanism to do this. You need your wifi modem/router to provide this function in software. Many do in the enterprise market but not in the residential/SOHO market.
If your "modem" is not your router, you could also do it on your gateway device and only shape traffic going over the internet. For example pfsense is perfect for this.

Make a simple iphone app that can connect another bluetooth device

I know some basic about iOS programming, now i want to connect my app to another non iphone device e.g. connecting to a bluetooth device that can control a light bulb on and off, or control any furnitures.
My question is, besides iOS xcode, what kind of program i need to learn in order to achieve my goal?
Is there any sources that i can learn from it?
For Bluetooth Low Energy devices, you can use the CoreBluetooth framework to access them.
For Classic Bluetooth devices or accessories that make use of the Dock connector, the protocols are not open, and joining the Made for iPhone (MFi) program is required. I do not suggest this for beginning.
My suggestion is to buy for example a Polar Heart Rate Belt that supports Bluetooth Low Energy. These use standard protocols. Sample code is available from Apple that shows how to read out the heart rate from such a device.
As soon as you have mastered the heart rate monitor example, a next step would be to acquire a programmable Bluetooth Low Energy chip (however, often, the development tools for those are rather expensive!). Those chips can be programmed with custom profiles to listen for Bluetooth Low Energy connections and then performing defined operations (lighting a LED) when writes to characteristics occur. So, you are not limited to heart rate monitors and similar devices.
Keywords that you can search for: GATT protocol, Bluetooth Low Energy, CoreBluetooth.
I know that it's a steep learning curve for beginners, but the area is pretty new. However, I can assure you that it's a fun area.
I also think that you should look in to embedded C programming for the slave device (Heart Rate Monitor)
You could get a tod Smart Beacon Development kit for ~$150 and then use BGScript to code the firmware to control the BLE device from your phone or pc. todhq.com for more info.

Bluetooth vs. Wifi for iPhone data transfer

I'm working on adding sharing support to my iPhone app. Right now, I'm using Bonjour to create plain TCP connections over a wifi network. This works great, except that it turns out that many wifi networks in the real world (for example, those at Starbucks and other chains) forbid Bonjour publishing and discovery over their networks.
So that limits the usefulness of sharing, since one of the use cases we imagined was that people could bump into each other where wifi was available and seamlessly share data with each other.
Is Bluetooth a viable alternative for this? We're sending large amounts of data (PNG images) over the wire, so latency and throughput might be one issue.
(I'm also interested in any other ways to make it easy to transfer data between two iPhone apps)

Is it possible to connect iPhones through NAT traversal techniques over 3G for peer 2 peer gaming

Is it possible to connect an iPhone to another iPhone or any other network client talking that game's protocol.
I was thinking that I could use the same NAT Traversal technique used in the XBox 360 to host games on users XBox's through Firewalls.
For NAT traversal to work effectively I'd have to have a central server that would allow clients to "broadcast" that they were hosting so that another client could initiate the NAT connection. In the link provided this is called relaying.
Is there any inherent limitation of the US AT&T 3G network that will block the NAT traversal techniques (would you be limited to wifi firewall NAT traversal)?
NAT Traversal Projects:
- PJSIP - providing NAT traversal functionalities by using standard based protocols such as STUN, TURN, and ICE.
- Freecast using Apache MINA Java network library for NAT Traversal
iPhone OS 3.0 will have an API for multiplayer gaming and connectivity with over devices in your immediate area,
"You can find other iPhones and iPod Touches in a given area that are playing the same game as you; Forstall gives the example of two kids in the back of a car. iPhone 3.0 will automatically discover other applications over Bluetooth, and there's no pairing. "Completely seamless," he promises. Bonjour is the back-end technology behind this, and it's not just for games"
Sources: CNET Live Blog, and the Apple Special Event Quicktime Video It's about 20 minutes into the presentation.
If you are going for something more than playing with nearby devices, you will probably run into problems with bandwidth caps on the 3G network as well as latency issues depending on where users are located. Boonies with very sporadic 3G coverage vs. downtown major city USA with multiple cell towers concentrated in a small area. You may also run into a problem with AT&T depending on how much data the game is sending and receiving from the phone over the 3G network since multiplayer games require the players and the server (even if it's a player acting as one) to send information back and forth constantly. Interesting idea though!
Yes, it is possible.
Eyeball Networks has released a SDK for iPhone NAT Traversal
AT&T appear to use a randomized symmetric NAT - this means traversal is not possible between 2 iphones on their network without a relay server. What I don't know is if iPhones on AT&T can reach each other directly using their private addresses if they are on the same part of AT&T's network, or if there is some firewall. Last time I checked TMobile used a port restricted cone NAT, so traversal is possible between iPhones on TMobile, but not from TMobile to AT&T.
3G is a big problem. If you'd like to establish UDP connections with other players over 3G, you might want to try this technique:
https://drive.google.com/file/d/0B1IimJ20gG0SY2NvaE4wRVVMbG8/view?usp=sharing