US7616663B1 - Method and apparatus for information dissemination - Google Patents

Method and apparatus for information dissemination Download PDF

Info

Publication number
US7616663B1
US7616663B1 US10/793,606 US79360604A US7616663B1 US 7616663 B1 US7616663 B1 US 7616663B1 US 79360604 A US79360604 A US 79360604A US 7616663 B1 US7616663 B1 US 7616663B1
Authority
US
United States
Prior art keywords
transformed
blocks
node
content
transformed blocks
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related, expires
Application number
US10/793,606
Inventor
Brig Barnum Elliott
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Raytheon BBN Technologies Corp
Verizon Patent and Licensing Inc
Original Assignee
Verizon Corporate Services Group Inc
BBN Technologies Corp
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
Priority to US10/793,606 priority Critical patent/US7616663B1/en
Application filed by Verizon Corporate Services Group Inc, BBN Technologies Corp filed Critical Verizon Corporate Services Group Inc
Assigned to BBNT SOLUTIONS LLC, VERIZON CORPORATE SERVICES GROUP INC. reassignment BBNT SOLUTIONS LLC JOINT ASSIGNMENT Assignors: BBNT SOLUTIONS LLC
Assigned to BBNT SOLUTIONS LLC, VERIZON CORPORATE SERVICES GROUP INC. reassignment BBNT SOLUTIONS LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BBNT SOLUTIONS LLC
Assigned to FLEET NATIONAL BANK, AS AGENT reassignment FLEET NATIONAL BANK, AS AGENT PATENT AND TRADEMARK SECURITY AGREEMENT Assignors: BBNT SOULTIONS LLC
Assigned to BBN TECHNOLOGIES CORP. reassignment BBN TECHNOLOGIES CORP. MERGER (SEE DOCUMENT FOR DETAILS). Assignors: BBNT SOLUTIONS LLC
Assigned to BANK OF AMERICA, N.A. reassignment BANK OF AMERICA, N.A. INTELLECTUAL PROPERTY SECURITY AGREEMENT SUPPLEMENT Assignors: BBN TECHNOLOGIES CORP.
Assigned to BBN TECHNOLOGIES CORP. (AS SUCCESSOR BY MERGER TO BBNT SOLUTIONS LLC) reassignment BBN TECHNOLOGIES CORP. (AS SUCCESSOR BY MERGER TO BBNT SOLUTIONS LLC) RELEASE OF SECURITY INTEREST Assignors: BANK OF AMERICA, N.A. (SUCCESSOR BY MERGER TO FLEET NATIONAL BANK)
Assigned to BBNT SOLUTIONS LLC, VERIZON CORPORATE SERVICES GROUP INC. reassignment BBNT SOLUTIONS LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ELLIOTT, BRIG BARNUM
Assigned to BBN TECHNOLOGIES CORP. reassignment BBN TECHNOLOGIES CORP. CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: BBN TECHNOLOGIES OPERATING CORP.
Assigned to BBN TECHNOLOGIES OPERATING CORP. reassignment BBN TECHNOLOGIES OPERATING CORP. MERGER (SEE DOCUMENT FOR DETAILS). Assignors: BBNT SOLUTIONS LLC
Priority to US12/609,501 priority patent/US8126016B2/en
Publication of US7616663B1 publication Critical patent/US7616663B1/en
Application granted granted Critical
Assigned to RAYTHEON BBN TECHNOLOGIES CORP. reassignment RAYTHEON BBN TECHNOLOGIES CORP. CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: BBN TECHNOLOGIES CORP.
Assigned to VERIZON PATENT AND LICENSING INC. reassignment VERIZON PATENT AND LICENSING INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: VERIZON CORPORATE SERVICES GROUP INC.
Expired - Fee Related legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/02Arrangements for generating broadcast information; Arrangements for generating broadcast-related information with a direct linking to broadcast information or to broadcast space-time; Arrangements for simultaneous generation of broadcast information and broadcast-related information
    • H04H60/06Arrangements for scheduling broadcast services or broadcast-related services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H20/00Arrangements for broadcast or for distribution combined with broadcast
    • H04H20/42Arrangements for resource management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Definitions

  • the invention pertains to communication networks.
  • the invention pertains to methods and systems for sending content to a group of recipient devices.
  • Information dissemination has proved of great utility in both commercial and military situations. Such dissemination has typically been arranged so that content sent from one central point can be received at a number of recipient points.
  • television and radio stations have generally used radio towers as their central points, whereas cable systems have used cable head-ends. Satellite television and radio systems have used satellites.
  • satellites and other “elevated platforms” such as aircraft or lighter than air vehicles
  • a method and system are provided for robustly sending data to multiple recipients from one or more disseminating nodes.
  • the disseminating nodes may disseminate version information and/or scheduling information.
  • a sequence of M blocks of information are transformed into N transformed blocks, where M and N are integers and N ⁇ M.
  • Each of the N transformed blocks are transmitted to a group of user devices in a network in accordance with a transmit schedule. At least one of the user devices, at least some of the N transformed blocks are received.
  • K distinct transformed blocks have been received, where K is an integer and K ⁇ N, the information is reconstructed from the K transformed blocks.
  • a system for transmitting information to multiple user devices.
  • the system includes a node configured to transform a sequence of M blocks of information into N transformed blocks, where M and N are integers and N ⁇ M, and at least one of the user devices is configured to receive the transformed blocks transmitted by the node.
  • the at least one user device is further configured to maintain a record of received ones of the transformed blocks and reconstruct the information from the received transformed blocks when K distinct transformed blocks have been received, where K is an integer and K ⁇ N.
  • the at least one user device is further configured to receive a recipient schedule, indicating a transmission time of at least one desired content, from the node, and is further configured to be in a reduced power mode after receiving the recipient schedule until the time of transmission of the at least one desired content or near the time of transmission of the at least one desired content.
  • a node configured to transmit to a group of user devices.
  • the node includes a storage configured to store a transmission schedule, a transformation component configured to transform a sequence of M blocks of the information into N transformed blocks, where M and N are integers and N ⁇ M, and a transmitter configured to transmit according to the transmission schedule.
  • a user device configured to receive a group of transformed blocks from a node.
  • the user device includes a storage configured to maintain a record of received ones of the transformed blocks and a reconstruction module configured to reconstruct original content used to derive the transformed blocks from less than a total number of the transformed blocks.
  • the user device is configured to run in a reduced power mode after the reconstruction module reconstructs the original content including a recipient schedule having a transmission time of at least one desired content and is further configured to end the reduced power mode at the transmission time of the at least one desired content or near the transmission time of the at least one desired content.
  • a computer-readable medium stores instructions executable by one or more processors to perform a method for transmitting information to a group of user devices.
  • the method includes transforming a sequence of M blocks of original content into N transformed blocks, where M and N are integers and N ⁇ M, and transmitting each of the N transformed blocks in accordance with a transmission schedule.
  • a computer-readable medium stores instructions executable by one or more processors to perform a method for receiving transformed blocks transmitted by a node to a group of devices.
  • at least one of the devices receives at least some of the transformed blocks transmitted by the node.
  • Original content is reconstructed from the transformed blocks when at least K blocks of the transformed blocks have been received, where K is an integer that is less than a total number of the transformed blocks transmitted by the node.
  • the reconstructed original content includes a recipient schedule having a transmission time of at least one desired content, power is reduced until the transmission time of the at least one desired content or until near the transmission time of the at least one desired content.
  • FIG. 1 depicts an exemplary system including a disseminating node and several recipient devices in which the node is communicating with the recipient devices in accordance with an embodiment of the invention
  • FIG. 2 depicts a more detailed view of the exemplary system of FIG. 1 illustrating transformation of original content in the disseminating node and broadcasting to the multiple recipient devices;
  • FIG. 3 illustrates an exemplary device which may be used as the node and the recipient devices
  • FIG. 4 illustrates an exemplary functional block diagram of the node
  • FIG. 5 depicts an exemplary transmission schedule
  • FIG. 6 depicts an exemplary recipient schedule
  • FIG. 7 is a functional block diagram of an exemplary recipient device
  • FIG. 8 shows an exemplary format for a record of received blocks, which may be included in a database of an exemplary recipient device
  • FIG. 9 is a flowchart illustrating processing in an exemplary node concerning a recipient schedule
  • FIG. 10 is a flowchart illustrating processing of original content in an exemplary node
  • FIGS. 11 and 12 are flowcharts illustrating processing in an exemplary node in accordance with another embodiment
  • FIG. 13 is a flowchart illustrating processing in an exemplary recipient device
  • FIG. 14 is a flowchart illustrating processing in an exemplary node using encryption.
  • FIG. 15 is a flowchart illustrating processing in an exemplary recipient device using decryption.
  • Embodiments of the invention may be implemented in hardware, software, or firmware.
  • the firmware may in a Read-Only Memory (ROM) and the software may reside on, for example, a medium such as a floppy disk, optical disk, or CD ROM.
  • ROM Read-Only Memory
  • FIG. 1 illustrates an exemplary system diagram of an implementation of the invention.
  • System 100 includes disseminating node 102 , which may reside in, for example, an aircraft, a satellite, or a lighter than air vehicle, such as a blimp, a dirigible or a balloon.
  • the disseminating node may reside in a fixed tower, such as a cellular or television tower.
  • Original content for dissemination may come from anywhere, for example, earth, sea or space.
  • disseminating node 102 may receive original content from ground station 104 for dissemination to a group of recipient or user devices, such as a recipient on the ground 106 , a recipient at sea 108 , and a recipient in the air 110 , such as a device in an aircraft.
  • Ground station 104 may reliably transmit the original content to disseminating node 102 via a conventional protocol, such as a protocol of the Internet Protocol (IP) suite, Ethernet frames, Asynchronous Transfer Mode (ATM), Synchronous Optical NETwork (SONET) or via any other convenient mechanisms.
  • IP Internet Protocol
  • ATM Asynchronous Transfer Mode
  • SONET Synchronous Optical NETwork
  • the communications link from ground station 104 to disseminating node 102 may be via radio frequency (RF), optical, acoustical, magnetic, or other forms of communications.
  • RF radio frequency
  • Loss-resilient messages include redundant data items, such that by transforming a sequence of M blocks of original content into N transformed blocks, where M and N are integers and N is greater than or equal to M, the block may be transmitted or broadcast to a group of devices in a manner that does not require acknowledgments from the receiving device.
  • K distinct transformed blocks have been received, where K is an integer and K ⁇ N, the receiving device may reconstruct the original content.
  • a protocol such as the IP datagram protocol, may be used to broadcast data to multiple users in a very demanding environment in which a large amount of data loss or corruption may be expected.
  • FIG. 2 illustrates aspects of system 100 of FIG. 1 .
  • a disseminating node 102 transforms M blocks of original content, using a loss-resilient technique, into N transformed blocks and transmits or broadcasts the N transformed blocks to multiple user devices, such as user devices on the ground 106 , in the air 110 and at sea 108 .
  • FIG. 3 illustrates an exemplary device 300 , which may be used as disseminating node 102 , ground station 104 , recipient device on ground 106 , recipient device at sea 108 , or recipient device in air 110 .
  • Device 300 includes a central processing unit (CPU) or processor 302 , transmitter 304 for transmitting a message, a receiver for receiving a message, a storage 308 , for example, Random Access Memory (RAM), magnetic disk, optical disk, or any other storage medium, and a bus 310 connecting the above-mentioned elements of device 300 .
  • device 300 takes other forms.
  • FIG. 4 is functional block diagram of exemplary disseminating node 102 .
  • Disseminating node 102 may include a transmitter 402 to transmit transformed content to multiple devices, a receiver 404 for receiving content from ground station 104 or any other source, transformation module 406 for transforming received original content according to the loss-resilient encoding method used, a deleter 408 to delete blocks of transformed content that are no longer needed and storage 412 , which may be, for example, RAM, a magnetic disk, an optical disk, or any other storage medium. Storage 412 may be used to store a copy of the transformed content.
  • node 102 may include an encryptor 410 to encrypt received original content prior to transforming and broadcasting the content to multiple recipient devices. Transformation module 406 may transform original content using conventional loss-resilient techniques, such as those described in U.S. Pat. Nos. 6,195,777, 6,163,870, 6,081,909 and 6,073,250.
  • Node 102 may further include a transmission schedule and a recipient schedule, which may be included in storage 412 .
  • the transmission schedule includes information related to the transmission of transformed content to the multiple user devices.
  • the recipient schedule includes a transmission time of the transformed content.
  • FIG. 5 illustrates an exemplary format of an entry in transmission schedule 500 .
  • Field 502 contains a content ID identifying the content.
  • Field 504 contains a version ID providing an indication of the version of the content.
  • Field 506 includes a block identifier or number for identifying a particular block.
  • Field 510 includes a meta-content packet identifier identifying a particular meta-content packet.
  • a meta-content packet is a packet that is transformed via a loss-resilient encoding method.
  • each meta-content packet corresponds to a respective transformed block.
  • the transmission schedule may include field 508 , which indicates a number of times the block has been transmitted.
  • Field 512 indicates a number of times the block may be transmitted.
  • Field 514 indicates the percentage of total bandwidth that may be used to transmit the transformed blocks from disseminating node 102 to the multiple recipient devices.
  • FIG. 6 illustrates an exemplary format of a recipient schedule 600 that may be broadcast to recipient devices from disseminating node 102 .
  • Recipient schedule 600 may include transmission time 602 , content ID 604 , version ID 606 and file size 608 .
  • Transmission time 602 may be a time, for example, Greenwich Mean Time, or an amount of time since a particular time point, such as midnight, at which the transformed content is scheduled to be broadcast by disseminating node 102 . The amount of time may be indicated in seconds, minutes, hours or any other unit.
  • Content ID 604 and Version ID 606 correspond to fields 502 and 504 , respectively, of transmission schedule 500 .
  • File size 608 is a size of the file in bytes, blocks or any other unit.
  • FIG. 7 is functional block diagram of an exemplary recipient device 702 , which may correspond to recipient devices 106 , 108 , and 110 ( FIG. 1 ).
  • Recipient device 702 may include a transmitter 704 for transmitting messages, a receiver 706 for receiving transformed blocks from disseminating node 102 , reconstruction module 708 for reconstructing original content from received transformed blocks, a content deleter 710 to delete outdated content and storage 712 for storing received transformed blocks.
  • Storage 712 also may be used to store a received recipient schedule.
  • Storage 712 may be magnetic disk, optical disk, RAM, or any other storage medium.
  • recipient device 702 may include decryptor 714 for decrypting received encrypted transformed content.
  • Storage 712 may include a database storage to maintain a record of received transformed blocks from disseminating node 102 .
  • Reconstruction module 708 may reconstruct original content from transformed blocks that were encoded using conventional loss-resilient techniques, such as those described in U.S. Pat. Nos. 6,195,777, 6,163,870, 6,081,909 and 6,073,250.
  • FIG. 8 illustrates an exemplary format of data included in such a database.
  • Field 802 of an exemplary database includes a content ID identifying received content.
  • Field 804 includes a version identifier identifying a particular version of the received content.
  • Field 806 includes a block number identifying a particular block of the particular version of the content.
  • Field 808 indicates whether the corresponding block was successfully received.
  • Field 810 includes an identifier of a meta-content packet or a transformed packet corresponding to the block number indicated by field 806 .
  • FIG. 9 is a flowchart illustrating a process in an implementation of disseminating node 102 for disseminating recipient schedule 600 to recipient devices.
  • Disseminating node 102 may include a recipient schedule, which may have been received from ground station 104 via a reliable transmission link or from any other source and may be stored in storage 412 ( FIG. 4 ).
  • transformation module 406 may transform the recipient schedule into a redundant loss-resilient content. For example, transformation module 406 may transform the recipient schedule into transformed blocks including loss-resilient meta-content.
  • transmitter 402 transmits or broadcasts, according to a transmission schedule, the transformed blocks of the recipient schedule to multiple user devices.
  • disseminating node 102 may determine whether all of the transformed blocks have been sent. This may be performed by referring to the transmission schedule or by counting the number of distinct blocks transmitted. Assuming that there are N distinct blocks, when the counter reaches N, all distinct blocks have been transmitted.
  • disseminating node 102 may schedule a next transformed block for transmission, according to the transmission schedule by placing the next transformed block in a transmit queue.
  • transmitter 402 may transmit or broadcast the next transformed block. If, at act 906 , disseminating node 102 determines that no blocks remain to be sent (for example, N blocks have been transmitted), then transmission to the multiple user devices is complete.
  • FIG. 10 is a flowchart illustrating processing in an exemplary implementation of disseminating node 102 .
  • Disseminating node 102 includes original content, which may have been received from ground station 104 or any other source and may be stored in storage 412 ( FIG. 4 ).
  • transformation module 406 may transform the original content into a redundant loss-resilient content. For example, transformation module 406 may transform the original content into transformed blocks including loss-resilient meta-content.
  • transmitter 402 transmits or broadcasts, according to a transmission schedule, the transformed blocks of the content to multiple user devices.
  • disseminating node 102 may determine whether all of the transformed blocks have been sent. This may be performed by referring to the transmission schedule or by counting the number of distinct blocks transmitted. Assuming that there are N distinct blocks, when the counter reaches N, all distinct blocks have been transmitted.
  • disseminating node 102 may schedule a next transformed block for transmission, according to the transmission schedule by placing the next transformed block in a transmit queue.
  • transmitter 402 may transmit or broadcast the next transformed block. If, at act 1006 , disseminating node 102 determines that no blocks remain to be sent (for example, N blocks have been transmitted), then transmission to the multiple user devices is complete.
  • FIGS. 11 and 12 are flowcharts that illustrate processing in another implementation of disseminating node 102 .
  • Original content is stored in storage 712 .
  • Ground station 104 may have sent the original content to disseminating node 102 via a reliable communication link or the original content may be sent to disseminating node 102 from any other source.
  • transformation module 406 may transform the original content by using a loss-resilient encoding method.
  • disseminating node 102 may refer to field 514 of the transmission schedule for the respective block to determine whether a current bandwidth for the transmission of the content will exceed the allowed percentage of the total bandwidth for the content if the block is transmitted.
  • Current bandwidth may be determined by calculating an amount of bandwidth used for a most recent predefined time period, for example, a most recent 10 second period.
  • the current bandwidth may be calculated after transmission of each meta-content packet. If broadcasting or transmitting the block would cause the bandwidth to exceed the allowed percentage or total bandwidth, as described in field 514 of the transmission schedule, then, at act 1106 , transmission of the block may be delayed and the check at act 1104 will be performed again after the delay.
  • the delay may be for a predetermined time period, for example, 2 seconds.
  • disseminating node 102 may compare the percentage of total bandwidth allowed, field 514 , with the current bandwidth used to transmit the content over the most current predefined period of time. Alternatively, disseminating node 102 , at act 1106 , may instead schedule another block for transmission, for example the next block that would be transmitted or the block that would be transmitted after the next 2 blocks by placing that block on the transmit queue.
  • transmitter 402 transmits or broadcasts the transformed block and at act 1110 , disseminating node 102 may increment field 508 of the corresponding entry in the transmission schedule.
  • disseminating node 102 compares the number of transmissions field 508 to the number of times allowed to transmit field 512 . If the number of transmissions field 508 is greater than or equal to the number of times allowed to transmit field 512 , then deleter 408 may delete the entry of the transmission schedule that includes the current block from the transmission schedule so that the block will no longer be transmitted. Optionally, deleter 408 may instead include an indication in the corresponding transmission schedule entry indicating that this entry is not to be transmitted.
  • disseminating node 102 determines, at act 1206 , whether any additional blocks exist to transmit or broadcast. This may be performed by referring to the transmission schedule. If no blocks are to be transmitted, then transmission of the transformed content is complete. Otherwise, at act 1208 the disseminating node 102 schedules the next transformed block for transmission by transmitter 402 , according to the transmission schedule, and, at act 1104 , disseminating node 102 may determine whether the transmission of the block would cause the bandwidth to exceed the percentage of bandwidth permitted for use if the transformed content is transmitted.
  • FIG. 13 is a flowchart that illustrates processing in an exemplary implementation of recipient device 702 corresponding to one of recipient devices 106 , 108 , and 110 .
  • receiver 606 receives the transformed block from disseminating node 102 .
  • Each received transformed block may include a content identifier, a version identifier and a block number.
  • Recipient device 702 may maintain a record or database of the blocks received for a particular content and version.
  • recipient device 702 updates the database of the received blocks to indicate content ID in field 802 ( FIG.
  • reconstruction module 708 determines whether enough transformed blocks have been received to reconstruct the original content, for example, whether K blocks have been received. If the required number of transformed blocks have not yet been received, then at act 1302 , recipient device 702 awaits receipt of a new transformed block. Otherwise, at act 1308 , reconstruction module 708 reconstructs the original content, which may then be stored in storage 712 . For example, reconstruction module 708 may use conventional techniques to reconstruct the original content from K blocks of the content.
  • content deleter 710 may delete the transformed blocks corresponding to the unknown content and/or version identifier. Alternatively, if a newer version identifier is received that indicates a new version of the content, then content deleter 710 may delete all blocks pertaining to the older version of the content by referring to the transmission schedule having the format corresponding to FIG. 5 .
  • Recipient device 702 may receive recipient schedule 600 using the exemplary process of FIG. 13 . Further, energy conservation techniques may be employed to reduce power consumption in node 102 until a time when desired content is scheduled to be broadcast. Power reducing techniques are well known. Such techniques are disclosed in U.S. Pat. Nos. 5,507,039 to Honma, 6,397,053 to Ghiazza, and 6,006,336 to Watts, Jr. et al. U.S. Pat. Nos. 5,507,039, 6,397,053 and 6,006,336 are incorporated herein by reference in their respective entireties.
  • recipient device 702 may, after receiving the recipient schedule, reduce power until a scheduled broadcast time of desired content or until a short period of time before the scheduled broadcast time, for example two minutes before.
  • receiver 706 may be powered off until or near the scheduled broadcast time of desired data.
  • disseminating node 102 may encrypt the original content and recipient device 702 may decrypt the reconstructed encrypted original content.
  • node 102 , and recipient device 102 may encrypt the recipient schedule and may decrypt the reconstructed encrypted recipient schedule, respectively.
  • FIG. 14 is a flowchart illustrating processing in an exemplary implementation of disseminating node 102 that encrypts original content.
  • the original content may have been received from ground station 104 or any other source and may be stored in storage 412 ( FIG. 4 ).
  • encrypter 410 may encrypt the original content using an encryption key.
  • transformation module 406 may transform the encrypted original content according to a loss-resilient encoding method. With regard to this example, N transformed encrypted blocks are to be transmitted.
  • transmitter 402 transmits or broadcasts the transformed block to one or more recipient devices.
  • disseminating node 102 determines whether all N transformed blocks have been transmitted by referring to the transmission schedule or by counting the number of distinct blocks transmitted. If not all N blocks have been transmitted, disseminating node 102 at act 1410 , may schedule the next transformed block for transmission according to the transmission schedule and at act 1406 , transmitter 402 transmits or broadcasts the transformed block. If, at act 1408 , disseminating node 102 determines that no additional blocks are to be transmitted or broadcast, then the transmission process is complete. The same process may be used to transform and encrypt the recipient schedule. Thus, in an implementation of disseminating node 102 , the recipient schedule may be encrypted at act 1402 and transmitted at act 1406 .
  • Encryption may be used with other implementations of disseminating node 102 .
  • the method illustrated in FIG. 11 and FIG. 12 may be modified to use encryption by encrypting the original content prior to act 1102 .
  • transformation module 406 may transform the encrypted original content.
  • FIG. 15 is a flowchart illustrating an exemplary process performed by recipient device 702 for receiving encrypted content.
  • recipient device 702 receives a transformed block.
  • recipient device 702 may update a database that may have a format as illustrated in FIG. 8 to include the content and version ID of the received transformed block, the block number, whether the block had been successfully received and an indicator of the meta-content packet or the meta-content packet itself. This information may be used by recipient device 702 at a later time, for example, to determine whether K blocks have been received or whether outdated content should be deleted.
  • recipient node 702 determines whether enough blocks (K blocks) have been successfully received to reconstruct the encrypted original content.
  • receiver 404 awaits reception of the next transformed block transmitted by disseminating node 102 . If, at act 1506 , reconstruction module 708 determines that enough blocks have been successfully received to reconstruct the encrypted contents, then at act 1508 , reconstruction module 708 reconstructs the encrypted original content by decoding the data transmitted via the encoded loss-resilient method. At act 1510 , decryptor 714 decrypts the encrypted content according to a decryption key, thereby, recovering the unencrypted original content. Recipient device 702 may use the process of FIG. 15 to receive the recipient schedule. Thus, in act 1508 , reconstruction module 708 may reconstruct the encrypted recipient schedule and in act 1510 , decryptor 714 may decrypt the encrypted reconstructed schedule.
  • Systems and methods consistent with the present invention provide a robust method for transmitting content to multiple devices according to a transmit schedule and for receiving content by multiple users.

Abstract

A system and method for transmitting information to a group of recipient devices according to a transmission schedule. A sequence of M blocks of information are transformed into N transformed blocks, where M and N are integers and N≧M. Each of the N transformed blocks are transmitted to a group of user devices in a network in accordance with a transmission schedule. At one of the user devices at least some of the N transformed blocks are received. When K distinct transformed blocks have been received, where K is an integer and K<N, the information is reconstructed from the K transformed blocks. In some implementations, at least one recipient device reduces power, after receiving a recipient schedule including a transmission time of at least one desired content, until or near the transmission time of the at least one desired content.

Description

TECHNICAL FIELD
The invention pertains to communication networks. In particular the invention pertains to methods and systems for sending content to a group of recipient devices.
BACKGROUND OF THE INVENTION
Information dissemination has proved of great utility in both commercial and military situations. Such dissemination has typically been arranged so that content sent from one central point can be received at a number of recipient points. For example, television and radio stations have generally used radio towers as their central points, whereas cable systems have used cable head-ends. Satellite television and radio systems have used satellites. In military situations, satellites and other “elevated platforms” (such as aircraft or lighter than air vehicles) have been used as the central point from which information is disseminated to the intended recipients, e.g., ships, field camps, or vehicles.
The above systems have generally been quite simple in their operation. For example, well-known data dissemination systems such as a Global Broadcast System have repeated transmission of a particular piece of information N times in order to boost the probability that it is correctly received by each intended recipient. Although such strategies have the virtue of simplicity, they are not robust in that they do not provide adequately for recovering content if some, possibly even a large fraction, of the data cannot be correctly received by a recipient.
Methods of robustly transmitting packetized data were developed such that for each piece of content, a potentially limitless stream of meta-content is generated, which includes mathematical metaphors that describe the original content. A bit-by-bit copy of the original content may be quickly recovered from any portion of the meta-content that, in aggregate, is equal to the length of the original content, regardless of the order in which the meta-content was received. These methods, however, do not provide for packets being transmitted according to a schedule that defines the number of times each block of information may be transmitted, a particular order for transmitting blocks, or a maximum amount of bandwidth to be used to transmit the block. The use of such a schedule would make it possible to adjust broadcast transmission characteristics by simply changing the schedule. In addition, the use of a schedule would make it possible for recipient devices to operate in a reduced power mode until, according to the schedule, useful information is to be broadcast. Further, the existing methods do not describe a way for recipients to determine when information in the process of being received is outdated and should be discarded.
SUMMARY OF THE INVENTION
A method and system are provided for robustly sending data to multiple recipients from one or more disseminating nodes. The disseminating nodes may disseminate version information and/or scheduling information.
In one aspect of the invention, a sequence of M blocks of information are transformed into N transformed blocks, where M and N are integers and N≧M. Each of the N transformed blocks are transmitted to a group of user devices in a network in accordance with a transmit schedule. At least one of the user devices, at least some of the N transformed blocks are received. When K distinct transformed blocks have been received, where K is an integer and K<N, the information is reconstructed from the K transformed blocks.
In another aspect of the invention, a system is provided for transmitting information to multiple user devices. The system includes a node configured to transform a sequence of M blocks of information into N transformed blocks, where M and N are integers and N≧M, and at least one of the user devices is configured to receive the transformed blocks transmitted by the node. The at least one user device is further configured to maintain a record of received ones of the transformed blocks and reconstruct the information from the received transformed blocks when K distinct transformed blocks have been received, where K is an integer and K<N. Additionally, the at least one user device is further configured to receive a recipient schedule, indicating a transmission time of at least one desired content, from the node, and is further configured to be in a reduced power mode after receiving the recipient schedule until the time of transmission of the at least one desired content or near the time of transmission of the at least one desired content.
In a third aspect of the invention, a node configured to transmit to a group of user devices is provided. The node includes a storage configured to store a transmission schedule, a transformation component configured to transform a sequence of M blocks of the information into N transformed blocks, where M and N are integers and N≧M, and a transmitter configured to transmit according to the transmission schedule.
In a fourth aspect of the invention, a user device configured to receive a group of transformed blocks from a node is provided. The user device includes a storage configured to maintain a record of received ones of the transformed blocks and a reconstruction module configured to reconstruct original content used to derive the transformed blocks from less than a total number of the transformed blocks. The user device is configured to run in a reduced power mode after the reconstruction module reconstructs the original content including a recipient schedule having a transmission time of at least one desired content and is further configured to end the reduced power mode at the transmission time of the at least one desired content or near the transmission time of the at least one desired content.
In a fifth aspect of the invention, a computer-readable medium is provided. The computer-readable medium stores instructions executable by one or more processors to perform a method for transmitting information to a group of user devices. The method includes transforming a sequence of M blocks of original content into N transformed blocks, where M and N are integers and N≧M, and transmitting each of the N transformed blocks in accordance with a transmission schedule.
In a sixth aspect of the invention, a computer-readable medium is provided that stores instructions executable by one or more processors to perform a method for receiving transformed blocks transmitted by a node to a group of devices. In the method, at least one of the devices receives at least some of the transformed blocks transmitted by the node. Original content is reconstructed from the transformed blocks when at least K blocks of the transformed blocks have been received, where K is an integer that is less than a total number of the transformed blocks transmitted by the node. When the reconstructed original content includes a recipient schedule having a transmission time of at least one desired content, power is reduced until the transmission time of the at least one desired content or until near the transmission time of the at least one desired content.
BRIEF DESCRIPTION OF THE DRAWINGS
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate an embodiment of the invention and, together with the description, explain the invention. In the drawings,
FIG. 1 depicts an exemplary system including a disseminating node and several recipient devices in which the node is communicating with the recipient devices in accordance with an embodiment of the invention;
FIG. 2 depicts a more detailed view of the exemplary system of FIG. 1 illustrating transformation of original content in the disseminating node and broadcasting to the multiple recipient devices;
FIG. 3 illustrates an exemplary device which may be used as the node and the recipient devices;
FIG. 4 illustrates an exemplary functional block diagram of the node;
FIG. 5 depicts an exemplary transmission schedule;
FIG. 6 depicts an exemplary recipient schedule;
FIG. 7 is a functional block diagram of an exemplary recipient device;
FIG. 8 shows an exemplary format for a record of received blocks, which may be included in a database of an exemplary recipient device;
FIG. 9 is a flowchart illustrating processing in an exemplary node concerning a recipient schedule;
FIG. 10 is a flowchart illustrating processing of original content in an exemplary node;
FIGS. 11 and 12 are flowcharts illustrating processing in an exemplary node in accordance with another embodiment;
FIG. 13 is a flowchart illustrating processing in an exemplary recipient device;
FIG. 14 is a flowchart illustrating processing in an exemplary node using encryption; and
FIG. 15 is a flowchart illustrating processing in an exemplary recipient device using decryption.
DETAILED DESCRIPTION
The following detailed description of the invention refers to the accompanying drawings. The same reference numbers in different drawings may identify the same or similar elements. The following detailed description does not limit the invention. Instead, the scope of the invention is defined by the appended claims and equivalents.
Embodiments of the invention may be implemented in hardware, software, or firmware. The firmware may in a Read-Only Memory (ROM) and the software may reside on, for example, a medium such as a floppy disk, optical disk, or CD ROM.
FIG. 1 illustrates an exemplary system diagram of an implementation of the invention. System 100 includes disseminating node 102, which may reside in, for example, an aircraft, a satellite, or a lighter than air vehicle, such as a blimp, a dirigible or a balloon. Alternatively, the disseminating node may reside in a fixed tower, such as a cellular or television tower.
Original content for dissemination may come from anywhere, for example, earth, sea or space. In many cases, disseminating node 102 may receive original content from ground station 104 for dissemination to a group of recipient or user devices, such as a recipient on the ground 106, a recipient at sea 108, and a recipient in the air 110, such as a device in an aircraft.
Ground station 104 may reliably transmit the original content to disseminating node 102 via a conventional protocol, such as a protocol of the Internet Protocol (IP) suite, Ethernet frames, Asynchronous Transfer Mode (ATM), Synchronous Optical NETwork (SONET) or via any other convenient mechanisms. The communications link from ground station 104 to disseminating node 102 may be via radio frequency (RF), optical, acoustical, magnetic, or other forms of communications.
Various encoding schemes for encoding loss-resilient data such that data may be recovered without retransmission are well known. Such loss-resilient techniques require the transmission of redundant data items. Examples of such techniques include Reed-Solomon techniques and Fourier transform-based techniques. Other techniques for encoding loss-resilient messages are described in U.S. Pat. No. 6,195,777, U.S. Pat. No. 6,163,870, U.S. Pat. No. 6,081,909 and U.S. Pat. No. 6,073,250 all to Luby et al., all of which are herein incorporated by reference.
Loss-resilient messages include redundant data items, such that by transforming a sequence of M blocks of original content into N transformed blocks, where M and N are integers and N is greater than or equal to M, the block may be transmitted or broadcast to a group of devices in a manner that does not require acknowledgments from the receiving device. When K distinct transformed blocks have been received, where K is an integer and K<N, the receiving device may reconstruct the original content. Thus, a protocol, such as the IP datagram protocol, may be used to broadcast data to multiple users in a very demanding environment in which a large amount of data loss or corruption may be expected.
FIG. 2 illustrates aspects of system 100 of FIG. 1. A disseminating node 102 transforms M blocks of original content, using a loss-resilient technique, into N transformed blocks and transmits or broadcasts the N transformed blocks to multiple user devices, such as user devices on the ground 106, in the air 110 and at sea 108.
FIG. 3 illustrates an exemplary device 300, which may be used as disseminating node 102, ground station 104, recipient device on ground 106, recipient device at sea 108, or recipient device in air 110. Device 300 includes a central processing unit (CPU) or processor 302, transmitter 304 for transmitting a message, a receiver for receiving a message, a storage 308, for example, Random Access Memory (RAM), magnetic disk, optical disk, or any other storage medium, and a bus 310 connecting the above-mentioned elements of device 300. In other implementations, device 300 takes other forms.
FIG. 4 is functional block diagram of exemplary disseminating node 102. Disseminating node 102 may include a transmitter 402 to transmit transformed content to multiple devices, a receiver 404 for receiving content from ground station 104 or any other source, transformation module 406 for transforming received original content according to the loss-resilient encoding method used, a deleter 408 to delete blocks of transformed content that are no longer needed and storage 412, which may be, for example, RAM, a magnetic disk, an optical disk, or any other storage medium. Storage 412 may be used to store a copy of the transformed content. Optionally, node 102 may include an encryptor 410 to encrypt received original content prior to transforming and broadcasting the content to multiple recipient devices. Transformation module 406 may transform original content using conventional loss-resilient techniques, such as those described in U.S. Pat. Nos. 6,195,777, 6,163,870, 6,081,909 and 6,073,250.
Node 102 may further include a transmission schedule and a recipient schedule, which may be included in storage 412. The transmission schedule includes information related to the transmission of transformed content to the multiple user devices. The recipient schedule includes a transmission time of the transformed content.
FIG. 5 illustrates an exemplary format of an entry in transmission schedule 500. Field 502 contains a content ID identifying the content. Field 504 contains a version ID providing an indication of the version of the content. Field 506 includes a block identifier or number for identifying a particular block. Field 510 includes a meta-content packet identifier identifying a particular meta-content packet. A meta-content packet is a packet that is transformed via a loss-resilient encoding method. In one implementation, each meta-content packet corresponds to a respective transformed block. Optionally, the transmission schedule may include field 508, which indicates a number of times the block has been transmitted. Field 512 indicates a number of times the block may be transmitted. Field 514 indicates the percentage of total bandwidth that may be used to transmit the transformed blocks from disseminating node 102 to the multiple recipient devices.
FIG. 6 illustrates an exemplary format of a recipient schedule 600 that may be broadcast to recipient devices from disseminating node 102. Recipient schedule 600 may include transmission time 602, content ID 604, version ID 606 and file size 608. Transmission time 602 may be a time, for example, Greenwich Mean Time, or an amount of time since a particular time point, such as midnight, at which the transformed content is scheduled to be broadcast by disseminating node 102. The amount of time may be indicated in seconds, minutes, hours or any other unit. Content ID 604 and Version ID 606 correspond to fields 502 and 504, respectively, of transmission schedule 500. File size 608 is a size of the file in bytes, blocks or any other unit.
FIG. 7 is functional block diagram of an exemplary recipient device 702, which may correspond to recipient devices 106, 108, and 110 (FIG. 1). Recipient device 702 may include a transmitter 704 for transmitting messages, a receiver 706 for receiving transformed blocks from disseminating node 102, reconstruction module 708 for reconstructing original content from received transformed blocks, a content deleter 710 to delete outdated content and storage 712 for storing received transformed blocks. Storage 712 also may be used to store a received recipient schedule. Storage 712 may be magnetic disk, optical disk, RAM, or any other storage medium. Optionally, recipient device 702 may include decryptor 714 for decrypting received encrypted transformed content. Storage 712 may include a database storage to maintain a record of received transformed blocks from disseminating node 102. Reconstruction module 708 may reconstruct original content from transformed blocks that were encoded using conventional loss-resilient techniques, such as those described in U.S. Pat. Nos. 6,195,777, 6,163,870, 6,081,909 and 6,073,250.
FIG. 8 illustrates an exemplary format of data included in such a database. Field 802 of an exemplary database includes a content ID identifying received content. Field 804 includes a version identifier identifying a particular version of the received content. Field 806 includes a block number identifying a particular block of the particular version of the content. Field 808 indicates whether the corresponding block was successfully received. Field 810 includes an identifier of a meta-content packet or a transformed packet corresponding to the block number indicated by field 806.
FIG. 9 is a flowchart illustrating a process in an implementation of disseminating node 102 for disseminating recipient schedule 600 to recipient devices. Disseminating node 102 may include a recipient schedule, which may have been received from ground station 104 via a reliable transmission link or from any other source and may be stored in storage 412 (FIG. 4).
At act 902, transformation module 406 may transform the recipient schedule into a redundant loss-resilient content. For example, transformation module 406 may transform the recipient schedule into transformed blocks including loss-resilient meta-content. At act 904, transmitter 402 transmits or broadcasts, according to a transmission schedule, the transformed blocks of the recipient schedule to multiple user devices. At act 906, disseminating node 102 may determine whether all of the transformed blocks have been sent. This may be performed by referring to the transmission schedule or by counting the number of distinct blocks transmitted. Assuming that there are N distinct blocks, when the counter reaches N, all distinct blocks have been transmitted. At act 908, disseminating node 102 may schedule a next transformed block for transmission, according to the transmission schedule by placing the next transformed block in a transmit queue. At act 904, transmitter 402 may transmit or broadcast the next transformed block. If, at act 906, disseminating node 102 determines that no blocks remain to be sent (for example, N blocks have been transmitted), then transmission to the multiple user devices is complete.
FIG. 10 is a flowchart illustrating processing in an exemplary implementation of disseminating node 102. Disseminating node 102 includes original content, which may have been received from ground station 104 or any other source and may be stored in storage 412 (FIG. 4).
At act 1002, transformation module 406 may transform the original content into a redundant loss-resilient content. For example, transformation module 406 may transform the original content into transformed blocks including loss-resilient meta-content. At act 1004, transmitter 402 transmits or broadcasts, according to a transmission schedule, the transformed blocks of the content to multiple user devices. At act 1006, disseminating node 102 may determine whether all of the transformed blocks have been sent. This may be performed by referring to the transmission schedule or by counting the number of distinct blocks transmitted. Assuming that there are N distinct blocks, when the counter reaches N, all distinct blocks have been transmitted. At act 1008, disseminating node 102 may schedule a next transformed block for transmission, according to the transmission schedule by placing the next transformed block in a transmit queue. At act 1004, transmitter 402 may transmit or broadcast the next transformed block. If, at act 1006, disseminating node 102 determines that no blocks remain to be sent (for example, N blocks have been transmitted), then transmission to the multiple user devices is complete.
FIGS. 11 and 12 are flowcharts that illustrate processing in another implementation of disseminating node 102. Original content is stored in storage 712. Ground station 104 may have sent the original content to disseminating node 102 via a reliable communication link or the original content may be sent to disseminating node 102 from any other source. At act 1102, transformation module 406 may transform the original content by using a loss-resilient encoding method. At act 1104, disseminating node 102 may refer to field 514 of the transmission schedule for the respective block to determine whether a current bandwidth for the transmission of the content will exceed the allowed percentage of the total bandwidth for the content if the block is transmitted. Current bandwidth may be determined by calculating an amount of bandwidth used for a most recent predefined time period, for example, a most recent 10 second period. The current bandwidth may be calculated after transmission of each meta-content packet. If broadcasting or transmitting the block would cause the bandwidth to exceed the allowed percentage or total bandwidth, as described in field 514 of the transmission schedule, then, at act 1106, transmission of the block may be delayed and the check at act 1104 will be performed again after the delay. The delay may be for a predetermined time period, for example, 2 seconds. At act 1104, disseminating node 102 may compare the percentage of total bandwidth allowed, field 514, with the current bandwidth used to transmit the content over the most current predefined period of time. Alternatively, disseminating node 102, at act 1106, may instead schedule another block for transmission, for example the next block that would be transmitted or the block that would be transmitted after the next 2 blocks by placing that block on the transmit queue.
At act 1108, transmitter 402 transmits or broadcasts the transformed block and at act 1110, disseminating node 102 may increment field 508 of the corresponding entry in the transmission schedule. At act 1202 (FIG. 12), disseminating node 102 compares the number of transmissions field 508 to the number of times allowed to transmit field 512. If the number of transmissions field 508 is greater than or equal to the number of times allowed to transmit field 512, then deleter 408 may delete the entry of the transmission schedule that includes the current block from the transmission schedule so that the block will no longer be transmitted. Optionally, deleter 408 may instead include an indication in the corresponding transmission schedule entry indicating that this entry is not to be transmitted.
After deletion of the block at act 1204 or if the number of transmissions field 508 does not exceed the number of times allowed to transmit field 512, disseminating node 102 determines, at act 1206, whether any additional blocks exist to transmit or broadcast. This may be performed by referring to the transmission schedule. If no blocks are to be transmitted, then transmission of the transformed content is complete. Otherwise, at act 1208 the disseminating node 102 schedules the next transformed block for transmission by transmitter 402, according to the transmission schedule, and, at act 1104, disseminating node 102 may determine whether the transmission of the block would cause the bandwidth to exceed the percentage of bandwidth permitted for use if the transformed content is transmitted.
FIG. 13 is a flowchart that illustrates processing in an exemplary implementation of recipient device 702 corresponding to one of recipient devices 106, 108, and 110. At act 1302, receiver 606 receives the transformed block from disseminating node 102. Each received transformed block may include a content identifier, a version identifier and a block number. Recipient device 702 may maintain a record or database of the blocks received for a particular content and version. At act 1304, recipient device 702 updates the database of the received blocks to indicate content ID in field 802 (FIG. 8), version ID in field 804, block number in field 806, whether the block had been successfully received in field 808 and in field 810, a meta-content packet indicator referring to the received meta-content packet corresponding to the block number indicated by field 806. Alternatively, field 810 may include the particular meta-content packet. At act 1306, reconstruction module 708 determines whether enough transformed blocks have been received to reconstruct the original content, for example, whether K blocks have been received. If the required number of transformed blocks have not yet been received, then at act 1302, recipient device 702 awaits receipt of a new transformed block. Otherwise, at act 1308, reconstruction module 708 reconstructs the original content, which may then be stored in storage 712. For example, reconstruction module 708 may use conventional techniques to reconstruct the original content from K blocks of the content.
In other implementations of recipient device 704, at act 1304 if an unknown content and/or version identifier is received, content deleter 710 may delete the transformed blocks corresponding to the unknown content and/or version identifier. Alternatively, if a newer version identifier is received that indicates a new version of the content, then content deleter 710 may delete all blocks pertaining to the older version of the content by referring to the transmission schedule having the format corresponding to FIG. 5.
Recipient device 702 may receive recipient schedule 600 using the exemplary process of FIG. 13. Further, energy conservation techniques may be employed to reduce power consumption in node 102 until a time when desired content is scheduled to be broadcast. Power reducing techniques are well known. Such techniques are disclosed in U.S. Pat. Nos. 5,507,039 to Honma, 6,397,053 to Ghiazza, and 6,006,336 to Watts, Jr. et al. U.S. Pat. Nos. 5,507,039, 6,397,053 and 6,006,336 are incorporated herein by reference in their respective entireties. Using power reducing techniques, recipient device 702 may, after receiving the recipient schedule, reduce power until a scheduled broadcast time of desired content or until a short period of time before the scheduled broadcast time, for example two minutes before. Alternatively, receiver 706 may be powered off until or near the scheduled broadcast time of desired data.
In some implementations, it may be possible to provide an added layer of security, such that not all recipients may be able to receive the encrypted original contents. In such an implementation, disseminating node 102 may encrypt the original content and recipient device 702 may decrypt the reconstructed encrypted original content. Similarly, node 102, and recipient device 102 may encrypt the recipient schedule and may decrypt the reconstructed encrypted recipient schedule, respectively.
FIG. 14 is a flowchart illustrating processing in an exemplary implementation of disseminating node 102 that encrypts original content. The original content may have been received from ground station 104 or any other source and may be stored in storage 412 (FIG. 4). At act 1402, encrypter 410 may encrypt the original content using an encryption key. At act 1404, transformation module 406 may transform the encrypted original content according to a loss-resilient encoding method. With regard to this example, N transformed encrypted blocks are to be transmitted. At act 1406, transmitter 402 transmits or broadcasts the transformed block to one or more recipient devices. At act 1408, disseminating node 102 determines whether all N transformed blocks have been transmitted by referring to the transmission schedule or by counting the number of distinct blocks transmitted. If not all N blocks have been transmitted, disseminating node 102 at act 1410, may schedule the next transformed block for transmission according to the transmission schedule and at act 1406, transmitter 402 transmits or broadcasts the transformed block. If, at act 1408, disseminating node 102 determines that no additional blocks are to be transmitted or broadcast, then the transmission process is complete. The same process may be used to transform and encrypt the recipient schedule. Thus, in an implementation of disseminating node 102, the recipient schedule may be encrypted at act 1402 and transmitted at act 1406.
Encryption may be used with other implementations of disseminating node 102. For example, the method illustrated in FIG. 11 and FIG. 12 may be modified to use encryption by encrypting the original content prior to act 1102. At act 1102, transformation module 406 may transform the encrypted original content.
FIG. 15 is a flowchart illustrating an exemplary process performed by recipient device 702 for receiving encrypted content. At act 1502, recipient device 702 receives a transformed block. At act 1504, recipient device 702 may update a database that may have a format as illustrated in FIG. 8 to include the content and version ID of the received transformed block, the block number, whether the block had been successfully received and an indicator of the meta-content packet or the meta-content packet itself. This information may be used by recipient device 702 at a later time, for example, to determine whether K blocks have been received or whether outdated content should be deleted. At act 1506, recipient node 702 determines whether enough blocks (K blocks) have been successfully received to reconstruct the encrypted original content. If not, then at act 1502, receiver 404 awaits reception of the next transformed block transmitted by disseminating node 102. If, at act 1506, reconstruction module 708 determines that enough blocks have been successfully received to reconstruct the encrypted contents, then at act 1508, reconstruction module 708 reconstructs the encrypted original content by decoding the data transmitted via the encoded loss-resilient method. At act 1510, decryptor 714 decrypts the encrypted content according to a decryption key, thereby, recovering the unencrypted original content. Recipient device 702 may use the process of FIG. 15 to receive the recipient schedule. Thus, in act 1508, reconstruction module 708 may reconstruct the encrypted recipient schedule and in act 1510, decryptor 714 may decrypt the encrypted reconstructed schedule.
CONCLUSION
Systems and methods consistent with the present invention provide a robust method for transmitting content to multiple devices according to a transmit schedule and for receiving content by multiple users.
The foregoing description of the preferred embodiments of the present invention are provided for illustration and description, but is not intended to be limiting or to limit the invention to the precise form disclosed. Modifications and variations are possible in light of the above teachings or may be acquired from practice of the invention for example, while series of acts have been described with regard to FIGS. 9-15, the order of the acts may differ in other implementations consistent with the present invention. Also, non-dependent acts may be performed in parallel.
No element, act or instruction used in the description of the present application should be construed as critical or essential to the invention unless explicitly described as such. Also, as used herein, the article “a” is intended to include one or more items. Where only one item is intended, the term “one” or similar language is used. The scope of the invention is defined by the claims and their equivalents.

Claims (29)

1. A method of transmitting information to a plurality of user devices in a network, the method comprising:
performing at a transmitting device:
transforming a sequence of M blocks of the information into N transformed blocks, where M and N are integers and N≧M, and where each of the N transformed blocks comprises at least some of the information determining a current bandwidth for transmission of the information; determining an allowed bandwidth for transmission of the information; and
transmitting each of the N transformed blocks in accordance with a transmit schedule where the transmitting includes delaying transmission of one of the N transformed blocks when transmitting the one of the N transformed blocks would cause the current bandwidth to exceed the allowed bandwidth;
performing at least one of the user devices:
receiving K distinct ones of the transformed blocks, where K is an integer and K<N; and
reconstructing the information from the K received transformed blocks.
2. The method of claim 1, where the performing at the at least one of the user devices further comprises maintaining a record of which ones of the transformed blocks have been received.
3. The method of claim 2, where the maintained record includes data regarding a content and a version of the content, the method further comprising using the maintained record to discard received ones of the transformed blocks having an older version of the content when a transformed block of a newer version of the content is received.
4. The method of claim 1, where the transmitted transformed blocks include content identifiers, the method further comprising discarding the received transformed blocks including an unknown content identifier.
5. The method of claim 1, where the transmitted transformed blocks include content identifiers and version identifiers, the method further comprising replacing received information with newer received information when the newer received information has a same content identifier as the received information and a newer version identifier than the received information.
6. The method of claim 1, where the transmit schedule includes a number of times each of the transformed blocks is permitted to be transmitted before the transformed block is to be discarded.
7. The method of claim 6, where the transmit schedule further includes a transmit limit for content included in the information, the transmit limit indicating an amount of bandwidth not to be exceeded when transmitting the content.
8. The method of claim 1, where the current bandwidth for the content is recalculated after transmitting the one of the N transformed blocks.
9. The method of claim 1, further comprising: transmitting a next one of the N transformed blocks when transmitting the one of the N transformed blocks would cause the current bandwidth to exceed the allowed bandwidth.
10. The method of claim 1, where:
the transforming transforms a recipient schedule,
the transmitting transmits the transformed recipient schedule to the at least one user device, and
the recipient schedule includes a transmission time of at least one desired content.
11. The method of claim 10, where:
the receiving receives the transformed recipient schedule, and
the reconstructing reconstructs the recipient schedule,
the method further comprises reducing power consumption of the at least one user device until a transmission time indicated by the recipient schedule or until near the transmission time.
12. The method of claim 1, further comprising:
using an encryption key to encrypt the sequence of M blocks at the transmitting device; and
using a decryption key to decrypt the received reconstructed information at the at least one of the user devices.
13. The method of claim 1, where the network is an ad hoc wireless network and the transmitting device is included in a disseminating node of the ad hoc wireless network.
14. The method of claim 13, where the disseminating node is included in one of an aircraft, a satellite or a lighter-than-air vehicle.
15. The method of claim 13, further comprising transmitting the information from a ground station to the disseminating node for transmission to the plurality of user devices.
16. A system for transmitting information to a plurality of user devices in a network, the system comprising:
a node configured to transform a sequence of M blocks of the information into N transformed blocks, where M and N are integers and N≧M, and where each of the N transformed blocks comprises at least some of the information determining a current bandwidth for transmission of the information; determining an allowed bandwidth for transmission of the information; and transmit one of the N transformed blocks, where the node is configured to delay transmission of the one of the N transformed blocks when transmitting the one of the N transformed blocks would cause the current bandwidth to exceed the allowed bandwidth; and
at least one of the user devices is configured to receive the transformed blocks transmitted by the node, the at least one user device being further configured to maintain a record of which ones of the transformed blocks have been received, and reconstruct the information from the received transformed blocks when K distinct ones of the transformed blocks have been received, where K is an integer and K<N, where:
the at least one of the nodes is further configured to receive a recipient schedule from the node, the recipient schedule indicating a time of transmission of at least one desired content,
the at least one node is further configured to be in a reduced power mode after receiving the recipient schedule until the time of transmission of the at least one desired content or near the time of transmission of the at least one desired content.
17. The system of claim 16, where the node is further configured to transmit the N transformed blocks in accordance with a transmission schedule.
18. The system of claim 17, where the transmission schedule includes a retransmission limit for each of the transformed blocks, where the node is configured to delete a respective one of the transformed blocks when the retransmission limit is reached for the respective transformed block.
19. The system of claim 16, where the node is configured to schedule a next one of the N transformed blocks when transmitting the one of the N transformed blocks would cause the current bandwidth to exceed the allowed bandwidth.
20. The system of claim 16, where the node is configured to reschedule transmission of the N transformed blocks when transmitting the one of the N transformed blocks would cause the current bandwidth to exceed the allowed bandwidth.
21. The system of claim 17, where the transmission schedule is stored in a database accessible by the node.
22. The system of claim 16, where the node is configured to transmit each of the transformed blocks with a content identifier and a version identifier.
23. The system of claim 22, where the maintained record includes a content identifier and version identifier, the at least one user device is further configured to use the maintained record to delete received ones of the transformed blocks corresponding to outdated content when a transformed block having a new version identifier is received.
24. The system of claim 16, where the node includes an encrypter configured to encrypt the sequence of M blocks, and the least one user device includes a decryptor configured to decrypt the reconstructed information.
25. The system of claim 16, where the network is an ad hoc wireless network.
26. The system of claim 25, where the node is a disseminating node in the ad hoc wireless network.
27. The system of claim 26, where the disseminating node is included in one of an aircraft, a satellite, and a lighter-than-air vehicle.
28. The system of claim 26, further comprising a ground station configured to transmit the information to the disseminating node.
29. The system of claim 26, further comprising a ground station configured to transmit the recipient schedule to the disseminating node.
US10/793,606 2004-03-04 2004-03-04 Method and apparatus for information dissemination Expired - Fee Related US7616663B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US10/793,606 US7616663B1 (en) 2004-03-04 2004-03-04 Method and apparatus for information dissemination
US12/609,501 US8126016B2 (en) 2004-03-04 2009-10-30 Method and apparatus for information dissemination

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/793,606 US7616663B1 (en) 2004-03-04 2004-03-04 Method and apparatus for information dissemination

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US12/609,501 Continuation US8126016B2 (en) 2004-03-04 2009-10-30 Method and apparatus for information dissemination

Publications (1)

Publication Number Publication Date
US7616663B1 true US7616663B1 (en) 2009-11-10

Family

ID=41261581

Family Applications (2)

Application Number Title Priority Date Filing Date
US10/793,606 Expired - Fee Related US7616663B1 (en) 2004-03-04 2004-03-04 Method and apparatus for information dissemination
US12/609,501 Expired - Fee Related US8126016B2 (en) 2004-03-04 2009-10-30 Method and apparatus for information dissemination

Family Applications After (1)

Application Number Title Priority Date Filing Date
US12/609,501 Expired - Fee Related US8126016B2 (en) 2004-03-04 2009-10-30 Method and apparatus for information dissemination

Country Status (1)

Country Link
US (2) US7616663B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090172177A1 (en) * 2004-12-20 2009-07-02 Matsushita Electric Industrial Co., Ltd. System and method for data transmission
US8694163B2 (en) 2010-06-24 2014-04-08 Noveda Technologies, Inc. System and method for managing resource sustainability performance
CN108476159A (en) * 2015-12-22 2018-08-31 奥迪股份公司 Method for transmitting communication data between multiple vehicle parts of motor vehicle

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8995921B2 (en) * 2004-09-10 2015-03-31 Interdigital Technology Corporation Measurement support for a smart antenna in a wireless communication system
US9065668B1 (en) 2010-02-02 2015-06-23 Qualcomm Incorporated Distributed bandwidth control in a communication network

Citations (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5507039A (en) 1991-05-10 1996-04-09 Matsushita Electric Industrial Co., Ltd. Mobile wireless apparatus with power consumption reduction circuitry
US5701582A (en) * 1989-08-23 1997-12-23 Delta Beta Pty. Ltd. Method and apparatus for efficient transmissions of programs
US5838668A (en) * 1995-06-13 1998-11-17 Fujitsu Limited Satellite broadcast communications system
US6006336A (en) 1989-10-30 1999-12-21 Texas Instruments Incorporated Real-time power conservation for computers
US6073250A (en) 1997-11-06 2000-06-06 Luby; Michael G. Loss resilient decoding technique
US6081909A (en) 1997-11-06 2000-06-27 Digital Equipment Corporation Irregularly graphed encoding technique
US6163870A (en) 1997-11-06 2000-12-19 Compaq Computer Corporation Message encoding with irregular graphing
US6195777B1 (en) 1997-11-06 2001-02-27 Compaq Computer Corporation Loss resilient code with double heavy tailed series of redundant layers
US6233252B1 (en) * 1999-02-16 2001-05-15 Cyberstar, L.P. Transfer of very large digital data files via a fragmentation and reassembly methodology
US20010024435A1 (en) * 1996-05-28 2001-09-27 Microsoft Corporation Multi-packet transport structure and method for sending network data over satellite network
US20020006116A1 (en) * 2000-05-04 2002-01-17 Reed Burkhart Distributed content management and open broadcast system using satellites and the internet
US20020015422A1 (en) * 2000-07-25 2002-02-07 Toru Inada Cryptographic apparatus and cryptographic communication system
US6397053B1 (en) 1999-12-30 2002-05-28 Koninklijke Philips Electronics N.V. (Kpenv) Reduction of power consumption with increased standby time in wireless communications device
US20020085713A1 (en) * 2000-12-29 2002-07-04 International Business Machines Corporation Digital media delivery with local cache and streaming tokens
US6519693B1 (en) * 1989-08-23 2003-02-11 Delta Beta, Pty, Ltd. Method and system of program transmission optimization using a redundant transmission sequence
US20030039271A1 (en) * 2001-07-27 2003-02-27 Matsushita Electric Industrial Co., Ltd. Broadcasting system capable of providing program information
US20030081582A1 (en) * 2001-10-25 2003-05-01 Nikhil Jain Aggregating multiple wireless communication channels for high data rate transfers
US6686880B1 (en) * 2000-10-25 2004-02-03 Xm Satellite Radio, Inc. Method and apparatus for prompting a reverse channel response from receiver in a digital broadcast system
US6694149B1 (en) * 1999-12-22 2004-02-17 Motorola, Inc. Method and apparatus for reducing power consumption in a network device
US20040088430A1 (en) * 2002-10-31 2004-05-06 Alcatel Methods of processing data packets at layer three level in a telecommunication equipment
US6741834B1 (en) * 2000-06-06 2004-05-25 Hughes Electronics Corporation Device and method to improve integrated presentation of existing radio services and advanced multimedia services
US20050099943A1 (en) * 2003-11-12 2005-05-12 Nokia Corporation Traffic and radio resource control in a wireless communication device
US6987741B2 (en) * 2000-04-14 2006-01-17 Hughes Electronics Corporation System and method for managing bandwidth in a two-way satellite system
US20060056330A1 (en) * 2001-04-27 2006-03-16 The Direct Group, Inc. Feeder link configurations to support layered modulation for digital signals
US20060154603A1 (en) * 2002-09-07 2006-07-13 Joachim Sachs Method and devices for efficient data transmission link control in mobile multicast communication systems
US7412714B2 (en) * 2001-08-28 2008-08-12 Sony Corporation Network delivery data transmitting method, network delivery data receiving method, network delivery data transmitting system, and network delivery data receiving system
US7443814B2 (en) * 1997-07-15 2008-10-28 Viasat, Inc. Method and apparatus for segmentation, reassembly and inverse multiplexing of packets and ATM cells over satellite/wireless networks

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6226301B1 (en) * 1998-02-19 2001-05-01 Nokia Mobile Phones Ltd Method and apparatus for segmentation and assembly of data frames for retransmission in a telecommunications system
US6778558B2 (en) * 1998-02-23 2004-08-17 Lucent Technologies Inc. System and method for incremental redundancy transmission in a communication system
KR100516671B1 (en) * 1999-05-24 2005-09-22 삼성전자주식회사 Variable-length Data Transmitting and Receiving Apparatus and Method in accordance with Radio Link Protocol for Mobile Telecommunication System
KR20000075358A (en) * 1999-05-27 2000-12-15 윤종용 Variable-length data transmitting and receiving apparatus in accordance with radio link protocol for a mobile telecommunication system and method thereof
US6694469B1 (en) * 2000-04-14 2004-02-17 Qualcomm Incorporated Method and an apparatus for a quick retransmission of signals in a communication system
JP3557998B2 (en) * 2000-04-28 2004-08-25 日本電気株式会社 Fragmentation processing device and fragmentation processing apparatus using the same
US6765885B2 (en) * 2001-02-09 2004-07-20 Asustek Computer Inc. Determination of acceptable sequence number ranges in a communications protocol
US7542482B2 (en) * 2001-08-16 2009-06-02 Qualcomm Incorporated Method and apparatus for message segmentation in a wireless communication system

Patent Citations (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6519693B1 (en) * 1989-08-23 2003-02-11 Delta Beta, Pty, Ltd. Method and system of program transmission optimization using a redundant transmission sequence
US5701582A (en) * 1989-08-23 1997-12-23 Delta Beta Pty. Ltd. Method and apparatus for efficient transmissions of programs
US6006336A (en) 1989-10-30 1999-12-21 Texas Instruments Incorporated Real-time power conservation for computers
US5507039A (en) 1991-05-10 1996-04-09 Matsushita Electric Industrial Co., Ltd. Mobile wireless apparatus with power consumption reduction circuitry
US5838668A (en) * 1995-06-13 1998-11-17 Fujitsu Limited Satellite broadcast communications system
US20010024435A1 (en) * 1996-05-28 2001-09-27 Microsoft Corporation Multi-packet transport structure and method for sending network data over satellite network
US7443814B2 (en) * 1997-07-15 2008-10-28 Viasat, Inc. Method and apparatus for segmentation, reassembly and inverse multiplexing of packets and ATM cells over satellite/wireless networks
US6073250A (en) 1997-11-06 2000-06-06 Luby; Michael G. Loss resilient decoding technique
US6081909A (en) 1997-11-06 2000-06-27 Digital Equipment Corporation Irregularly graphed encoding technique
US6163870A (en) 1997-11-06 2000-12-19 Compaq Computer Corporation Message encoding with irregular graphing
US6195777B1 (en) 1997-11-06 2001-02-27 Compaq Computer Corporation Loss resilient code with double heavy tailed series of redundant layers
US6233252B1 (en) * 1999-02-16 2001-05-15 Cyberstar, L.P. Transfer of very large digital data files via a fragmentation and reassembly methodology
US6694149B1 (en) * 1999-12-22 2004-02-17 Motorola, Inc. Method and apparatus for reducing power consumption in a network device
US6397053B1 (en) 1999-12-30 2002-05-28 Koninklijke Philips Electronics N.V. (Kpenv) Reduction of power consumption with increased standby time in wireless communications device
US6987741B2 (en) * 2000-04-14 2006-01-17 Hughes Electronics Corporation System and method for managing bandwidth in a two-way satellite system
US20020006116A1 (en) * 2000-05-04 2002-01-17 Reed Burkhart Distributed content management and open broadcast system using satellites and the internet
US6741834B1 (en) * 2000-06-06 2004-05-25 Hughes Electronics Corporation Device and method to improve integrated presentation of existing radio services and advanced multimedia services
US20020015422A1 (en) * 2000-07-25 2002-02-07 Toru Inada Cryptographic apparatus and cryptographic communication system
US6686880B1 (en) * 2000-10-25 2004-02-03 Xm Satellite Radio, Inc. Method and apparatus for prompting a reverse channel response from receiver in a digital broadcast system
US20020085713A1 (en) * 2000-12-29 2002-07-04 International Business Machines Corporation Digital media delivery with local cache and streaming tokens
US20060056330A1 (en) * 2001-04-27 2006-03-16 The Direct Group, Inc. Feeder link configurations to support layered modulation for digital signals
US20030039271A1 (en) * 2001-07-27 2003-02-27 Matsushita Electric Industrial Co., Ltd. Broadcasting system capable of providing program information
US7412714B2 (en) * 2001-08-28 2008-08-12 Sony Corporation Network delivery data transmitting method, network delivery data receiving method, network delivery data transmitting system, and network delivery data receiving system
US20030081582A1 (en) * 2001-10-25 2003-05-01 Nikhil Jain Aggregating multiple wireless communication channels for high data rate transfers
US20060154603A1 (en) * 2002-09-07 2006-07-13 Joachim Sachs Method and devices for efficient data transmission link control in mobile multicast communication systems
US20040088430A1 (en) * 2002-10-31 2004-05-06 Alcatel Methods of processing data packets at layer three level in a telecommunication equipment
US20050099943A1 (en) * 2003-11-12 2005-05-12 Nokia Corporation Traffic and radio resource control in a wireless communication device

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090172177A1 (en) * 2004-12-20 2009-07-02 Matsushita Electric Industrial Co., Ltd. System and method for data transmission
US8161175B2 (en) * 2004-12-20 2012-04-17 Panasonic Corporation System and method for data transmission
US8694163B2 (en) 2010-06-24 2014-04-08 Noveda Technologies, Inc. System and method for managing resource sustainability performance
CN108476159A (en) * 2015-12-22 2018-08-31 奥迪股份公司 Method for transmitting communication data between multiple vehicle parts of motor vehicle
US20190215185A1 (en) * 2015-12-22 2019-07-11 Audi Ag Method for transmitting communication data between a multiplicity of vehicle components of a motor vehicle
US10560281B2 (en) * 2015-12-22 2020-02-11 Audi Ag Method for transmitting communication data between a multiplicity of vehicle components of a motor vehicle

Also Published As

Publication number Publication date
US8126016B2 (en) 2012-02-28
US20100046555A1 (en) 2010-02-25

Similar Documents

Publication Publication Date Title
US8126016B2 (en) Method and apparatus for information dissemination
US5838668A (en) Satellite broadcast communications system
US8542593B1 (en) System and methods for error tolerant content delivery over multicast channels
US7356147B2 (en) Method, system and program product for attaching a title key to encrypted content for synchronized transmission to a recipient
TWI501579B (en) Receiver and receiving method for receiving data in a broadcast system using incremental redundancy received through a unicast system
US8301958B2 (en) Methods and apparatus to select tornado error correction parameter
US20060248090A1 (en) Method and apparatus for enhanced file distribution in multicast or broadcast
MXPA06013543A (en) Point-to-point repair request mechanism for point-to-multipoint transmission systems.
US20170142077A1 (en) Data encryption and transmission method and apparatus
US8301598B2 (en) Methods and apparatus for content based notification using hierarchical groups
KR101709928B1 (en) Error control on-demand
US10003856B2 (en) Method and system of carrying content from a content server to a plurality of eNodeB&#39;S over an LTE network
US20090222477A1 (en) Methods, systems, and media for forming linear combinations of data
US10897372B2 (en) Communication device, communication system, communication method and program
US20130276065A1 (en) System and methods for receiving and correcting content transmitted over multicast channels
CN114745042B (en) Method and device for transmitting data of broadband and narrowband integrated satellite network
US10051436B2 (en) Compression with multicast dictionary
Cao et al. Distributed storage coding for flexible and efficient data dissemination and retrieval in wireless sensor networks
US7065137B2 (en) Difference messaging protocol that uses prior state information
US7684409B2 (en) Efficient message delivery in a multi-channel uni-directional communications system
JP2004023379A (en) Data transmission apparatus, data reception apparatus, data transmission method, data reception method, and data transmission and reception program
JP4975493B2 (en) Broadcast TS packet transmitter and broadcast TS packet receiver
US7930551B2 (en) Method and system for reusing an MMH function to perform a fast MMH-MAC calculation
Payne et al. Reliable Multicasting via Satellite: Delay Considerations
JP5400742B2 (en) Unidirectional transmission system and content distribution method

Legal Events

Date Code Title Description
AS Assignment

Owner name: VERIZON CORPORATE SERVICES GROUP INC.,NEW YORK

Free format text: JOINT ASSIGNMENT;ASSIGNOR:BBNT SOLUTIONS LLC;REEL/FRAME:014601/0448

Effective date: 20040503

Owner name: BBNT SOLUTIONS LLC,MASSACHUSETTS

Free format text: JOINT ASSIGNMENT;ASSIGNOR:BBNT SOLUTIONS LLC;REEL/FRAME:014601/0448

Effective date: 20040503

Owner name: VERIZON CORPORATE SERVICES GROUP INC., NEW YORK

Free format text: JOINT ASSIGNMENT;ASSIGNOR:BBNT SOLUTIONS LLC;REEL/FRAME:014601/0448

Effective date: 20040503

Owner name: BBNT SOLUTIONS LLC, MASSACHUSETTS

Free format text: JOINT ASSIGNMENT;ASSIGNOR:BBNT SOLUTIONS LLC;REEL/FRAME:014601/0448

Effective date: 20040503

AS Assignment

Owner name: BBNT SOLUTIONS LLC,MASSACHUSETTS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BBNT SOLUTIONS LLC;REEL/FRAME:014634/0525

Effective date: 20040503

Owner name: VERIZON CORPORATE SERVICES GROUP INC.,NEW YORK

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BBNT SOLUTIONS LLC;REEL/FRAME:014634/0525

Effective date: 20040503

Owner name: BBNT SOLUTIONS LLC, MASSACHUSETTS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BBNT SOLUTIONS LLC;REEL/FRAME:014634/0525

Effective date: 20040503

Owner name: VERIZON CORPORATE SERVICES GROUP INC., NEW YORK

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BBNT SOLUTIONS LLC;REEL/FRAME:014634/0525

Effective date: 20040503

AS Assignment

Owner name: FLEET NATIONAL BANK, AS AGENT,MASSACHUSETTS

Free format text: PATENT AND TRADEMARK SECURITY AGREEMENT;ASSIGNOR:BBNT SOULTIONS LLC;REEL/FRAME:014718/0294

Effective date: 20040326

Owner name: FLEET NATIONAL BANK, AS AGENT, MASSACHUSETTS

Free format text: PATENT AND TRADEMARK SECURITY AGREEMENT;ASSIGNOR:BBNT SOULTIONS LLC;REEL/FRAME:014718/0294

Effective date: 20040326

AS Assignment

Owner name: BBN TECHNOLOGIES CORP.,MASSACHUSETTS

Free format text: MERGER;ASSIGNOR:BBNT SOLUTIONS LLC;REEL/FRAME:017751/0049

Effective date: 20060103

Owner name: BBN TECHNOLOGIES CORP., MASSACHUSETTS

Free format text: MERGER;ASSIGNOR:BBNT SOLUTIONS LLC;REEL/FRAME:017751/0049

Effective date: 20060103

AS Assignment

Owner name: BANK OF AMERICA, N.A.,MASSACHUSETTS

Free format text: INTELLECTUAL PROPERTY SECURITY AGREEMENT SUPPLEMENT;ASSIGNOR:BBN TECHNOLOGIES CORP.;REEL/FRAME:021926/0017

Effective date: 20081124

Owner name: BANK OF AMERICA, N.A., MASSACHUSETTS

Free format text: INTELLECTUAL PROPERTY SECURITY AGREEMENT SUPPLEMENT;ASSIGNOR:BBN TECHNOLOGIES CORP.;REEL/FRAME:021926/0017

Effective date: 20081124

AS Assignment

Owner name: BBN TECHNOLOGIES CORP. (AS SUCCESSOR BY MERGER TO

Free format text: RELEASE OF SECURITY INTEREST;ASSIGNOR:BANK OF AMERICA, N.A. (SUCCESSOR BY MERGER TO FLEET NATIONAL BANK);REEL/FRAME:023427/0436

Effective date: 20091026

Owner name: VERIZON CORPORATE SERVICES GROUP INC., NEW YORK

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ELLIOTT, BRIG BARNUM;REEL/FRAME:023430/0932

Effective date: 20050114

Owner name: BBNT SOLUTIONS LLC, MASSACHUSETTS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ELLIOTT, BRIG BARNUM;REEL/FRAME:023430/0932

Effective date: 20050114

AS Assignment

Owner name: BBN TECHNOLOGIES CORP., MASSACHUSETTS

Free format text: CHANGE OF NAME;ASSIGNOR:BBN TECHNOLOGIES OPERATING CORP.;REEL/FRAME:023451/0212

Effective date: 20051201

Owner name: BBN TECHNOLOGIES OPERATING CORP., MASSACHUSETTS

Free format text: MERGER;ASSIGNOR:BBNT SOLUTIONS LLC;REEL/FRAME:023450/0089

Effective date: 20051122

AS Assignment

Owner name: RAYTHEON BBN TECHNOLOGIES CORP.,MASSACHUSETTS

Free format text: CHANGE OF NAME;ASSIGNOR:BBN TECHNOLOGIES CORP.;REEL/FRAME:024523/0625

Effective date: 20091027

Owner name: RAYTHEON BBN TECHNOLOGIES CORP., MASSACHUSETTS

Free format text: CHANGE OF NAME;ASSIGNOR:BBN TECHNOLOGIES CORP.;REEL/FRAME:024523/0625

Effective date: 20091027

FPAY Fee payment

Year of fee payment: 4

AS Assignment

Owner name: VERIZON PATENT AND LICENSING INC., NEW JERSEY

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:VERIZON CORPORATE SERVICES GROUP INC.;REEL/FRAME:033421/0403

Effective date: 20140409

REMI Maintenance fee reminder mailed
LAPS Lapse for failure to pay maintenance fees

Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.)

STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20171110