IP Library Granted Patent US 12,231,337
Granted Patent B2
US 12,231,337 · App. 18/106,237 · Granted Feb 18, 2025

Route optimization using star-mesh hybrid topology in localized dense ad-hoc networks

Inventors: David Ko (East York, CA); Liam O'Hagan (Walkerton, CA); Stefan Warner (Markham, CA); Leo Tolisano (North York, CA)
Assignee: DIGITAL LUMENS INCORPORATED
H04L45/745H04L45/122H04W4/80H04W84/18
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 12,231,337
App. No.
18/106,237
Granted
Feb 18, 2025
Kind
B2
Abstract

Optimized routing in localized dense networks is provided. A packet is received at a first network device in a network. An optimal route for the packet to a neighbor network device in the network is determined using a Source Routing Table (SRT), wherein the SRT includes an optimized routing table and a standard routing table, and wherein the optimized routing table comprises a list of neighbor network devices that the first network device can route to directly and wherein the standard routing table comprises a ZigBee source routing table. The packet is routed using the optimal route.

Claims (95)

1. A method comprising:

receiving a packet at a first network device in a network;

determining an optimal route for the packet to a neighbor network device in the network using a Source Routing Table (SRT), wherein the SRT includes an optimized routing table and a standard routing table;

routing the packet to the neighbor network device using the optimal route; and

maintaining the SRT, wherein maintaining the SRT comprises:

determining whether a route in the SRT is one-hop optimized; and

in response to determining the route to be one-hop optimized or not to be one-hop optimized, sending a test packet directly to the neighbor network device with no intermediary hops,

wherein maintaining the SRT further comprises:

when the route is determined not to be one-hop optimized, sending the test packet directly to the neighbor network device with no intermediary hops using a one-hop optimized route,

when sending the test packet fails, canceling a maintaining process for the route, and

when sending the test packet succeeds, resending the test packet directly to the neighbor network device with no intermediary hops a predetermined number of times at predetermined intervals, such that if the resending is successful each time, routing all future non-test packets to the neighbor network device using the one-hop optimized route.

2. The method of claim 1 , wherein determining the optimal route for the packet comprises:

determining the optimal route for the packet using the SRT including i) the optimized routing table that comprises a list of neighbor network devices that the first network device can route to directly and ii) the standard routing table that comprises a ZigBee source routing table.

3. The method of claim 1 , wherein maintaining the SRT further comprises:

when the route is determined to be one-hop optimized, sending the test packet directly to the neighbor network device with no intermediary hops without using a one-hop optimized route;

when sending the test packet succeeds, canceling a maintaining process for the route; and

when sending the test packet fails, setting the route as not one-hop optimized and routing all future non-test packets to the neighbor network device using the standard routing table of the SRT.

4. The method of claim 1 , wherein the route is a route to or from a concentrator in the SRT, and wherein maintaining the SRT further comprises:

when the route to or from the concentrator in the SRT is determined not to be one-hop optimized, determining whether the concentrator is in a neighbor table and whether a link quality of a link to the concentrator is good;

when either i) the concentrator is not in the neighbor table or ii) the link quality is not good, repeating determining whether the route to or from the concentrator in the SRT is one-hop optimized after a predetermined time interval;

when either i) the concentrator is in a neighbor table or ii) the link quality is good, sending a test packet directly to the concentrator with no intermediary hops;

when sending the test packet fails, canceling a maintaining process for the route; and

when sending the test packet is successful, sending again a predetermined number of times, and if all are successful, setting the route as one-hop optimized and routing all future non-test packets to the concentrator using the one-hop optimized routing table of the SRT.

5. The method of claim 1 , wherein the route is a route to or from a concentrator in the SRT, and wherein maintaining the SRT further comprises:

when the route to or from the concentrator in the SRT is determined to be one-hop optimized and a link quality of a link to the concentrator is determined to be good, sending a predetermined number of test packets to or from the concentrator;

when sending the test packet succeeds, canceling a maintaining process for the route;

when sending the test packet fails, setting the route as not one-hop optimized and routing all future non-test packets to or from the concentrator using the standard routing table of the SRT; and

when the route to or from the concentrator in the SRT is determined to be one-hop optimized and the link quality is determined to be not good, repeating determining whether the route to or from the concentrator in the SRT is one-hop optimized after a predetermined time interval.

6. A computer program product, stored on a non-transitory computer readable medium, including instructions of optimized routing in localized dense networks that, when executed on a processor in communication with the non-transitory computer readable medium, cause the processor to perform operations of:

receiving a packet at a first network device in a network;

