WO1996000469A1 - Method for distributing program code to intelligent nodes in a wireless mesh data communication network - Google Patents

Method for distributing program code to intelligent nodes in a wireless mesh data communication network Download PDF

Info

Publication number
WO1996000469A1
WO1996000469A1 PCT/US1995/008076 US9508076W WO9600469A1 WO 1996000469 A1 WO1996000469 A1 WO 1996000469A1 US 9508076 W US9508076 W US 9508076W WO 9600469 A1 WO9600469 A1 WO 9600469A1
Authority
WO
WIPO (PCT)
Prior art keywords
nodes
program code
network
node
destination nodes
Prior art date
Application number
PCT/US1995/008076
Other languages
French (fr)
Inventor
George H. Flammer, Iii
Original Assignee
Metricom, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Metricom, Inc. filed Critical Metricom, Inc.
Publication of WO1996000469A1 publication Critical patent/WO1996000469A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Definitions

  • the invention relates generally to the field of data communication between digital devices in a network and more specifically to a method for routing a very large data file to a number of digital devices in a packet communication network.
  • Packet communication is a form of data communication whereby segments or packets of data are routed with error checking and confirmation of receipt. Packets may be transmitted directly between a source node and a destination node or may be relayed via a number of relay nodes.
  • Several methods of data packet routing are known.
  • Some methods of packet communication are directory- based routing and non-directory-based routing.
  • directory-based routing method the address in the header of a packet is used as an index to a directory of packet routing lists stored in a source node. The source node must maintain and continuously update a routing list for each node in the network.
  • non-directory-based routing the complexities associated with directory-based routing techniques are avoided. There is no need to store connectivity information for each transmitting node in the network, thus reducing the amount of overhead processing that must be done by the network to preserve network connections.
  • non-directory-based routing techniques generally do not permit network parameter optimization.
  • a number of patents have issued to the assignees of the present invention concerning various aspects of data network operation including U.S.
  • a common task that must be periodically performed in any network is the updating of network software in each of the physically separate machines that make up the network.
  • the network software resides individually in each physically separate network node and controls how that machine interacts with the network.
  • changing the network software involves installing the new software on all of the machines in the network. This may be done manually by a human operator at each machine but is preferably done over the network in such a way that one node on the network directs the other nodes to accept data transmissions that include the new program code and then directs the nodes to execute the new code.
  • the data file that contains the new executable program code is very large when compared to other files transmitted on the network and may take many minutes to several hours to transmit, even just between two nodes.
  • Updating all the nodes on a network can therefore consume significant network resources, particularly if the program code file is routed independently from the source node to each node in the network.
  • Two methods known in the art for program downloading are direct transmission and code float.
  • code float Another method for the transport of executable code is often called the "code float” method.
  • code float Another method for the transport of executable code.
  • data packets containing the executable code are "floated" over the network medium to all the nodes in the network.
  • Each node keeps track of the blocks it has received (or those it has not received and thus requires) .
  • the node When it has received and validated all the blocks of code it requires, the node generally sends in a report to the source stating that "it is done downloading.” When all the nodes have reported in, the source can stop and free the consumed data bandwidth for other uses.
  • This method also has several drawbacks in practice that place limits on its effectiveness for download to geographically distinct nodes.
  • the method requires that a broadcast medium (or a close approximation) be available for "floating" the code out.
  • much data is sent out redundantly; the source does not know which blocks are still required by the receiving nodes and thus usually just keeps sending blocks in sequence until all the nodes have reported in as complete (or conversely, have reported in that they still need blocks of code) .
  • code floating by nature is best utilized when all the nodes in a network are homogeneous. It is unsuited for the download of different code bodies, for example in the case where nodes with completely different functionality are required.
  • executable code download may be accomplished by informing each destination node of the location (also called an address) of a source node and a description of the data file blocks at that source that make up an executable code file.
  • the destination (or code recipient) is completely responsible for executing and completing the code download; the source of the executable code need only respond to requests for a given block of data - no other state information or connection resources are required.
  • any number of destination nodes may download code from a selected source node at a time (subject only to the maximum data bandwidth supportable by the source node) .
  • This flexibility is a benefit in operational networks.
  • since the destination node is responsible for requesting the blocks it requires, only those blocks of data that are required will be transported through the network. This leads to an optimally efficient transfer.
  • multiple sources may support download simultaneously. Thus, several dissimilar nodes may be updated without having to "wait their turn” .
  • FIG. 1 is a block diagram illustrating a prior art general data network topology in which the method according to the invention may be effectively employed.
  • FIG. 2 is a flow chart describing program code downloading by a destination node.
  • FIG. 3 is a flow chart describing program code downloading by a source node responding to requests for block transfer from a destination node.
  • Fig. 1 shows a data network of a type in which the method according to the present invention may be employed.
  • the network consists of nodes labelled 0 through Z interconnected by paths 12 representing allowable communication links between nodes.
  • executable code downloading is initiated from one initiating source node, such as node V.
  • Node V acquires the executable code either manually or otherwise and then it is available to other nodes, such as nodes P and Y, for downloading.
  • a network controller sends a message to destination nodes P and Y to which node V is connected, instructing those destination nodes to request program code transmission from node V.
  • the network controller may be one of the nodes in the network having network control capabilities or it may be a human operator.
  • Nodes P and Y then each independently begin requesting blocks of executable code to be transmitted from node V.
  • Nodes P and Y continue requesting blocks from node V, until they have received the full executable code file.
  • nodes P and Y When nodes P and Y have successfully received the full executable code file, they each inform the network controller that downloading is complete. According to one embodiment of the invention, this distributed downloading occurs iteratively such that, once the network controller is informed by node Y that it has received the executable code file, the network controller transmits a packet to each of nodes W, Z, U, and T, instructing those nodes to request executable code transmission from node Y. Nodes W, Z, U, and T then each independently begin requesting blocks of executable code to be transmitted from node Y and continue requesting blocks from node Y, until they have received the full executable code file. Each node sends an acknowledge packet to inform the network controller that downloading is complete.
  • Fig. 2 depicts a flow chart illustrating the operation of a destination node according to one embodiment of the present invention. While the steps of this process are shown in a particular order, it will be obvious to one of ordinary skill in the art that the order of some of the subprocesses contained in this process could be changed and that some steps of this process could be handled in parallel.
  • the process begins when a destination node receives a command packet from the network controller to download a new program code file from a particular source node (Step SI) .
  • This program file will typically have been transferred to the initial source node manually, such as by loading a floppy disk or other removable media onto the source node, or the file may be transferred to the source node over a dial-up phone line connection to the source node.
  • the command packet contains the information the destination node needs to download the full program code file including the address of the source node, identifiers for the data blocks in the file, and an address of a node to which the destination node must send an acknowledgement when downloading is complete.
  • the destination node then begin requesting blocks from the source node (Step S2) . Once a request for a block has been made, the destination node waits to receive a block back from the source node (Step S3) .
  • the destination node checks to see if it requires the block for its executable code (Step S4) . If the block is required, the destination node stores the block (Step S5) and checks to see if more blocks are required (Step S7) . If the block is not required, the destination node drops or discards the block (Step S6) and checks to see if more blocks are require'd (Step S7) . If more blocks are required, the destination node requests the next block (Step S2) and the process loops. If more blocks are not required, the destination node has received all the blocks that make up the executable code, it sends a message to the network controller informing it of that and the process ends.
  • Fig. 3 depicts a flow chart illustrating the operation of a source node according to one embodiment of the present invention.
  • the process begins when the source node receives a request packet from a destination node to transmit a block of data (Step Tl) .
  • the source node checks to see if the request is for a valid block in its executable code (Step T2) . If the block is not valid, the source node frees its packet transmit buffer (Step T4) and the process ends. If the block is valid, the source node first sends the block to the destination node (Step T3) then frees its packet transmit buffer (Step T4) and the process ends.
  • This method is also especially suited for networks made up of different types of network nodes, such as stationary nodes and roaming nodes, where the different nodes require different program code. With this method, downloading of program code to the different types of nodes can occur completely independently.
  • the functions of the network controller could be transferred to each node such that once a destination node had completed program downloading, that destination node would send command packets to other nodes with which it could communicate instructing those other nodes to request program code downloading.

