IP Library Patent Application 19210561
Patent Application
App. No. 19/210,561

ROUTING USING PARTIAL MESSAGE PARSING

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
19/210,561
Abstract

A message router partially decodes messages to determine how to route the messages. The message router receives a message and identifies a field of the message as a candidate field for including an envelope identifier that indicates an envelope type of the message. The envelope type of the message indicates where information, such as where to route the message, is stored within the message. The message router attempts to decode the candidate field to determine whether the candidate field includes the envelope identifier, and responsive to the candidate filed including the envelope identifier, the message router determines the envelope type of the message. The message router routes the message according to the envelope type.

Claims (58)

1 . A method for routing a message in a network, the method comprising:

receiving the message at a message router;

identifying a field of the message as a candidate field for including an envelope identifier, the envelope identifier indicating an envelope type of the message, wherein the envelope type indicates a structure of the envelope that corresponds to routing information of the message;

decoding the candidate field to determine whether the candidate field includes the envelope identifier;

responsive to the candidate field including the envelope identifier, determining the envelope type of the message;

obtaining the routing information using the structure indicated by the envelope type; and

routing the message according to the routing information.

2 . The method of claim 1 , wherein identifying the field as the candidate field for including the envelope identifier comprises:

determining whether the field is length delimited; and

responsive to the field being length delimited, selecting the field as the candidate field.

3 . The method of claim 2 , further comprising:

prior to identifying the field as the candidate field for including the envelope identifier, determining that a second field in the message is not a length delimited field; and

writing the second field to a forwarding buffer without decoding the second field.

4 . The method of claim 3 , further comprising: responsive to the candidate field including the envelope identifier, writing a remainder of the message to the forwarding buffer.

5 . The method of claim 2 , further comprising:

prior to identifying the field as the candidate field for including the envelope identifier, determining that a third field in the message is length delimited;

decoding the third field to determine whether the third field includes the envelope identifier; and

responsive to the third field not including the envelope identifier, writing the third field to a forwarding buffer.

6 . The method of claim 5 , further comprising: responsive to the candidate field including the envelope identifier, writing a remainder of the message to the forwarding buffer.

7 . The method of claim 2 , wherein determining whether the field is length delimited comprises decoding a start byte.

8 . The method of claim 1 , wherein routing the message comprises extracting a payload from the message and forwarding the payload to a destination in a network without forwarding remaining fields of the message.

9 . A non-transitory computer-readable storage medium storing instructions that, when executed by a processor, cause the processor to perform operations comprising:

receiving a message at a message router;

identifying a field of the message as a candidate field for including an envelope identifier, the envelope identifier indicating an envelope type of the message, wherein the envelope type indicates a structure of the envelope that corresponds to routing information of the message;

decoding the candidate field to determine whether the candidate field includes the envelope identifier;

responsive to the candidate field including the envelope identifier, determining the envelope type of the message;

obtaining the routing information using the structure indicated by the envelope type; and

routing the message according to the routing information.

10 . The non-transitory computer-readable storage medium of claim 9 , wherein identifying the field as the candidate field for including the envelope identifier comprise:

determining whether the field is length delimited; and

responsive to the field being length delimited, selecting the field as the candidate field.

11 . The non-transitory computer-readable storage medium of claim 10 , wherein the operations further comprise:

prior to identifying the field as the candidate field for including the envelope identifier, determining that a second field in the message is not a length delimited field; and

writing the second field to a forwarding buffer without decoding the second field.

12 . The non-transitory computer-readable storage medium of claim 11 , wherein the operations further comprise: responsive to the candidate field including the envelope identifier, writing a remainder of the message to the forwarding buffer.

13 . The non-transitory computer-readable storage medium of claim 10 , wherein the operations further comprise:

prior to identifying the field as the candidate field for including the envelope identifier, determining that a third field in the message is length delimited;

decoding the third field to determine whether the third field includes the envelope identifier; and

responsive to the third field not including the envelope identifier, writing the third field to a forwarding buffer.

14 . The non-transitory computer-readable storage medium of claim 13 , wherein the operations further comprise: responsive to the candidate field including the envelope identifier, writing a remainder of the message to the forwarding buffer.

15 . The non-transitory computer-readable storage medium of claim 10 , wherein determining whether the field is length delimited comprises decoding a start byte.

16 . The non-transitory computer-readable storage medium of claim 9 , wherein routing the message comprises extracting a payload from the message and forwarding the payload to a destination in a network without forwarding remaining fields of the message.

17 . A message router comprising:

a local data store storing a list of client devices connected to the message router; and

a routing module configured to perform operations comprising:

receiving a message at the message router;

identifying a field as a candidate field for including an envelope identifier, the envelope identifier indicating an envelope type of the message, wherein the envelope type indicates a structure of the envelope that corresponds to routing information of the message;

decoding the candidate field to determine whether the candidate field includes the envelope identifier;

responsive to the candidate field including the envelope identifier, determining the envelope type of the message;

obtaining the routing information using the structure indicated by the envelope type; and

routing the message according to the routing information.

18 . The message router of claim 17 , wherein identifying the field as the candidate field for including the envelope identifier comprise:

determining whether the field is length delimited; and

responsive to the field being length delimited, selecting the field as the candidate field.

19 . The message router of claim 18 , wherein the operations further comprise:

prior to identifying the field as the candidate field for including the envelope identifier, determining that a second field in the message is not a length delimited field; and

writing the second field to a forwarding buffer without decoding the second field.

20 . The message router of claim 19 , wherein the operations further comprise: responsive to the candidate field including the envelope identifier, writing a remainder of the message to the forwarding buffer.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2025
From: NIANTIC, INC.
To: NIANTIC SPATIAL, INC.
Reel/Frame 071555/0833 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 23, 2025
From: NA, PIAW; YACOBI, RENANA
To: NIANTIC, INC.
Reel/Frame 071212/0313 →