determining an optimal route for the packet to a neighbor network device in the network using a Source Routing Table (SRT), wherein the SRT includes an optimized routing table and a standard routing table;

routing the packet to the neighbor network device using the optimal route; and

maintaining the SRT, wherein maintaining the SRT comprises:

determining whether a route in the SRT is one-hop optimized; and

in response to determining the route to be one-hop optimized or not to be one-hop optimized, sending a test packet directly to the neighbor network device with no intermediary hops,

wherein maintaining the SRT further comprises:

when the route is determined not to be one-hop optimized, sending the test packet directly to the neighbor network device with no intermediary hops using a one-hop optimized route,

when sending the test packet fails, canceling a maintaining process for the route, and

when sending the test packet succeeds, resending the test packet directly to the neighbor network device with no intermediary hops a predetermined number of times at predetermined intervals, such that if the resending is successful each time, routing all future non-test packets to the neighbor network device using the one-hop optimized route.

7. The computer program product of claim 6 , wherein the instructions cause the processor to perform further operations of:

determining the optimal route for the packet using the SRT including i) the optimized routing table that comprises a list of neighbor network devices that the first network device can route to directly and ii) the standard routing table that comprises a ZigBee source routing table.

8. The computer program product of claim 6 , wherein the instructions for maintaining the SRT cause the processor to perform further operations of:

when the route is determined to be one-hop optimized, sending the test packet directly to the neighbor network device with no intermediary hops without using a one-hop optimized route;

when sending the test packet succeeds, canceling a maintaining process for the route; and

when sending the test packet fails, setting the route as not one-hop optimized and routing all future non-test packets to the neighbor network device using the standard routing table of the SRT.

9. The computer program product of claim 6 ,

wherein the route is a route to or from a concentrator in the SRT, and

wherein the instructions for maintaining the SRT cause the processor to perform further operations of:

when the route to or from the concentrator in the SRT is determined not to be one-hop optimized, determining whether the concentrator is in a neighbor table and whether a link quality of a link to the concentrator is good;

when either i) the concentrator is not in the neighbor table or ii) the link quality is not good, repeating determining whether the route to or from the concentrator in the SRT is one-hop optimized after a predetermined time interval;

when either i) the concentrator is in a neighbor table or ii) the link quality is good, sending a test packet directly to the concentrator with no intermediary hops;

when sending the test packet fails, canceling a maintaining process for the route; and

when sending the test packet is successful, sending again a predetermined number of times, and if all are successful, setting the route as one-hop optimized and routing all future non-test packets to the concentrator using the one-hop optimized routing table of the SRT.

10. The computer program product of claim 6 ,

wherein the route is a route to or from a concentrator in the SRT, and

wherein the instructions for maintaining the SRT cause the processor to perform further operations of:

when the route to or from the concentrator in the SRT is determined to be one-hop optimized and a link quality of a link to the concentrator is determined to be good, sending a predetermined number of test packets to or from the concentrator;

when sending the test packet succeeds, canceling a maintaining process for the route;

when sending the test packet fails, setting the route as not one-hop optimized and routing all future non-test packets to or from the concentrator using the standard routing table of the SRT; and

when the route to or from the concentrator in the SRT is determined to be one-hop optimized and the link quality is determined to be not good, repeating determining whether the route to or from the concentrator in the SRT is one-hop optimized after a predetermined time interval.

11. A network device comprising:

a memory;

a processor;

a communications interface; and

an interconnection mechanism coupling the memory, the processor, and the communications interface;

wherein the memory is encoded with an application to optimize routing in localized dense networks, that when performed on the processor, provides a process to optimize routing in localized dense networks, the process causing the network device to perform operations of:

receiving a packet at a first network device in a network;

determining an optimal route for the packet to a neighbor network device in the network using a Source Routing Table (SRT), wherein the SRT includes an optimized routing table and a standard routing table;

routing the packet to the neighbor network device using the optimal route; and

maintaining the SRT, wherein maintaining the SRT comprises:

determining whether a route in the SRT is one-hop optimized; and

in response to determining the route to be one-hop optimized or not to be one-hop optimized, sending a test packet directly to the neighbor network device with no intermediary hops,

wherein maintaining the SRT further comprises:

when the route is determined not to be one-hop optimized, sending the test packet directly to the neighbor network device with no intermediary hops using a one-hop optimized route,

when sending the test packet fails, canceling a maintaining process for the route, and

when sending the test packet succeeds, resending the test packet directly to the neighbor network device with no intermediary hops a predetermined number of times at predetermined intervals, such that if the resending is successful each time, routing all future non-test packets to the neighbor network device using the one-hop optimized route.