Abstract

A large data file is distributed to a number of nodes (O - Z) in a data communication network by a process of distributed downloading. Destination nodes are informed of the location in the network of the large data file and are directed to receive the large data file by requesting that blocks (S2) of data containing the file be transmitted to them from the designated source node. The destination nodes control the file transfer. The large data file may contain program code for updating network software.

Description

METHOD FOR DISTRIBUTING PROGRAM CODE TO INTELLIGENT NODES IN A WIRELESS MESH DATA COMMUNICATION NETWORK
BACKGROUND OF THE INVENTION The invention relates generally to the field of data communication between digital devices in a network and more specifically to a method for routing a very large data file to a number of digital devices in a packet communication network. Packet communication is a form of data communication whereby segments or packets of data are routed with error checking and confirmation of receipt. Packets may be transmitted directly between a source node and a destination node or may be relayed via a number of relay nodes. Several methods of data packet routing are known.
Some methods of packet communication are directory- based routing and non-directory-based routing. According to directory-based routing method, the address in the header of a packet is used as an index to a directory of packet routing lists stored in a source node. The source node must maintain and continuously update a routing list for each node in the network. In non-directory-based routing, the complexities associated with directory-based routing techniques are avoided. There is no need to store connectivity information for each transmitting node in the network, thus reducing the amount of overhead processing that must be done by the network to preserve network connections. However, non-directory-based routing techniques generally do not permit network parameter optimization. A number of patents have issued to the assignees of the present invention concerning various aspects of data network operation including U.S. patents 5,079,768; 5,115,433; and 5,007,052. A common task that must be periodically performed in any network is the updating of network software in each of the physically separate machines that make up the network. The network software resides individually in each physically separate network node and controls how that machine interacts with the network. In general, changing the network software involves installing the new software on all of the machines in the network. This may be done manually by a human operator at each machine but is preferably done over the network in such a way that one node on the network directs the other nodes to accept data transmissions that include the new program code and then directs the nodes to execute the new code.
Typically, the data file that contains the new executable program code is very large when compared to other files transmitted on the network and may take many minutes to several hours to transmit, even just between two nodes.
Updating all the nodes on a network can therefore consume significant network resources, particularly if the program code file is routed independently from the source node to each node in the network. Two methods known in the art for program downloading are direct transmission and code float.
In direct transmission, an error free and correctly ordered connection is created between the computer that serves as the executable code source (the source) and the computer that requires the code update (the destination) . Code is then sent, properly demarcated as to destination location. The destination computer then can store the received executable code in a local store for later execution upon successful and complete receipt. This method has several drawbacks in practice, especially when utilized in attempting code download to a multitude of nodes in a geographically distributed broadcastless communication environment. First, when a large number of nodes require simultaneous updating, keeping track of the progress of the individual downloads becomes logistically difficult. In addition, the described method requires that the medium over which the download is proceeding be error free. To create an error free connection over any of several unreliable media requires substantial computing resources to be dedicated to the maintenance of each connection. In practice, this limits the number of simultaneous connections (downloads) that can exist. Finally, the path between the code source and the destination node must remain intact throughout the download. This requirement places possibly severe demands on the stability of the network topology; in environments where the network topology is changing rapidly, it may not be possible to maintain a connection for the length of time required for the complete code transfer.
Another method for the transport of executable code is often called the "code float" method. In this method, data packets containing the executable code are "floated" over the network medium to all the nodes in the network. Each node keeps track of the blocks it has received (or those it has not received and thus requires) . When it has received and validated all the blocks of code it requires, the node generally sends in a report to the source stating that "it is done downloading." When all the nodes have reported in, the source can stop and free the consumed data bandwidth for other uses.
This method also has several drawbacks in practice that place limits on its effectiveness for download to geographically distinct nodes. First, the method requires that a broadcast medium (or a close approximation) be available for "floating" the code out. In addition, much data is sent out redundantly; the source does not know which blocks are still required by the receiving nodes and thus usually just keeps sending blocks in sequence until all the nodes have reported in as complete (or conversely, have reported in that they still need blocks of code) . Finally, code floating by nature is best utilized when all the nodes in a network are homogeneous. It is unsuited for the download of different code bodies, for example in the case where nodes with completely different functionality are required.
What is needed is a method for distributing large files possibly containing executable code to a large number of nodes in a network that does not have the inefficiencies associated with direct transmission or code float. SUMMARY OF THE INVENTION According to the invention, in a packet communications system wherein a multitude of nodes exist that are not able to cheaply broadcast, executable code download may be accomplished by informing each destination node of the location (also called an address) of a source node and a description of the data file blocks at that source that make up an executable code file. The destination (or code recipient) is completely responsible for executing and completing the code download; the source of the executable code need only respond to requests for a given block of data - no other state information or connection resources are required.
In the selected environment, this method has several critical advantages over competing approaches. First, any number of destination nodes may download code from a selected source node at a time (subject only to the maximum data bandwidth supportable by the source node) . This flexibility is a benefit in operational networks. In addition, since the destination node is responsible for requesting the blocks it requires, only those blocks of data that are required will be transported through the network. This leads to an optimally efficient transfer. Finally, multiple sources may support download simultaneously. Thus, several dissimilar nodes may be updated without having to "wait their turn" .
The invention will be better understood by reference to the following detailed description in connection with the accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram illustrating a prior art general data network topology in which the method according to the invention may be effectively employed.
FIG. 2 is a flow chart describing program code downloading by a destination node.
FIG. 3 is a flow chart describing program code downloading by a source node responding to requests for block transfer from a destination node. DETAILED DESCRIPTION OF SPECIFIC EMBODIMENTS Fig. 1 shows a data network of a type in which the method according to the present invention may be employed. The network consists of nodes labelled 0 through Z interconnected by paths 12 representing allowable communication links between nodes.
According to the present invention, executable code downloading is initiated from one initiating source node, such as node V. Node V acquires the executable code either manually or otherwise and then it is available to other nodes, such as nodes P and Y, for downloading. Once node V has acquired the executable code, a network controller sends a message to destination nodes P and Y to which node V is connected, instructing those destination nodes to request program code transmission from node V. The network controller may be one of the nodes in the network having network control capabilities or it may be a human operator. Nodes P and Y then each independently begin requesting blocks of executable code to be transmitted from node V. Nodes P and Y continue requesting blocks from node V, until they have received the full executable code file. When nodes P and Y have successfully received the full executable code file, they each inform the network controller that downloading is complete. According to one embodiment of the invention, this distributed downloading occurs iteratively such that, once the network controller is informed by node Y that it has received the executable code file, the network controller transmits a packet to each of nodes W, Z, U, and T, instructing those nodes to request executable code transmission from node Y. Nodes W, Z, U, and T then each independently begin requesting blocks of executable code to be transmitted from node Y and continue requesting blocks from node Y, until they have received the full executable code file. Each node sends an acknowledge packet to inform the network controller that downloading is complete. Likewise, the network controller transmits a packet to each of nodes S, O, and R, instructing those nodes to request program code download from node P. Fig. 2 depicts a flow chart illustrating the operation of a destination node according to one embodiment of the present invention. While the steps of this process are shown in a particular order, it will be obvious to one of ordinary skill in the art that the order of some of the subprocesses contained in this process could be changed and that some steps of this process could be handled in parallel. The process begins when a destination node receives a command packet from the network controller to download a new program code file from a particular source node (Step SI) .
This program file will typically have been transferred to the initial source node manually, such as by loading a floppy disk or other removable media onto the source node, or the file may be transferred to the source node over a dial-up phone line connection to the source node. The command packet contains the information the destination node needs to download the full program code file including the address of the source node, identifiers for the data blocks in the file, and an address of a node to which the destination node must send an acknowledgement when downloading is complete. The destination node then begin requesting blocks from the source node (Step S2) . Once a request for a block has been made, the destination node waits to receive a block back from the source node (Step S3) . When a block is received, the destination node checks to see if it requires the block for its executable code (Step S4) . If the block is required, the destination node stores the block (Step S5) and checks to see if more blocks are required (Step S7) . If the block is not required, the destination node drops or discards the block (Step S6) and checks to see if more blocks are require'd (Step S7) . If more blocks are required, the destination node requests the next block (Step S2) and the process loops. If more blocks are not required, the destination node has received all the blocks that make up the executable code, it sends a message to the network controller informing it of that and the process ends.
Fig. 3 depicts a flow chart illustrating the operation of a source node according to one embodiment of the present invention. The process begins when the source node receives a request packet from a destination node to transmit a block of data (Step Tl) . The source node checks to see if the request is for a valid block in its executable code (Step T2) . If the block is not valid, the source node frees its packet transmit buffer (Step T4) and the process ends. If the block is valid, the source node first sends the block to the destination node (Step T3) then frees its packet transmit buffer (Step T4) and the process ends.
It will be apparent that this method of program code downloading has a number of advantages over code-float or direct transmission. First is that downloading to all nodes in a network will be faster than with direct transmission, in part because the iterative downloading may occur in parallel. Once node Y and P in Fig. 1 have each received a complete program code file, the nodes that get their program code from Y and P can do so independently and simultaneously.
This method is also especially suited for networks made up of different types of network nodes, such as stationary nodes and roaming nodes, where the different nodes require different program code. With this method, downloading of program code to the different types of nodes can occur completely independently.
A number of modifications to this method will be obvious to one of ordinary skill in the art. For example, the functions of the network controller could be transferred to each node such that once a destination node had completed program downloading, that destination node would send command packets to other nodes with which it could communicate instructing those other nodes to request program code downloading.
The invention has now been explained with reference to specific embodiments. Other embodiments will be apparent to those of ordinary skill in the art. It is therefore not intended that this invention be limited except as indicated by the appended claims.

