US6907473B2

Agile network protocol for secure communications with assured system availability

Summary by NHIP

Agile network protocol

The method manages computer node communications by periodically changing data packet fields using a shared sequence. It ignores synchronization requests received within a predetermined interval, specifically delaying acceptance of SYNC_REQ for W/R seconds based on packet counts and agreed rates.

Claim Score by NHIP

Read claim 8, the broadest

Abstract

A plurality of computer nodes communicate using seemingly random Internet Protocol source and destination addresses. Data packets matching criteria defined by a moving window of valid addresses are accepted for further processing, while those that do not meet the criteria are quickly rejected. Improvements to the basic design include (1) a load balancer that distributes packets across different transmission paths according to transmission path quality; (2) a DNS proxy server that transparently creates a virtual private network in response to a domain name inquiry; (3) a large-to-small link bandwidth management feature that prevents denial-of-service attacks at system chokepoints; (4) a traffic limiter that regulates incoming packets by limiting the rate at which a transmitter can be synchronized with a receiver; and (5) a signaling synchronizer, that allows a large number of nodes to communicate with a central node by partitioning the communication function between two separate entities.

US6907473B2, drawing sheet 1
Sheet 1 of 37

Term

Term ended

Expired 29 October 2019, 6.9 years ago.

  1. Priority
  2. Filed
  3. Granted
  4. Expired
  5. Today

20 claims: 4 independent, 16 dependent

  1. 1
    In a system comprising a first computer that transmits data packets to a second computer over a network according to a scheme by which at least one field in a series of data packets is periodically changed according to a sequence known by the first and second computers, and wherein the second computer periodically receives a synchronization request from the first computer to maintain synchronization of the sequence between the first and second computers, a method comprising the steps of:(1) receiving at the first computer the synchronization request from the second computer;(2) determining whether the synchronization request was received in less than a predetermined interval;(3) in response to determining that the synchronization request was received in less than the predetermined interval, ignoring the synchronization request;and (4) in response to determining that the synchronization request was not received in less than the predetermined interval, providing a synchronization response to the first computer.
  2. 8
    Broadest claimClaim Score 68, broad(NHIP)A computer that receives data packets from a second computer over a network according to a scheme by which at least one field in a series of data packets is periodically changed according to a known sequence, wherein the second computer periodically transmits a synchronization request to maintain synchronization of the sequence, wherein the computer performs the steps of:(1) receiving the synchronization request from the second computer;(2) determining whether the synchronization request was received in less than a predetermined interval;(3) in response to determining that the synchronization request was received in less than a predetermined interval ignoring the synchronization request;and (4) in response to determining that the synchronization request was not received in less than a predetermined interval, providing response to the synchronization request to the first computer.
  3. 14
    A computer that transmits data packets to a second computer over a network according to a scheme by which at least one field in a series of data packets is periodically changed according to a known sequence, wherein the computer periodically transmits a synchronization request to the second computer to maintain synchronization of the known sequence, wherein the computer stored computer executable instructions for performing steps comprising:(1) transmitting a first synchronization request to the second computer;(2) determining whether the synchronization request was sent at a rate greater than an allowed rate of the second computer;and (3) in response to determining that the synchronization request was transmitted at a rate greater than an allowed rate of the second computer, halting transmissions until transmitting a synchronization request will be compliant with the allowed rate of the second computer.
  4. 17
    The computer of claims 14 , wherein the computer further performs the step of sending duplicate synchronization requests until a response is received from the second computer.