Prosecution Insights
Last updated: July 17, 2026
Application No. 18/966,766

TIMELY MESSAGE ORCHESTRATION USING MESSAGING QUEUE

Non-Final OA §103
Filed
Dec 03, 2024
Priority
Nov 07, 2023 — continuation of 12/470,509
Examiner
GEORGANDELLIS, ANDREW C
Art Unit
2459
Tech Center
2400 — Computer Networks
Assignee
eBay Inc.
OA Round
1 (Non-Final)
56%
Grant Probability
Moderate
1-2
OA Rounds
2y 5m
Est. Remaining
97%
With Interview

Examiner Intelligence

Grants 56% of resolved cases
56%
Career Allowance Rate
281 granted / 497 resolved
-1.5% vs TC avg
Strong +40% interview lift
Without
With
+40.4%
Interview Lift
resolved cases with interview
Typical timeline
4y 0m
Avg Prosecution
12 currently pending
Career history
515
Total Applications
across all art units

Statute-Specific Performance

§101
0.3%
-39.7% vs TC avg
§103
90.6%
+50.6% vs TC avg
§102
5.9%
-34.1% vs TC avg
§112
3.0%
-37.0% vs TC avg
Black line = Tech Center average estimate • Based on career data from 497 resolved cases

Office Action

§103
DETAILED ACTION Introduction Claims 1-20 are pending. This Office action is in response to Application 18/966,766 filed on 12/3/2024. Other Relevant Prior Art US 7,322,032 discloses computing, for each of two sources/queues, the difference between a stored timestamp and the current time – yielding two independently computed time differences – and comparing them to select a preferred source. US 7,500,241 discloses a two-level hierarchical queue where tasks carry scheduled times expressed as durations, are assigned to primary or secondary queues based on those durations relative to threshold bounds, have their scheduled times decremented as time passes, and are moved from the secondary queue to the primary queue when their remaining time falls within the primary threshold. Claim Rejections: 35 U.S.C. 103 The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action: A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made. Claims 1-20 are rejected under 35 U.S.C. 103 because they are unpatentable over Ziegler (US 9,112,820) in view of Yin (US 5,926,458), and in further view of the non-patent literature entitled “RabbitMQ Delayed Delivery” (hereinafter, “RabbitMQ”). Regarding claims 1, 9, and 15, Ziegler teaches a method for message orchestration using messaging queue, the method comprising: creating, by at least one hardware processor, a sequence of delay queues, each delay queue defining a time range of a plurality of time ranges each having an upper bound and a lower bound (The system provides a plurality of delay queues, wherein each delay queue spans a non-overlapping range of counter increments, and wherein the delay queues are ordered by the range of counter increments. See col. 10, lines 59-61. Moreover, each delay queue has an upper bound and a lower bound. For instance, delay queue 310-2 is associated with delays that have 2-3 ticks remaining, delay queue 310-3 is associated with delays that have 4-7 ticks remaining, delay queue 310-4 is associated with delays that have 8-15 ticks remaining, etc. See col. 6, lines 9-16); assigning objects to the sequence of delay queues based on target delay times of the objects falling within the plurality of time ranges (A plurality of delay requests are each associated with a delay descriptor that is placed into one of the delay queues based on its corresponding number of counter ticks remaining. See col. 4, lines 37-46. Each delay request is generated by a process module, which may be any type of module that may need to implement a delay - including a processing module that needs to delay sending a message. See col. 3, line 63 - col. 4, line 4); comparing a first target delay time of the target delay times with the upper bound of a first delay queue of the sequence of delay queues (For each delay queue, upon each increment of the counter, the system compares the timestamp of the delay descriptor at the head of the delay queue to the current counter value to determine the number of counter increments remaining. See col. 11, lines 1-7; fig. 7, block 732); determining a first time difference between the first target delay time and the upper bound of the first delay queue (The above comparison yields the number of counter increments remaining, which Ziegler defines as the difference between the timestamp of the delay descriptor at the head of the delay queue and the current counter value. See col. 11, lines 1-7; col. 4, lines 42-44. In other words, for a first delay queue, the system computes a first time difference between the timestamp of the delay descriptor at the head of the first delay queue and the current counter value); determining a second time difference between a second target delay time and the upper bound of the second delay queue (As indicated above, the comparing and determining are performed for each delay queue. In other words, the system also computes a second time difference between the timestamp of the delay descriptor at the head of a second delay queue and the current counter value. . See col. 11, lines 1-7; col. 4, lines 42-44); and moving an object from the objects to the first delay queue based on the passage of a time delay (A delay descriptor is moved from a first delay queue to a second delay queue based on the amount of delay remaining. See col. 10, lines 37-39; col. 11, lines 5-7; fig. 7, block 734. For example, if a delay descriptor has 6 ticks remaining and is currently in the 8-15 ticks remaining queue, the delay descriptor is deemed no longer in the appropriate queue and moved to another queue. See col. 4, lines 47-59). However, Ziegler does not teach comparing the first time difference with the second time difference; and assigning the time delay based on a comparison between the first time difference with the second time difference, the time delay being based on a lower value of the first time difference and the second time difference. Nonetheless, Yin teaches identifying a queue service time associated with each of multiple queues, and selecting a particular queue service time having the minimal value of all of the identified queue service times by comparing each queue service time to each other queue service time. See col. 9, ln. 16-24; col. 7, ln. 55-60. It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify the system of Ziegler so that the system compares the first and second time differences to determine the lower of the two time differences, and uses the lower of the two time differences as the time delay, because doing so reduces the number of comparisons needed to identify the next time when a delay descriptor needs to be moved from one delay queue to another delay queue. In addition, Ziegler and Yin do not teach that the objects comprise messages and the target delay times of the objects comprise target delivery times of the messages. Nonetheless, RabbitMQ teaches assigning each of a plural of messages to an ordered sequence of delay queues based on a target delivery time of each message (See pg. 1, lines 18-24), moving each message from one delay queue to another based on remaining time to the target delivery time (See pg. 3, lines 2-7)), and delivering each message to a recipient when the corresponding target delivery time arrives (See pg. 3, lines 8-22). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify the system of Ziegler and Yin so that the objects are messages and the target delay times of the objects comprise target delivery times of the messages, because doing so allows the system to be used to deliver messages that must be delayed before they are delivered to recipients. Regarding claims 2, 10, and 16, Ziegler, Yin, and RabbitMQ teach the method of claim 1, further comprising: moving a second message to the second delay queue from a third delay queue based on the passage of the time delay (Ziegler teaches that for each delay queue, upon increment of the counter, moving the delay descriptor to another delay queue based on the number of counter increments remaining. See col. 11, lines 1-7; col. 4, lines 47-49. In other words, this process runs for each of the plurality of delay queues, including a second delay queue receiving a delay descriptor from a third delay queue, and a third delay queue receiving a delay descriptor from a fourth delay queue); moving a third message to the third delay queue from a fourth delay queue based on the passage of the time delay (As indicated above, Ziegler teaches a third delay queue receiving a delay descriptor from a fourth delay queue); and moving a first message from the first delay queue to a recipient based on the passage of the time delay (Ziegler teaches removing the delay descriptor from any delay queue once the remaining delay is below a threshold, and indicating to the delay requestor that the delay is complete. See col. 10, lines 40-43. RabbitMQ suggests delivering a message when the delay is complete. See discussion of claim 1). Regarding claim 3, Ziegler, Yin, and RabbitMQ teach the method of claim 2, wherein the message, the second message, and the third message are moved simultaneously (Ziegler teaches that within a single counter increment, the head descriptors are of all queues are evaluated and any qualifying descriptors are moved. See col. 11, lines 1-7. Additionally, multiple descriptors within a single queue are processed within the same counter tick without waiting for the next increment. See col. 4, lines 64-66. Ziegler gives an example of two descriptors (descriptor 316 in delay queue 310-2 and descriptor 323 in delay queue 310-4) that are moved simultaneously because they are both within one tick of moving when the counter reaches 1051. See fig. 3). Regarding claims 4, 11, and 17, Ziegler, Yin, and RabbitMQ teach the method of claim 1, wherein the sequence of delay queues has a first delay queue and a second delay queue (Ziegler teaches both a first delay queue and a second delay queue. See col. 10, lines 59-61; fig. 3, items 310-1 through 310-6). Regarding claims 5, 12, and 18, Ziegler, Yin, and RabbitMQ teach the method of claim 4, wherein: the second delay queue includes a plurality of messages (Ziegler teaches that a single delay queue may contain multiple delay descriptors. See col 6, lines 53-57; fig. 4, items 313, 314, and 315); the message is a first logical message in the plurality of messages; and the first logical message is moved before other messages in the plurality of messages (Ziegler teaches that the delay queues are implemented as FIFO linked lists in which the head descriptor is always processed first. See col. 6, lines 32-34; col. 10, lines 48-51). Regarding claims 6, 13, and 19, Ziegler, Yin, and RabbitMQ teach the method of claim 4, wherein the second delay queue includes a second plurality of messages (Ziegler teaches that a single delay queue may contain multiple delay descriptors. See col 6, lines 53-57; fig. 4, items 313, 314, and 315) and the method further comprises: forming a group of messages having ones of the second plurality of messages; and moving the group of messages based on the passage of the time delay (Ziegler teaches that when a counter tick occurs, the system processes the head of each delay queue and continues through subsequent descriptors in that queue within the same counter increment. See col. 6, lines 32-39. This means that multiple descriptors within a single delay queue are evaluated and moved during the same counter tick, constituting a group of messages moved together). Regarding claim 7, Ziegler, Yin, and RabbitMQ teach the method of claim 1, wherein the time delay is user-selectable (Ziegler teaches that the length of each delay is determined by the requesting process module. See col. 4, lines 38-39). Regarding claims 8, 14, and 20, Ziegler, Yin, and RabbitMQ teach the method of claim 1, wherein the method further comprises comparing and a second target delivery time of the target delivery times with the upper bound of a second delay queue of the sequence of delay queues (Ziegler teaches upon each increment of the counter, evaluating the delay descriptor at the head of each delay queue against the counter, which necessarily includes the second delay queue. See col. 11, lines 1-7; col. 10, lines 5-9. In other words, Ziegler teaches comparing the delay descriptor (second target delivery time) of the delay message at the head of the second delay queue against the counter value at that delay queue’s boundary (upper bound of the second delay queue) to determine whether to move the delay descriptor). Conclusion Any inquiry concerning this communication or earlier communications from the examiner should be directed to Andrew Georgandellis whose telephone number is 571-270-3991. The examiner can normally be reached on Monday through Friday, 7:30-5:00 PM EST. If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Tonia Dollinger, can be reached on 571-272-4170. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300. Information regarding the status of an application may be obtained from the Patent Application Information Retrieval (PAIR) system. Status information for published applications may be obtained from either Private PAIR or Public PAIR. Status information for unpublished applications is available through Private PAIR only. For more information about the PAIR system, see http://pair-direct.uspto.gov. Should you have questions on access to the Private PAIR system, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative or access to the automated information system, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000. /ANDREW C GEORGANDELLIS/Primary Examiner, Art Unit 2459
Read full office action

