IP Library Granted Patent US 7,640,297
Granted Patent B2
US 7,640,297 · App. 11/182,960 · Granted Dec 29, 2009

Protocol optimization for wireless networks

Assignee: Gemini Mobile Technologies, Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,640,297
App. No.
11/182,960
Granted
Dec 29, 2009
Kind
B2
Abstract

A system for improving the performance of on-demand mobile communications services includes a wireless network having a plurality of mobile devices and an application server. A relay node receives data from a first mobile device, the data having a destination address associated with the application server. The relay node is adapted to detect a service flag in the received data and route the received data to a second mobile device in accordance with stored routing rules. The received data may be transmitted using the UDP protocol, including error correction code for important data to guarantee packet delivery. A client device may be further adapted to track the duration of idle communications periods during operation of a client application, and transmit a dummy packet to the gaming server when the duration exceed a predetermined threshold to prevent the relinquishment of allocated system resources.

Claims (47)

1. In a wireless network including a plurality of mobile devices a relay node and a gaming server, a method for online gaming comprising:

receiving, by the relay node, gaming data from a first mobile device, the gaming data having a destination address associated with the gaming server;

detecting, by the relay node, a service flag in the received gaming data prior to the gaming data being processed by the gaming server, wherein the service flag is set by the first mobile device;

routing, by the relay node, the received gaming data to a second mobile device, bypassing the gaming server corresponding to the destination address in the gaming data, in accordance with stored routing rules if the service flag is set; and

routing, by the relay node, the received gaming data to the gaming server in accordance with the destination address if the service flag is not set.

2. The method of claim 1 wherein the step of routing further comprises routing the received gaming data to a third mobile device.

3. The method of claim 1 wherein the step of routing, by the relay node, the received gaming data to the second mobile device further comprises routing, by the relay node, the received gaming data to a second relay node servicing the second mobile device.

4. The method of claim 1 wherein the received gaming data has a UDP format.

5. The method of claim 1 further comprising receiving, by the relay node, the routing rules from the gaming server.

6. The method of claim 1 , wherein the service flag is set when the gaming data does not require processing by the gaming server.

7. The method of claim 1 , further comprising routing gaming data to each of the gaming server and to the second mobile device during a single gaming session based on the detected service flag.

8. The method of claim 1 , wherein the gaming data does not include a client destination address associated with the second mobile device.

9. The method of claim 1 , wherein the first mobile device comprises a relay library including program instructions stored within a memory of the first mobile device which, when executed by a processor of the first mobile device, cause the first mobile device to:

determine whether the gaming data is of a type that requires processing by the gaming server, or is of a type that may be routed to at least the second mobile device without being processed by the gaming server; and

set the service flag if gaming data is of the that type that may be routed to at least the second mobile device without being processed by the gaming server.

10. A wireless client device for use in a multiplayer online wireless gaming system, the wireless client device comprising:

a client application stored in a memory of the client device and adapted to generate gaming data during a gaming session, wherein the gaming data includes a destination address associated with a gaming server; and

a relay library including program instructions stored in the memory which, when executed by a processor of the client device, cause the client device to:

determine whether the generated gaming data is of a type that requires processing by the gaming server, or is of a type that may be routed to a destination client device without being processed by the gaming server; and

transmit the gaming data to the gaming server, wherein the gaming data includes a header having a service flag that is set only if the gaming data does not require processing by the gaming server, wherein the service flag is set by the client device.

11. The client device of claim 10 wherein the transmitted gaming data includes an error correction code.

12. The client device of claim 11 wherein the error correction code includes interleaved data.

13. The client device of claim 10 wherein the memory further includes a monitoring application including program instructions for causing the client device to:

track the duration of idle communications periods during the operation of the client application; and

transmit a dummy packet to the gaming server when the duration exceeds a predetermined threshold.

14. The client device of claim 13 wherein the monitoring application further includes program instructions for causing the client device to transmit a first billing notification to a billing server when the monitoring application is launched.

15. The client device of claim 14 wherein the monitoring application further includes program instructions for causing the client device to transmit a second billing notification to the billing server when the monitoring application is terminated.

16. The wireless client of claim 10 , wherein the gaming data is to bypass the gaming server and be routed to a second wireless client device without regard to the destination address when the service flag is set.