12. The network device of claim 11 , wherein the optimized routing table comprises a list of neighbor network devices that the first network device can route to directly, and wherein the standard routing table comprises a ZigBee source routing table.

13. The network device of claim 11 , wherein maintaining the SRT further comprises:

when the route is determined to be one-hop optimized, sending the test packet directly to the neighbor network device with no intermediary hops without using a one-hop optimized route;

when sending the test packet succeeds, canceling a maintaining process for the route; and

when sending the test packet fails, setting the route as not one-hop optimized and routing all future non-test packets to the neighbor network device using the standard routing table of the SRT.

14. The network device of claim 11 ,

wherein the route is a route to or from a concentrator in the SRT, and

wherein maintaining the SRT further comprises:

when the route to or from the concentrator in the SRT is determined not to be one-hop optimized, determining whether the concentrator is in a neighbor table and whether a link quality of a link to the concentrator is good;

when either i) the concentrator is not in the neighbor table or ii) the link quality is not good, repeating determining whether the route to or from the concentrator in the SRT is one-hop optimized after a predetermined time interval;

when either i) the concentrator is in a neighbor table or ii) the link quality is good, sending a test packet directly to the concentrator with no intermediary hops;

when sending the test packet fails, canceling a maintaining process for the route;

and when sending the test packet is successful, sending again a predetermined number of times, and if all are successful, setting the route as one-hop optimized and routing all future non-test packets to the concentrator using the one-hop optimized routing table of the SRT.

15. The network device of claim 11 ,

wherein the route is a route to or from a concentrator in the SRT, and

wherein maintaining the SRT further comprises:

when the route to or from the concentrator in the SRT is determined to be one-hop optimized and a link quality of a link to the concentrator is determined to be good, sending a predetermined number of test packets to or from the concentrator; when sending the test packet succeeds, canceling a maintaining process for the route;

when sending the test packet fails, setting the route as not one-hop optimized and routing all future non-test packets to or from the concentrator using the standard routing table of the SRT; and