Prosecution Timeline

Dec 03, 2024
Application Filed
Jun 18, 2026
Non-Final Rejection mailed — §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12615232
Network Traffic Management
2y 11m to grant Granted Apr 28, 2026
Patent 12615220
CONTROL PLANE TECHNIQUES FOR SUBSTRATE MANAGED CONTAINERS
2y 8m to grant Granted Apr 28, 2026
Patent 12574425
SYSTEMS AND METHODS FOR APPLICATION OF CONTEXT-BASED POLICIES TO VIDEO COMMUNICATION CONTENT
4y 4m to grant Granted Mar 10, 2026
Patent 12549510
METHODS AND SYSTEMS FOR ACCESSING CONTENT
4y 9m to grant Granted Feb 10, 2026
Patent 12526335
NONSTOP VIRTUAL REMOTE DIRECT MEMORY ACCESS
2y 4m to grant Granted Jan 13, 2026
Study what changed to get past this examiner. Based on 5 most recent grants.

Strategy Recommendation AI-generated — please review before filing

Get a prosecution strategy drawn from examiner precedents, rejection analysis, and claim mapping.
Typically takes 5-10 seconds — AI-generated, attorney review required before filing

Prosecution Projections

1-2
Expected OA Rounds
56%
Grant Probability
97%
With Interview (+40.4%)
4y 0m (~2y 5m remaining)
Median Time to Grant
Low
PTA Risk
Based on 497 resolved cases by this examiner. Grant probability derived from career allowance rate.

Sign in with your work email

Enter your email to receive a magic link. No password needed.

Personal email addresses (Gmail, Yahoo, etc.) are not accepted.

Free tier: 3 strategy analyses per month