17. In a wireless network including a plurality of mobile devices and an application server connected through a data network, a relay node comprising:

an interface to the data network;

a memory storing routing rules; and

a program memory including program instructions stored in a computer-readable storage medium which, when executed by a processor, cause the relay node to:

detect a service flag in received gaming data from the wireless network, the gaming data including a source address of a first mobile device and a destination address of the application server prior to the gaming data being processed by the application server, wherein the service flag in the received gaming data is set by the first mobile device,

route the received gaming data to a second mobile device in accordance with the stored routing rules if the service flag is set, and

route the received gaming data to the application server in accordance with the destination address if the service flag is not set.

18. The relay node of claim 17 wherein the received gaming data is also routed to a third mobile device in accordance with the stored routing rules if the service flag is set.

19. The relay node of claim 17 wherein the received gaming data is routed to a second relay node servicing the second mobile device.

20. The relay node of claim 17 wherein the interface includes functionality for handling UDP data.

21. The relay node of claim 17 wherein the stored routing rules are received from the application server.

22. The relay node of claim 17 wherein the program memory further includes program instructions for causing the relay node to route the received gaming data to the application server if the service flag is not set.

23. The relay node of claim 17 wherein the application server is a PTT server and the received gaming data includes PTT communications data.

24. The relay node of claim 17 wherein the program memory further includes program instructions for causing the relay node to generate and store a call detail record for the received gaming data.

25. The relay node of claim 17 , wherein the service flag is set when the gaming data does not require processing by the application server.

26. The relay node of claim 17 , wherein the program memory further includes program instructions for causing the relay node to route gaming data to each of the application server and to the second mobile device during a single gaming session based on the detected service flag.

27. The relay node of claim 17 , wherein the first mobile device comprises a relay library including program instructions stored within a memory of the first mobile device which, when executed by a processor of the first mobile device, cause the first mobile device to:

determine whether the gaming data is of a type that requires processing by the application server, or is of a type that may be routed to at least the second mobile device without being processed by the application server; and

set the service flag if gaming data is of the that type that may be routed to at least the second mobile device without being processed by the application server.

Assignments (10)
SECURITY INTEREST Recorded Aug 19, 2024
From: CLOUDIAN HOLDINGS INC.
To: AVIDBANK
Reel/Frame 068332/0854 →
RELEASE OF SECURITY INTEREST Recorded Aug 12, 2024
From: SILICON VALLEY BANK
To: CLOUDIAN HOLDINGS INC.
Reel/Frame 068254/0994 →
SECURITY INTEREST Recorded Aug 23, 2023
From: CLOUDIAN HOLDINGS INC.
To: FIRST-CITIZENS BANK & TRUST COMPANY, AS AGENT
Reel/Frame 064671/0010 →
SECURITY INTEREST Recorded Jul 14, 2023
From: CLOUDIAN HOLDINGS INC.
To: SILICON VALLEY BANK
Reel/Frame 064252/0451 →
RELEASE OF SECURITY INTEREST Recorded Jan 11, 2021
From: HERCULES CAPITAL, INC., AS AGENT
To: CLOUDIAN HOLDINGS INC.
Reel/Frame 054881/0403 →
SECURITY INTEREST Recorded Nov 6, 2018
From: CLOUDIAN HOLDINGS INC.
To: HERCULES CAPITAL, INC., AS AGENT
Reel/Frame 047426/0441 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 16, 2012
From: GEMINI MOBILE TECHNOLOGIES, INC.
To: GREENOUGH CONSULTING GROUP
Reel/Frame 028798/0668 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 16, 2012
From: GREENOUGH CONSULTING GROUP
To: POLLUX CASTOR CORPORATION
Reel/Frame 028800/0270 →
CHANGE OF NAME Recorded Aug 16, 2012
From: POLLUX CASTOR CORPORATION
To: CLOUDIAN HOLDINGS INC.
Reel/Frame 028801/0447 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2006
From: OBATA, HITOSHI
To: GEMMINI MOBILE TECHNOLOGIES, INCORPORATED
Reel/Frame 017847/0317 →
Continuity (1)
Related Publication 20070014292A1 · Jan 18, 2007