when the route to or from the concentrator in the SRT is determined to be one-hop optimized and the link quality is determined to be not good, repeating determining whether the route to or from the concentrator in the SRT is one-hop optimized after a predetermined time interval.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 4, 2023
From: KO, DAVID; O'HAGAN, LIAM; WARNER, STEFAN; TOLISANO, LEO
To: OSRAM SYLVANIA INC.
Reel/Frame 063532/0504 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 4, 2023
From: OSRAM SYLVANIA INC.
To: DIGITAL LUMENS INCORPORATED
Reel/Frame 063532/0520 →
Continuity (5)
Continuation 17209135 · Mar 22, 2021
Continuation 16297442 · Mar 8, 2019
Continuation 15058192 · Mar 2, 2016
Provisional Application 62232699 · Sep 25, 2015
Related Publication 20230188466A1 · Jun 15, 2023
References Cited (130)
US 5521852A · Hibbs et al. · 1996 [cited by applicant]
US 5521853A · Hibbs et al. · 1996 [cited by applicant]
US 5640792A · Smith et al. · 1997 [cited by applicant]
US 5739639A · Johnson · 1998 [cited by applicant]
US 5895986A · Walters et al. · 1999 [cited by applicant]
US 6028396A · Morrissey, Jr. et al. · 2000 [cited by applicant]
US 6035266A · Williams et al. · 2000 [cited by applicant]
US 6359555B1 · Williams · 2002 [cited by applicant]
US 6370489B1 · Williams et al. · 2002 [cited by applicant]
US 6384722B1 · Williams · 2002 [cited by applicant]
US 6393381B1 · Williams et al. · 2002 [cited by applicant]
US 6415245B2 · Williams et al. · 2002 [cited by applicant]
US 6452339B1 · Morrissey et al. · 2002 [cited by applicant]
US 6452340B1 · Morrissey et al. · 2002 [cited by applicant]
US 6456960B1 · Williams et al. · 2002 [cited by applicant]
US 6604062B2 · Williams et al. · 2003 [cited by applicant]
US 6714895B2 · Williams et al. · 2004 [cited by applicant]
US 6807516B2 · Williams et al. · 2004 [cited by applicant]
US 6841944B2 · Morrissey et al. · 2005 [cited by applicant]
US 6892168B2 · Williams et al. · 2005 [cited by applicant]
US 7256556B2 · Lane et al. · 2007 [cited by applicant]
US 7333903B2 · Walters et al. · 2008 [cited by applicant]
US 7379981B2 · Elliott et al. · 2008 [cited by applicant]
US 7501768B2 · Lane et al. · 2009 [cited by applicant]
US 7529594B2 · Walters et al. · 2009 [cited by applicant]
US 7546167B2 · Walters et al. · 2009 [cited by applicant]
US 7546168B2 · Walters et al. · 2009 [cited by applicant]
US 7603184B2 · Walters et al. · 2009 [cited by applicant]
US 7761260B2 · Walters et al. · 2010 [cited by applicant]
US 7839295B2 · Ries, II · 2010 [cited by applicant]
US 7911359B2 · Walters et al. · 2011 [cited by applicant]
US 7957277B2 · Roy · 2011 [cited by examiner]
US 8010319B2 · Walters et al. · 2011 [cited by applicant]
US 8138690B2 · Chemel et al. · 2012 [cited by applicant]
US 8214061B2 · Westrick, Jr. et al. · 2012 [cited by applicant]
US 8232745B2 · Chemel et al. · 2012 [cited by applicant]
US 8237581B2 · Ries, II · 2012 [cited by applicant]
US 8237582B2 · Ries, II · 2012 [cited by applicant]
US 8242927B2 · Ries, II · 2012 [cited by applicant]
US 8260575B2 · Walters et al. · 2012 [cited by applicant]
US 8339069B2 · Chemel et al. · 2012 [cited by applicant]
US 8373362B2 · Chemel et al. · 2013 [cited by applicant]
US 8531134B2 · Chemel et al. · 2013 [cited by applicant]
US 8536802B2 · Chemel et al. · 2013 [cited by applicant]
US 8552664B2 · Chemel et al. · 2013 [cited by applicant]
US 8593135B2 · Chemel et al. · 2013 [cited by applicant]
US 8610376B2 · Chemel et al. · 2013 [cited by applicant]
US 8700749B2 · Elliott et al. · 2014 [cited by applicant]
US 8729833B2 · Chemel et al. · 2014 [cited by applicant]
US 8754589B2 · Chemel et al. · 2014 [cited by applicant]
US 8805550B2 · Chemel et al. · 2014 [cited by applicant]
US 8823277B2 · Chemel et al. · 2014 [cited by applicant]
US 8841859B2 · Chemel et al. · 2014 [cited by applicant]
US 8855019B2 · Elliott et al. · 2014 [cited by applicant]
US 8866408B2 · Chemel et al. · 2014 [cited by applicant]
US 8954170B2 · Chemel et al. · 2015 [cited by applicant]
US 9014829B2 · Chemel et al. · 2015 [cited by applicant]
US 9072133B2 · Chemel et al. · 2015 [cited by applicant]
US 9125254B2 · Chemel et al. · 2015 [cited by applicant]
US 9210066B2 · Liu et al. · 2015 [cited by applicant]
US 9241392B2 · Chemel et al. · 2016 [cited by applicant]
US 9510426B2 · Chemel et al. · 2016 [cited by applicant]
US 9680745B2 · Roch et al. · 2017 [cited by applicant]
US 9712423B1 · Amis et al. · 2017 [cited by applicant]
US 9730078B2 · Nixon et al. · 2017 [cited by applicant]
US 9795016B2 · Motley et al. · 2017 [cited by applicant]
US 9832832B2 · Chemel et al. · 2017 [cited by applicant]
US 9913195B2 · Petersen · 2018 [cited by examiner]
US 10097417B2 · Pietrowicz et al. · 2018 [cited by applicant]
US 10230634B2 · Ko · 2019 [cited by examiner]
US 10958577B2 · Ko · 2021 [cited by examiner]
US 11575603B2 · Ko · 2023 [cited by examiner]
US 20030009730A1 · Gibler et al. · 2003 [cited by applicant]
US 20070002194A1 · Williams et al. · 2007 [cited by applicant]
US 20070032990A1 · Williams et al. · 2007 [cited by applicant]
US 20070217196A1 · Shaner · 2007 [cited by applicant]
US 20090003356A1 · Vaswani · 2009 [cited by examiner]
US 20100246480A1 · Aggarwal · 2010 [cited by examiner]
US 20100281163A1 · Shi et al. · 2010 [cited by applicant]
US 20110149858A1 · Hwang et al. · 2011 [cited by applicant]
US 20110279248A1 · Ogawa · 2011 [cited by applicant]
US 20120143357A1 · Chemel et al. · 2012 [cited by applicant]
US 20120163177A1 · Vaswani · 2012 [cited by examiner]
US 20120235579A1 · Chemel et al. · 2012 [cited by applicant]
US 20130063042A1 · Bora et al. · 2013 [cited by applicant]
US 20130169185A1 · Dai et al. · 2013 [cited by applicant]
US 20140028199A1 · Chemel et al. · 2014 [cited by applicant]
US 20140285090A1 · Chemel et al. · 2014 [cited by applicant]
US 20140285095A1 · Chemel et al. · 2014 [cited by applicant]
US 20140292208A1 · Chemel et al. · 2014 [cited by applicant]
US 20140293605A1 · Chemel et al. · 2014 [cited by applicant]
US 20140333222A1 · Chemel et al. · 2014 [cited by applicant]
US 20140375206A1 · Holland et al. · 2014 [cited by applicant]
US 20150008827A1 · Carrigan et al. · 2015 [cited by applicant]
US 20150008828A1 · Carrigan et al. · 2015 [cited by applicant]
US 20150061511A1 · Chemel et al. · 2015 [cited by applicant]
US 20150184842A1 · Chemel et al. · 2015 [cited by applicant]
US 20150249595A1 · Geiger · 2015 [cited by applicant]
US 20150382275A1 · Pragada · 2015 [cited by examiner]
US 20160028675A1 · Veillette · 2016 [cited by examiner]
US 20160036764A1 · Dong et al. · 2016 [cited by applicant]
US 20160050725A1 · Johnson et al. · 2016 [cited by applicant]
US 20160088615A1 · Soyak et al. · 2016 [cited by applicant]
US 20160360594A1 · Chemel et al. · 2016 [cited by applicant]
US 20170013658A1 · Ta et al. · 2017 [cited by applicant]
US 20170019970A1 · Chemel et al. · 2017 [cited by applicant]
US 20170027045A1 · Chemel et al. · 2017 [cited by applicant]
US 20170042001A1 · Chemel et al. · 2017 [cited by applicant]
US 20170086279A1 · Chemel et al. · 2017 [cited by applicant]
US 20170093687A1 · Wu · 2017 [cited by examiner]
US 20170272481A1 · Beckhardt et al. · 2017 [cited by applicant]
US 20170289812A1 · Werb · 2017 [cited by applicant]
US 20170311226A1 · Fuhrmann · 2017 [cited by examiner]
US 20180309593A1 · Dong · 2018 [cited by examiner]
WO 2012129243A1 · 2012 [cited by applicant]
Office Action in Canadian Patent Application No. 2922449, mailed Feb. 23, 2023. [cited by applicant]
Enlightened Energy Management System, ETCC Open Forum, 13 pp. (Jul. 24, 2012). [cited by applicant]
Office Action in U.S. Appl. No. 12/832,211, mailed Sep. 12, 2012, 4 pages. [cited by applicant]
Office Action in U.S. Appl. No. 12/832,211, mailed Jun. 20, 2013, 12 pages. [cited by applicant]
Office Action in U.S. Appl. No. 12/832,211, mailed Oct. 2, 2013, 13 pages. [cited by applicant]
Notice of Allowance in U.S. Appl. No. 12/832,211, mailed Apr. 23, 2014, 10 pages. [cited by applicant]
Office Action in U.S. Appl. No. 14/289,601, mailed Jan. 30, 2015, 6 pages. [cited by applicant]
Notice of Allowance in U.S. Appl. No. 14/289,601, mailed Apr. 1, 2015, 9 pages. [cited by applicant]
Notice of Allowance in U.S. Appl. No. 14/289,601, mailed Jun. 4, 2015, 2 pages. [cited by applicant]
Office Action in U.S. Appl. No. 14/518,831 mailed Dec. 30, 2016, 51 pp. [cited by applicant]
Notice of Allowance in U.S. Appl. No. 14/518,831, dated Aug. 21, 2017, 13 pages. [cited by applicant]
Vainio, A.-M. et al., Learning and adaptive fuzzy control system for smart home, Mar. 2008, http://www.springerlink.com/content/II72k32006I4qx81/fulltext.pdf, 10 pages. [cited by applicant]
ZigBee Alliance “Wireless Sensors and Control Networks: Enabling New Opportunities with ZigBee”, Bob Heile, Chairman, ZigBee Alliance, Dec. 2006 Powerpoint Presentation, 53 pages. [cited by applicant]
ZigBee Alliance Document No. 08006r03, Jun. 2008, ZigBee—200y Layer Pies and Stack Profile, Copyright 1;) 1996-2008 by the ZigBee Alliance. 2400 Camino Ramon, Suite 375, San Ramon, CA 94583, USA; http://www.zigbee.org, … [cited by applicant]
ZigBee Specification Document 053474r17, Notice of Use and Disclosure; Jan. 17, 2008 11:09 A.M., Sponsored by: ZibEe Alliance; Copyright © 2007 ZigBee Standards Organizat. All rights reserved, (602 pages). [cited by applicant]