Claims

WHAT IS CLAIMED IS:
1. In a wireless mesh packet communications network, said network comprising a plurality of intelligent nodes interconnected by wireless links, a method for updating program code of the network, comprising the steps of: acquiring a program code file at a master source node; dividing said program code file into blocks of a size easily transmitted on the network; transmitting a command packet from a network controller to a plurality of destination nodes; and in response to said message packet, initiating independent program code downloading at each of said destination nodes by said destination nodes sending individual block requests to said master source node for said master source node to transmit blocks containing said program code.
2. The method according to claim 1 wherein said command packet includes an address for a source node and a block list identifying the blocks that comprise the program code file.
3. The method according to claim 1 wherein said command packet includes a list of secondary destination nodes.
4. The method according to claim 1 wherein said command packet includes an address for a network controller to which said destination nodes will send a download complete packet when said destination nodes have successfully completed program code downloading.
5. The method according to claim 1 further comprising the steps of: when downloading is complete at each destination node, determining whether there are any secondary destinations nodes needing to receive program code from that destination node; if secondary destinations exist, transmitting a command packet to said secondary destination nodes; in response to said command packet, initiating independent program code downloading at each of said secondary destination nodes, by said secondary destination nodes sending individual block requests to said destination node for said destination node to transmit blocks containing said program code; and repeating the above method steps iteratively at each secondary destination node until there are no nodes remaining in the network that need to receive program code.
6. The method according to claim 5 wherein said command packets are transmitted to said secondary destination nodes by said network controller.
7. The method according to claim 5 wherein said command packets are transmitted to said secondary destination nodes by said destination node.
8. A method for transmitting a large data file to a number of nodes in a network, comprising the steps of: acquiring a large data file at a master source node; transmitting a command packet to a plurality of destination nodes; in response to said command packet, initiating data file transfer from said source node to said destination nodes by said destination nodes each sending individual transmit requests to said master source node for said master source node to transmit said large data file.
9. The method according to claim 8 wherein said command packet includes an address for a source node and a block list identifying blocks that comprise the data file.
10. The method according to claim 9 wherein said message includes a list of secondary destination nodes.
PCT/US1995/008076 1994-06-24 1995-06-21 Method for distributing program code to intelligent nodes in a wireless mesh data communication network WO1996000469A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/265,185 1994-06-24
US08/265,185 US5903566A (en) 1994-06-24 1994-06-24 Method for distributing program code to intelligent nodes in a wireless mesh data communication network

Publications (1)

Publication Number Publication Date
WO1996000469A1 true WO1996000469A1 (en) 1996-01-04

Family

ID=23009377

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1995/008076 WO1996000469A1 (en) 1994-06-24 1995-06-21 Method for distributing program code to intelligent nodes in a wireless mesh data communication network

Country Status (2)

Country Link
US (1) US5903566A (en)
WO (1) WO1996000469A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998028873A2 (en) * 1996-12-13 1998-07-02 Nokia Telecommunications Oy Update of network elements in a telecommunications network

Families Citing this family (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7058597B1 (en) * 1998-12-04 2006-06-06 Digital River, Inc. Apparatus and method for adaptive fraud screening for electronic commerce transactions
US20030195974A1 (en) 1998-12-04 2003-10-16 Ronning Joel A. Apparatus and method for scheduling of search for updates or downloads of a file
US7617124B1 (en) 1998-12-04 2009-11-10 Digital River, Inc. Apparatus and method for secure downloading of files
US6363062B1 (en) 1999-06-08 2002-03-26 Caly Corporation Communications protocol for packet data particularly in mesh topology wireless networks
US8019836B2 (en) * 2002-01-02 2011-09-13 Mesh Comm, Llc Wireless communication enabled meter and network
US20010045914A1 (en) * 2000-02-25 2001-11-29 Bunker Philip Alan Device and system for providing a wireless high-speed communications network
JP2001273122A (en) * 2000-03-23 2001-10-05 Hitachi Ltd Method and device for installing program of parallel computing system
US7013482B1 (en) * 2000-07-07 2006-03-14 802 Systems Llc Methods for packet filtering including packet invalidation if packet validity determination not timely made
US7031267B2 (en) 2000-12-21 2006-04-18 802 Systems Llc PLD-based packet filtering methods with PLD configuration data update of filtering rules
US6492897B1 (en) 2000-08-04 2002-12-10 Richard A. Mowery, Jr. System for coupling wireless signals to and from a power transmission line communication system
US6963993B1 (en) 2000-09-28 2005-11-08 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Fail-over file transfer process
US20020078461A1 (en) * 2000-12-14 2002-06-20 Boykin Patrict Oscar Incasting for downloading files on distributed networks
US6970939B2 (en) * 2000-10-26 2005-11-29 Intel Corporation Method and apparatus for large payload distribution in a network
CN100431320C (en) * 2000-10-26 2008-11-05 普里斯梅迪亚网络有限公司 Method and appts. for real-time parallel delivery of segments of large payload file
DE60131900T2 (en) 2000-10-26 2008-12-04 Flood, James C. jun., Portland METHOD AND SYSTEM FOR MANAGING DISTRIBUTED CONTENT AND RELATED METADATA
US20020080784A1 (en) * 2000-12-21 2002-06-27 802 Systems, Inc. Methods and systems using PLD-based network communication protocols
US7865752B2 (en) * 2000-12-22 2011-01-04 Intel Corporation Port-based packet filter
KR20020091791A (en) * 2001-05-30 2002-12-06 미츠비시 마테리알 가부시키가이샤 Communication system management server, wireless server, mobile management server and information management server
FR2825813B1 (en) * 2001-06-08 2003-10-24 Peugeot Citroen Automobiles Sa SYSTEM FOR DOWNLOADING DATA FILES IN ON-BOARD COMPUTERS ON BOARD A MOTOR VEHICLE
US7042394B2 (en) * 2002-08-14 2006-05-09 Skipper Wireless Inc. Method and system for determining direction of transmission using multi-facet antenna
US7610050B2 (en) * 2002-08-14 2009-10-27 Tadaaki Chigusa System for mobile broadband networking using dynamic quality of service provisioning
US7015809B1 (en) 2002-08-14 2006-03-21 Skipper Wireless Inc. Method and system for providing an active routing antenna
JP4041492B2 (en) * 2002-08-22 2008-01-30 株式会社エヌ・ティ・ティ・ドコモ Reconfiguration of network nodes in ad hoc networks
US8194655B2 (en) * 2004-08-05 2012-06-05 Dust Networks, Inc. Digraph based mesh communication network
US8059629B1 (en) 2004-03-27 2011-11-15 Dust Networks, Inc. Digraph network timing synchronization
US7881239B2 (en) * 2004-03-27 2011-02-01 Dust Networks, Inc. Low-powered autonomous radio node with temperature sensor and crystal oscillator
US7961664B1 (en) 2004-03-27 2011-06-14 Dust Networks, Inc. Digraph network subnetworks
US7529217B2 (en) * 2004-03-27 2009-05-05 Dust Networks, Inc. Low-power autonomous node for mesh communication network
US7420980B1 (en) * 2004-03-27 2008-09-02 Dust Networks, Inc. Digraph network superframes
US7515544B2 (en) * 2005-07-14 2009-04-07 Tadaaki Chigusa Method and system for providing location-based addressing
CA2636002C (en) * 2006-03-06 2016-08-16 Lg Electronics Inc. Data transfer controlling method, content transfer controlling method, content processing information acquisition method and content transfer system
US8429300B2 (en) * 2006-03-06 2013-04-23 Lg Electronics Inc. Data transferring method
US20090133129A1 (en) * 2006-03-06 2009-05-21 Lg Electronics Inc. Data transferring method
US7778149B1 (en) 2006-07-27 2010-08-17 Tadaaki Chigusa Method and system to providing fast access channel
KR20080022476A (en) * 2006-09-06 2008-03-11 엘지전자 주식회사 Method for processing non-compliant contents and drm interoperable system
US8160096B1 (en) 2006-12-06 2012-04-17 Tadaaki Chigusa Method and system for reserving bandwidth in time-division multiplexed networks
CN101542495B (en) * 2007-01-05 2014-10-22 Lg电子株式会社 Method for transferring resource and method for providing information
EP2013771B1 (en) * 2007-02-16 2013-08-21 LG Electronics Inc. Method for managing domain using multi domain manager and domain system
WO2009002464A2 (en) * 2007-06-22 2008-12-31 Vubiq Incorporated System and method for wireless communication in a backplane fabric architecture
WO2009055061A1 (en) 2007-10-25 2009-04-30 Trilliant Networks, Inc. Gas meter having ultra-sensitive magnetic material retrofitted onto meter dial and method for performing meter retrofit
US8332055B2 (en) 2007-11-25 2012-12-11 Trilliant Networks, Inc. Energy use control system and method
US8138934B2 (en) 2007-11-25 2012-03-20 Trilliant Networks, Inc. System and method for false alert filtering of event messages within a network
CA2705093A1 (en) 2007-11-25 2009-05-28 Trilliant Networks, Inc. Communication and message route optimization and messaging in a mesh network
EP2215556B1 (en) 2007-11-25 2019-08-28 Trilliant Networks, Inc. System and method for transmitting power status notifications in an advanced metering infrastructure network
WO2010027495A1 (en) 2008-09-04 2010-03-11 Trilliant Networks, Inc. A system and method for implementing mesh network communications using a mesh network protocol
US8289182B2 (en) 2008-11-21 2012-10-16 Trilliant Networks, Inc. Methods and systems for virtual energy management display
WO2010105038A1 (en) 2009-03-11 2010-09-16 Trilliant Networks, Inc. Process, device and system for mapping transformers to meters and locating non-technical line losses
US9893406B2 (en) 2009-08-19 2018-02-13 Vubiq Networks, Inc. Method of forming a waveguide interface by providing a mold to form a support block of the interface
US9088058B2 (en) 2009-08-19 2015-07-21 Vubiq Networks, Inc. Waveguide interface with a launch transducer and a circular interface plate
CA2809034A1 (en) 2010-08-27 2012-03-01 Randy Frei System and method for interference free operation of co-located tranceivers
CA2813534A1 (en) 2010-09-13 2012-03-22 Trilliant Networks, Inc. Process for detecting energy theft
WO2012068045A2 (en) 2010-11-15 2012-05-24 Trilliant Holdings Inc. System and method for securely communicating across multiple networks using a single radio
WO2012097204A1 (en) 2011-01-14 2012-07-19 Trilliant Holdings, Inc. Process, device and system for volt/var optimization
WO2012103072A2 (en) 2011-01-25 2012-08-02 Trilliant Holdings, Inc. Aggregated real-time power outages/restoration reporting (rtpor) in a secure mesh network
EP3285458B1 (en) 2011-02-10 2022-10-26 Trilliant Holdings, Inc. Device and method for facilitating secure communications over a cellular network
US9041349B2 (en) 2011-03-08 2015-05-26 Trilliant Networks, Inc. System and method for managing load distribution across a power grid
US9001787B1 (en) 2011-09-20 2015-04-07 Trilliant Networks Inc. System and method for implementing handover of a hybrid communications module
EP2915292A4 (en) 2012-11-01 2016-08-31 Cooper Technologies Co Distribution of software updates in wireless multihop networks
US9742847B2 (en) * 2013-08-30 2017-08-22 Texas Instruments Incorporated Network node physical/communication pins, state machines, interpreter and executor circuitry
US9614724B2 (en) 2014-04-21 2017-04-04 Microsoft Technology Licensing, Llc Session-based device configuration
US9430667B2 (en) 2014-05-12 2016-08-30 Microsoft Technology Licensing, Llc Managed wireless distribution network
US9384334B2 (en) 2014-05-12 2016-07-05 Microsoft Technology Licensing, Llc Content discovery in managed wireless distribution networks
US10111099B2 (en) 2014-05-12 2018-10-23 Microsoft Technology Licensing, Llc Distributing content in managed wireless distribution networks
US9384335B2 (en) 2014-05-12 2016-07-05 Microsoft Technology Licensing, Llc Content delivery prioritization in managed wireless distribution networks
US9874914B2 (en) 2014-05-19 2018-01-23 Microsoft Technology Licensing, Llc Power management contracts for accessory devices
US10037202B2 (en) 2014-06-03 2018-07-31 Microsoft Technology Licensing, Llc Techniques to isolating a portion of an online computing service
US9367490B2 (en) 2014-06-13 2016-06-14 Microsoft Technology Licensing, Llc Reversible connector for accessory devices
US10818997B2 (en) 2017-12-29 2020-10-27 Vubiq Networks, Inc. Waveguide interface and printed circuit board launch transducer assembly and methods of use thereof
US11012853B2 (en) 2018-11-20 2021-05-18 Parallel Wireless, Inc. Secure software update in a wireless mesh radio network using peer-to-peer file sharing
CN111291227B (en) * 2020-01-13 2023-04-11 鹏城实验室 Big data analysis method, device, system, equipment and computer storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5319454A (en) * 1990-11-13 1994-06-07 Scientific-Atlanta, Inc. CATV system enabling access to premium (pay per view) program events by bar code data entry
US5353283A (en) * 1993-05-28 1994-10-04 Bell Communications Research, Inc. General internet method for routing packets in a communications network
US5371532A (en) * 1992-05-15 1994-12-06 Bell Communications Research, Inc. Communications architecture and method for distributing information services

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4225884A (en) * 1977-02-14 1980-09-30 Telease, Inc. Method and system for subscription television billing and access
US4644496A (en) * 1983-01-11 1987-02-17 Iowa State University Research Foundation, Inc. Apparatus, methods, and systems for computer information transfer
US4941089A (en) * 1986-12-12 1990-07-10 Datapoint Corporation Input/output network for computer system
US5485370A (en) * 1988-05-05 1996-01-16 Transaction Technology, Inc. Home services delivery system with intelligent terminal emulator
US5079767A (en) * 1988-09-27 1992-01-07 Digital Equipment Corporation Method of multicast message distribution
US5007052A (en) * 1989-04-11 1991-04-09 Metricom, Inc. Method for routing packets by squelched flooding
US5115433A (en) * 1989-07-18 1992-05-19 Metricom, Inc. Method and system for routing packets in a packet communication network
US5079768A (en) * 1990-03-23 1992-01-07 Metricom, Inc. Method for frequency sharing in frequency hopping communications network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5319454A (en) * 1990-11-13 1994-06-07 Scientific-Atlanta, Inc. CATV system enabling access to premium (pay per view) program events by bar code data entry
US5371532A (en) * 1992-05-15 1994-12-06 Bell Communications Research, Inc. Communications architecture and method for distributing information services
US5353283A (en) * 1993-05-28 1994-10-04 Bell Communications Research, Inc. General internet method for routing packets in a communications network

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998028873A2 (en) * 1996-12-13 1998-07-02 Nokia Telecommunications Oy Update of network elements in a telecommunications network
WO1998028873A3 (en) * 1996-12-13 1998-08-27 Nokia Telecommunications Oy Update of network elements in a telecommunications network

Also Published As

Publication number Publication date
US5903566A (en) 1999-05-11

Similar Documents

Publication Publication Date Title
US5903566A (en) Method for distributing program code to intelligent nodes in a wireless mesh data communication network
US5845090A (en) System for software distribution in a digital computer network
US5425023A (en) Network system and method of managing a maximum transfer unit in the network system
US5453977A (en) Method for network configuration via third party query
US5488608A (en) Method and system for routing packets in a packet communication network using locally constructed routing tables
JP3578385B2 (en) Computer and replica identity maintaining method
US7051112B2 (en) System and method for distribution of software
US6041049A (en) Method and apparatus for determining a routing table for each node in a distributed nodal system
US6735177B1 (en) Multicast communication device and method
EP0777940B1 (en) Method and apparatus for network variable aliasing
AU2001282554B2 (en) File transfer system, apparatus, method and computer readable medium storing file transfer program
EP0993149A2 (en) Channel allocation method and apparatus
US20080232402A1 (en) Communication relay apparatus, resource releasing method, and program for communication relay apparatus
WO1999034555A2 (en) Asynchronous data protocol
JPH06125347A (en) Exchange method of message
CA2141282A1 (en) Open transaction manager access system and method
US5910179A (en) Method and system for transmitting data within a tree structure and receiving a confirmation or status therefor
CN111984290B (en) Method for upgrading embedded equipment, embedded equipment and storage medium
US5845148A (en) Hierarchical processing system and method for down loading information in parallel
JP2005528003A (en) Communication network
JP7230760B2 (en) Relay device and external device
JPH06326713A (en) Data transmission control method
US20060106916A1 (en) Method of providing software components to nodes in a telecommunication network
US5835728A (en) System for routing computer network
US6718396B1 (en) Network structure method and route determination equipment

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): CA CN JP MX

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FR GB GR IE IT LU MC NL PT SE

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: CA