CN109076026A - 用于基于等待时间排队的系统和方法 - Google Patents
用于基于等待时间排队的系统和方法 Download PDFInfo
- Publication number
- CN109076026A CN109076026A CN201780027201.2A CN201780027201A CN109076026A CN 109076026 A CN109076026 A CN 109076026A CN 201780027201 A CN201780027201 A CN 201780027201A CN 109076026 A CN109076026 A CN 109076026A
- Authority
- CN
- China
- Prior art keywords
- message
- waiting time
- queue
- recipient
- network address
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/48—Message addressing, e.g. address format or anonymous messages, aliases
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/56—Queue scheduling implementing delay-aware scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
- H04L43/0864—Round trip delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
- H04L51/226—Delivery according to priorities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明的实施方案涉及根据与每个接收者关联的历史等待时间值排队和向接收者发送消息的系统和方法。在一些实施方案中,接收多个消息,每个消息包括接收者的网络地址。消息由保持活动(即不能用来发送另一消息)的线程发送至接收者,直到从接收者接收确认响应。测量在发送消息的时间和接收确认响应的时间之间的等待时间。可以使用等待时间将未来消息分配给由特定的等待时间范围指定的队列。
Description
背景技术
本申请是2016年5月2日提交的第15/144,216号美国专利申请的国际申请,该申请的全部内容以引用方式并入本文以用于所有目的。
常规的消息收发技术将所有的消息都置于在单个队列中传送。每个消息通常以消息被生成或被接收的次序被分配到一个线程以待发送。在要求来自接收者的确认响应的通信协议中,线程保持活动,且不能用来发送队列中的下一消息,直到从消息接收者接收确认消息。因此,当消息接收者花费更长时间发送确认响应时,队列中的剩余消息在发送时被延迟。
一些技术可以使用多个队列,但当前方法仍不能解决在将消息发送至许多不同的接收者计算机时可能出现的某些问题。
发明内容
因此,需要新的改进的排队和发送消息的系统和方法,其降低由缓慢响应的消息接收者引起的延迟。本发明的实施方案能够单独地或共同地解决这些和其他问题。
本发明的实施方案涉及与实时的基于等待时间的消息排队有关的系统和方法,其能够降低传送消息时的延迟。
本发明的一个实施方案涉及一种方法,包括:在服务器计算机系统处接收多个消息,每个消息包括接收者计算机的网络地址。所述方法还包括由所述服务器计算机系统通过网络将所述消息发送到所述接收者计算机,所述多个消息中的每一个由在所述服务器计算机系统上执行的多个线程中的线程发送,其中,在发送所述多个消息中的另一消息之前,所述线程需要等待来自对应的接收者计算机的确认响应。所述方法还包括对所述多个消息中的每一个,确定要由所述服务器计算机系统接收的确认响应的等待时间。所述方法还包括在所述服务器计算机系统处接收第一消息,所述第一消息包括第一接收者计算机的第一网络地址;以及确定其它消息是否先前已被发送至所述第一接收者计算机的所述第一网络地址。所述方法还包括在确定其它消息先前已被发送至所述第一网络地址之后:确定对与所述第一网络地址关联的其它消息的响应的等待时间值;基于响应的等待时间值低于第一阈值,将所述第一消息置于第一等待时间队列中,以及基于响应的等待时间值超过所述第一阈值,将所述第一消息置于第二等待时间队列中。所述多个线程中的不同的线程被分配给所述第一等待时间队列和所述第二等待时间队列。
本发明的另一实施例涉及一种服务器计算机,其包括处理器和耦合到所述处理器的存储器。所述存储器存储指令,所述指令在由所述处理器执行时使得所述服务器计算机系统执行包括上述方法的步骤的操作。
本发明的这些和其他实施方案将在下文更详细地描述。
附图说明
图1示出根据本发明的实施方案用于通过网络发送消息和接收确认响应的系统的框图。
图2示出根据本发明的实施方案描绘用于确定等待时间值的方法的流程图。
图3示出根据本发明的实施方案描绘基于其历史等待时间值分配消息到队列的方法的流程图。
图4示出根据本发明的实施方案描绘用于消息排队、发送消息和测量响应的等待时间值的方法的流程图。
图5示出根据本发明的实施方案描绘基于等待时间排队的方法的流程图。
图6示出根据本发明实施方案的基于等待时间排队的服务器计算机系统的框图。
图7示出根据本发明的实施方案用于接收消息并发送确认响应的接收者计算机的框图。
术语
在讨论本发明的具体实施方案之前,可以详细描述一些术语。
“确认响应”可包括由接收者发送至发送者的确认从发送者接收消息的任何消息。确认响应可包括字母、数字和/或代表或传送消息的接收的字符的任何组合。确认响应可包括接收者的标识符,原始消息的标识符和/或原始消息本身,使得确认响应可与原始消息匹配。确认响应可以由接收者自动地生成。
“散列”可包括字母、数字和/或代表文本串的字符的任何组合。散列通常在长度上比底层的文本串更短,以不同的文本串不可能产生相同散列的方式生成。可以使用散列有效地存储和访问数据记录,并提供数据记录的安全性。
“等待时间(latency time)”可包括在输入和期望的结果之间时间的任何延迟或流逝。例如,响应的等待时间可以对应于消息由发送者发送至接收者的时间和由发送者从接收者接收确认响应的时间之间的逝去时间。“等待时间值”可以是多个消息的特性,例如,多个等待时间的平均值、中值或众数值。“阈值等待时间值”可以对应于任何特定的等待时间值,且可以如本发明中进一步描述的选择。
“消息”可包括从一方或一个实体到另一方或另一实例的任何通信。通信可包括例如以任何适合形式的信息或数据。此外,消息可通过任何适合方法例如通过网络传输。
“网络地址”可包括字母、数字和/或识别网络上的装置的字符的任何组合。示范性网络地址包括互联网协议(IP)地址,媒体访问控制(MAC)地址、主机地址、统一资源标识符(URL)地址等等。网络地址可对个体装置是唯一的,或者对个体装置内的部件是唯一的。例如,计算机的WiFi可以具有与其局域网(LAN)卡不同的网络地址。在一个实施方案中,网络地址可包括电子邮件地址。
“队列”可包括由某个参数定义的有序消息的集合。例如,队列可以由等待时间值的范围定义。队列可将待发送的消息传递到分配给该队列的一个或多个线程。
“服务器计算机系统”可包括计算机或计算机的集群。例如,服务器计算机系统可以是大型主机、小型计算机集群或像单元一样工作的一组服务器。在一个实例中,服务器计算机系统可以是耦合到网络服务器的数据库服务器。服务器计算机系统可以耦合到数据库并且可以包括用于服务于来自一个或多个客户端计算机的请求的任何硬件、软件、其他逻辑、或前述内容的组合。服务器计算机系统可以包括一个或多个计算装置并且可以使用各种计算结构、布置和编译中的任何计算结构、布置和编译来服务于来自一个或多个客户端计算机的请求。
“线程”可包括在计算机上执行的任何过程(或过程的实例)。线程可以被配置成通过通信信道即网络槽发送消息。线程还可被配置成接收收到消息的确认响应。
具体实施方式
本发明的实施方案涉及根据与每个接收者关联的历史等待时间值排队和向接收者发送消息的系统和方法。在一些实施方案中,接收多个消息,每个消息包括接收者的网络地址。消息由保持活动(即不能用来发送另一消息)的线程发送至接收者,直到从接收者接收确认响应。测量在发送消息的时间和接收确认响应的时间之间的等待时间。可以使用等待时间将未来消息分配给由特定的等待时间范围指定的队列。
可使用实施方案降低发送消息时由缓慢响应的接收者引起的延迟。因此,线程可以被更快速地清除,并用来发送另外的消息,降低发送消息需要的线程的总数,并降低与增加新线程关联的成本。此外,在更短的时间内可传送更多的消息。这在每天可以处理700,000或更多的消息的高容量消息收发系统中是重要的。
I.消息收发
消息收发是从发送者将任何类型的数据传送到接收者的过程。数据可以包含需要传送到接收者的任何信息。消息收发可以通过例如网络进行,以将数据传输到远程方。在消息收发系统中,个别消息基于其生成或接收的时间被置于单个队列中,并按次序发送。
图1图示根据本发明的实施方案的消息收发系统的框图。图1图示通过网络110与接收者计算机120A-C通信的服务器计算机系统100。网络110可以是任何类型的网络,包括专用网络或公用网络。专用网络可包括大区域网络,例如企业办公区、大学校园、医院、政府办公室或类似实体。例如由实例网络110图示的网络还可以在小区域例如在私人住宅中找到。公用网络可包括互联网。网络110可包括第三方电信线路,例如电话线、广播共轴电缆、光纤电缆、卫星通信、蜂窝通信等等。
服务器计算机系统100通过网络110将消息103A发送至接收者计算机120A,并在特定的等待时间之后通过网络110从接收者计算机120A接收确认响应107A。类似地,服务器计算机系统100通过网络110将消息103B发送至接收者计算机120B,并在特定的等待时间之后通过网络110从接收者计算机120B接收确认响应107B。服务器计算机系统100通过网络110将消息103C发送至接收者计算机120C,并在特定的等待时间之后通过网络110从接收者计算机120C接收确认响应107C。
消息103A-C可以是通过网络110发送的要求确认响应107A-C的任何类型的消息。例如,消息103A-C可以使用超文本传输协议(HTTP)、传输控制协议(TCP)等等。尽管在图1中显示和描绘为有三个消息103A-C,但考虑了根据本发明的实施方案在任何时段内可通过网络110发送任何数目的消息。例如,在24小时周期内可通过网络110发送几十万或甚至上百万的消息。
在常规系统中,消息103A-C可被置于单个队列中,并被分配给一个或多个线程以按其被生成或接收的次序发送。线程保持活动,且不能用来发送队列中的下一消息,直到从消息接收者接收确认响应。
例如,常规系统可以具有消息103A-C可按次序被分配的一个队列和一个线程。第一消息103A可以使用所述线程发送至第一接收者计算机120A。如果直到60秒之后,服务器计算机系统100才接收到第一确认响应107A,则第二消息103B直到60秒之后(即在接收第一确认响应107A之后)才能被分配到所述线程并发送,使得第二消息103B的传输延迟。此外,如果直到将消息发送至第二接收者计算机120B之后的30秒,服务器计算机系统100才接收到第二确认响应107B,则第三消息103C直到30秒之后(即在接收第二确认响应107B之后)才能被分配给所述线程并发送,使得第三消息103C的传输延迟。
因此,在此实例中,第三消息103C到接收者计算机120C的传输已经延迟了90秒。如果第三消息103C是高优先级消息或者如果接收者计算机120C具有历史上低的等待时间(例如100毫秒),则这是特别不方便的,因为第三消息103C可能之前已经发送和/或优先级高于第一消息103A和第二消息103B。因此,更好的是以奖励快速响应接收者,且并不导致不必要的延迟的方式发送消息103A-C。
II.基于等待时间排队
本发明的实施方案基于例如其接收者的历史等待时间分配要发送到队列的消息,降低发送消息时的延迟。
A.确定等待时间
图2示出根据本发明的实施方案描绘确定等待时间的方法的流程图。所述方法可以由服务器计算机系统执行,服务器计算机系统生成消息或从一个或多个其它源接收消息。作为一个实例,服务器计算机系统可以使用从多个其它服务器例如HTTP服务器接收的信息,生成消息。
在步骤205处,将多个消息发送至接收者。这些消息可以通过例如服务器计算机系统发送。消息可以是通过网络发送的要求确认响应或者期望例如HTTP消息、TCP消息等的确认响应的任何类型的消息。接收者可以是具有网络地址的任何部件或装置。
在步骤210处,从接收者接收确认接收消息的确认响应。确认响应可包括接收者的标识符(例如网络地址),原始消息的标识符(例如值或代码)和/或原始消息本身,使得确认响应可与原始消息匹配。
在步骤215处,确定发送消息和接收对应的确认响应之间的时间量。此时间量对应于响应的等待时间。例如,在发送特定消息时创建的时间戳可以与接收对应的确认响应的时间戳比较,确定对该消息的响应的等待时间。
在步骤220,可以基于响应的历史等待时间确定对特定接收者的未来消息的队列。例如,该接收者的响应的历史等待时间的全部或一些可以用来确定平均值、中值或众数等待时间值。在另一实例中,等待时间值可以对应于百分点,例如少于该等待时间值,接收70%的确认响应。在又一实例中,可以选择单个历史等待时间,例如最近的等待时间,最高的等待时间,最低的等待时间或只有一个历史等待时间可用时的该唯一等待时间。
可使用此等待时间值将从该接收者接收的任何未来消息分配给由等待时间值的特定范围指定的队列。例如,如果接收者有300毫秒的平均等待时间值,则要发送该接收者的未来消息可被分配给专用于等待时间值在200毫秒到400毫秒之间的接收者的队列。还可以有默认队列,具有未知等待时间值或没有历史等待时间值的接收者的消息可分配给默认队列。参照图3在本发明进一步描述这些概念。
B.队列分配
待被发送的消息池基于其历史等待时间可以被分配给多个队列,降低发送消息时的延迟。同一接收者计算机的消息可被分配给同一队列,该队列还包括对消息的响应具有类似等待时间值的其它接收者计算机的消息。以此方式,通过等待来自较慢的接收者计算机的响应,快速响应的接收者计算机不受到负面影响。
图3示出描绘基于其历史等待时间给队列分配消息的框图。在块315处,接收消息315A-I池。例如根据其接收时间,一开始在池中对消息315A-I排序。
消息315A-I具有与其接收者关联的各个等待时间值。例如,消息315A具有500毫秒的等待时间值;消息315B具有750毫秒的等待时间值;消息315C具有60秒的等待时间值;消息315D具有100毫秒的等待时间值;消息315F具有30秒的等待时间值;消息315G具有550毫秒的等待时间值;消息315I具有150毫秒的等待时间值。消息315E和315H具有未知等待时间值。等待时间值可能是未知的原因是例如与消息315E和315H关联的接收者先前没有被发送过消息。在另一实例中,由于以前消息和确认响应之间的误差或不匹配,等待时间值可能是未知的。因此,对这些消息尚未记录任何历史等待时间。
在块320处,将消息315A-I分配给各队列。在图3中示出三个队列:第一等待时间队列320A、第二等待时间队列320B和默认队列320C。基于其等待时间值小于或等于阈值等待时间值,消息被分配给第一等待时间队列320A。在此实例中,阈值等待时间值是600毫秒。因此,消息315A,315D,315G和315I被分配给第一等待时间队列320A。
基于其等待时间值大于阈值等待时间值,消息被分配给第二等待时间队列320B。因此,消息315B,315C和315F被分配给第二等待时间队列320B。
基于其等待时间值是未知的,消息被分配给默认队列320C。因此,消息315E和315H被分配给默认队列320C。在一个实施方案中,在消息具有特定数目的测量历史等待时间之前,消息可被分配给默认队列320C。例如,如果消息的等待时间值基于五个或更少的测量历史等待时间,则消息可被分配给默认队列。
在一些实施方案中,在将消息分配给队列时可考虑其它因素。例如,具有大于阈值的等待时间值的高优先级消息或者具有未知等待时间值的高优先级消息仍然可以被分配给第一等待时间队列320A,以确保其被尽可能快地发送。类似地,具有低于阈值的等待时间值的低优先级消息或具有未知等待时间值的低优先级消息仍然可以被分配给第二等待时间队列320B,原因是其接收可能不是那么重要。在另一实例中,与特定发送者的服务级协议可以明确不管等待时间值如何其消息进入特定的等待时间队列。在又一实例中,基于任何个因素可以将特定发送者组织成层,来自每一层的消息不管等待时间值为何都被分配给特定的队列。
尽管显示和描述为有三个队列(即第一等待时间队列320A、第二等待时间队列320B和默认队列320C),但考虑了基于等待时间值的任何范围,可以建立任何数目的队列。例如,第一等待时间队列可以对应于小于或等于400毫秒的等待时间值;第二等待时间队列可以对应于在400到600毫秒之间的等待时间值;第三等待时间队列可以对应于大于或等于600毫秒等待时间值和未知等待时间值。
对先前已经接收多个消息的接收者的消息的历史等待时间(即具有多个历史等待时间测量值)可以任何方式被组合,产生等待时间值。例如,可以计算多个历史等待时间值测量值的平均值、中值或众数,以确定要用于接收者的单个等待时间值。
阈值等待时间值(在此实例中为600毫秒)可以是任何等待时间,且可根据任何方法确定。例如,阈值等待时间值可以任意和/或随机地选择。在另一实例中,可以基于对多个接收者的多个消息的响应的平均值、中值或众数等待时间值,选择阈值等待时间值。此外,阈值等待时间值在其被选择之后可基于每个队列中的当前消息容量而动态地改变。例如,阈值等待时间值可基于第一等待时间队列320A中的第一数目的消息并基于第二等待时间队列320B中的第二数目的消息而变化。因此,通过调节阈值等待时间值,可以有效地平衡所有队列上的载荷。在一个实施方案中,选择并自动地更新阈值等待时间值。
在块325处,消息315A-I被分配给各线程以待发送。消息315A,315D,315G和315I(即在第一等待时间队列320A内的消息)被分配给第一组线程325A。消息315B,315C和315F(即在第二等待时间队列320B内的消息)被分配给第二组线程325B。消息315E和315H(即在默认队列320C内的消息)被分配给第三组线程325C。任何数目的线程可以包括于第一组线程325A、第二组线程325B和第三组线程325C中,如本发明中进一步描述的,该数目可以在任何时候或连续地变化。此外,可增加新线程以提高在任何时候的总线程数。
一次可以由一个线程发送一个消息,线程保持活动,直到接收对应的确认响应。例如,第一组线程325A内的线程可以发送消息315A。只有在接收者对消息315A的对应的确认响应之后,线程才可以发送在第一等待时间队列320A中的另一消息(例如消息315D,315G或315I)。
消息可以任何次序被分配给各线程,例如以接收的次序,根据其等待时间,根据其优先级,或者其任何组合。例如,消息315D可以先被分配给第一组线程325A内的线程,原因是其具有100毫秒的最短的等待时间值。在另一实例中,如果消息315G是高优先级消息,则其可以首先被分配给第一组线程325A内的线程,剩余的消息315D,315G和315I按次序发送。
一旦消息315A-I被分配给线程,则其由线程发送,并接收确认响应。测量并记录对每个消息的响应的等待时间。
C.序列图
可使用各种方法实施上面描述的本发明的实施方案。图4示出根据本发明的实施方案描绘用于消息排队、发送消息和测量响应的等待时间的方法的流程图。图4的步骤可以由本发明中进一步描述的例如图6的服务器计算机系统600执行。
在步骤405处,生成或接收消息。消息可包括要通过例如网络传输到接收者的任何数据。消息可包括与接收者关联、并识别接收者的网络地址。接收者可以具有与之关联的一个或多个网络地址。在一个实施方案中,生成与接收者关联的网络地址的散列。散列可以是字母、数字和/或代表网络地址或网络地址的任何部分(例如域名)的字符的任何组合。
在步骤410处,确定消息是否先前被发送到与接收者关联的网络地址。例如,网络地址可以与数据库中存储的与先前发送的消息关联的网络地址比较。在另一实例中,生成网络地址的散列,该散列可以与在数据库中存储的与先前发送的消息关联的网络地址的散列比较。因为特定的接收者可以与多个网络地址关联,每个网络地址具有相同或不同的等待时间值,在此实施方案中,使用网络地址进行比较,而不是接收者标识符或名称。然而,在另一实施方案中,接收者标识符或名称可替代性地或者另外用于比较。
如果消息先前没有被发送至该网络地址,则在步骤413处,消息被置于默认队列中。默认队列可以是例如图3的默认队列320C。如本发明中进一步描述,所述方法在步骤430继续。
如果消息先前被发送至网络地址,则在步骤415处,确定对与网络地址关联的响应的等待时间值。例如,对响应的一个或多个历史等待时间的记录可与网络地址关联地存储在数据库中。可以计算与网络地址关联的多个历史等待时间的平均值、中值或众数,以确定对与网络地址关联的响应的单个等待时间值。可以基于多个历史等待时间的全部或者基于多个历史等待时间的任何子集,计算平均值、中值或众数。例如,可以计算最后n个历史等待时间(即n个最近的历史等待时间)的平均值、中值或众数。在另一实例中,只有最近的历史等待时间可以用作响应的等待时间值。在再一实例中,最快或最慢的历史等待时间可以用作响应的等待时间值。然而,考虑了可以使用任何或全部历史等待时间来确定与网络地址关联的响应的等待时间值。
在步骤420处,确定与网络地址关联的响应的等待时间值是否超过阈值。如果响应的等待时间值不超过阈值,则在步骤423处,将消息置于第一等待时间队列中。第一等待时间队列可以是例如图3的第一等待时间队列320A。如本发明中进一步描述,所述方法接着继续步骤430。
如果响应的等待时间值超过阈值,则在步骤425处,将消息置于第二等待时间队列中。第二等待时间队列可以是例如图3的第二等待时间队列320B。方法接着继续步骤430。
在步骤430处,在消息在步骤413被置于默认队列,在步骤423被置于第一等待时间队列,或者在步骤425被置于第二等待时间队列之后,消息发送至网络地址。在稍后的时间,在步骤435处,从网络地址接收确认响应。确认响应可包括接收者的标识符,原始消息的标识符和/或原始消息本身,使得确认响应可与原始消息匹配。
在步骤440处,确定响应的等待时间,并与网络地址关联地记录在数据库中。例如,使用发送消息的时间和接收对应的确认响应的时间的时间戳,计算在发送消息的时间和接收对应的确认响应的时间之间的逝去时间。如本发明中进一步描述的,可接着使用对响应的此等待时间将对该网络地址的未来消息分配给特定队列。所述方法接着返回步骤405,接收并处理另一消息。
如图5中所图示,可以确定并使用多个消息的等待时间值,将未来消息分配给特定队列。图2和图4中描绘的方法的各方面可以用在图5中。
图5示出根据本发明的实施方案描绘基于等待时间排队的方法的流程图。在步骤505处,在服务器计算机系统处接收多个消息。服务器计算机系统可以是如本发明中进一步描述的例如图6的服务器计算机系统600。每个消息包括接收者计算机的网络地址。在一个实施方案中,可以生成每个网络地址的散列并将其存储在数据库中。
在步骤510处,使用网络地址将消息通过网络发送至接收者计算机。多个消息中的每一个由在服务器计算机系统上执行的多个线程中的线程发送。线程可以是例如图3的第一组线程325A、第二组线程325B和/或第三组线程325C内的任何线程。根据需求和容量,可使用任何数目的线程发送消息,所述数目可以为数百个或甚至数千个。可以使用HTTP、TCP等等中的至少一个将消息发送至接收者计算机。
在发送多个消息中的另一消息之前,要求每个线程等待来自对应接收者计算机的确认响应。因此,如果误差或超时出现,则消息可以被重新分配给相同或不同队列,和/或所述线程或不同线程可以尝试再次发送所述消息,并等待适当的确认响应。在任何预定时间量,例如在发送消息之后的5分钟可出现超时。在一个实施方案中,在消息被重新分配时,其可以被分配给与原始分配的不同的队列。例如,每次在误差或超时出现时,消息可分配给较低优先级的队列。在一个实施方案中,在阈值数目的传送尝试(例如5次传送尝试)之后,消息可被丢弃或者放入单独的队列中用于人工审阅。
在步骤515处,对多个消息中的每一个,确定要由服务器计算机系统接收的确认响应的等待时间。例如,通过比较例如时间戳或者通过在发送消息时启动定时器并在接收对应的确认响应时停止定时器,可以测量发送消息的时间和接收对应的确认响应的时间之间的时间。确认响应可以由例如标识符与其对应的消息匹配。
在步骤520处,在服务器计算机系统处接收第一消息。第一消息包括第一接收者计算机的第一网络地址。在一个实施方案中,可以生成第一网络地址的散列。
在步骤525处,确定其它消息是否先前被发送至第一接收者计算机的第一网络地址。此确定可以通过例如将第一网络地址与数据库中与先前发送的消息关联的网络地址比较来做出。在另一实例中,此确定可通过将第一网络地址的散列与在数据库中存储的与先前发送的消息关联的网络地址的散列比较来做出。如果其它消息先前没有被发送至第一网络地址,则第一消息可被置于默认队列中,例如图3的默认队列320C。
然而,在确定其它消息先前已被发送至第一网络地址之后,在步骤530处,确定对与第一网络地址关联的其它消息的响应的等待时间值。等待时间值可以是与送到第一网络地址的多个其它消息关联的历史等待时间的统计分布的统计参数。可以按例如统计分布的平均值、众数或中值计算统计参数。
在步骤535处,确定等待时间值是否超过阈值。如果等待时间值不超过阈值,则在步骤537处,消息被置于第一等待时间队列中。第一等待时间队列可以是例如图3的第一等待时间队列320A。
如果等待时间值超过阈值,则在步骤540处,消息被置于第二等待时间队列中。第二等待时间队列可以是例如图3的第二等待时间队列320B。在将消息置于第二等待时间队列之后,服务器计算机系统可以向第一接收者计算机生成警报,通知第一接收者计算机响应的等待时间值超过第一网络地址的阈值。这可以允许第一接收者计算机进行调节以改进对第一网络地址的未来等待时间。
在一个实施方案中,阈值等待时间值可以任意或随机地选择。在另一实施方案中,阈值可以是在任何特定时间、在一段时间上或者在全部时间上多个消息和/或多个接收者的中值、平均值或众数等待时间值。在任一实施方案中,阈值等待时间值可以在任何点(即在任何时间或在特定的间隔)或连续地动态变化。例如,阈值等待时间值可以基于在特定的点在第一等待时间队列和第二等待时间队列中的消息的容量而动态地变化。换言之,可以通过调节阈值平衡在第一等待时间队列和第二等待时间队列处的载荷。
多个线程中的不同的线程被分配给第一等待时间队列和第二等待时间队列。例如,如图3中所示,第一组线程325A可以被分配给第一等待时间队列,第二组线程325B可以分配给第二等待时间队列。在一个实施方案中,被分配给每个队列的线程的数目可以任意或随机地选择。替代性地或者另外,在每个组中线程的数目(即被分配给特定队列的线程的数目)可以在任何点(即在任何时间或在特定的间隔)或者连续地动态地确定或改变。在一个实施方案中,被分配给第一等待时间队列和第二等待时间队列的线程的数目可以基于在特定的点在第一等待时间队列和第二等待时间队列中消息的容量而动态地变化。例如,被分配给第一等待时间队列和第二等待时间队列的线程的数目可以基于在第一等待时间队列中的第一数目的消息并基于在第二等待时间队列中的第二数目的消息而动态地变化。换言之,可以通过调节被分配给每个队列的线程的数目,平衡在第一等待时间队列和第二等待时间队列处的载荷。
III.示例系统
可使用各个系统来实施上面描述的方法。现在描述服务器计算机系统和接收者计算机系统的实例。
图6示出根据本发明的实施方案的基于等待时间排队的服务器计算机系统600的框图。服务器计算机系统600可以实施本发明中描述的任何方法。服务器计算机系统600可以包括耦合到网络接口602和计算机可读介质606的处理器601。服务器计算机系统600还可以包括数据库603或以其他方式访问数据库603,该数据库可以在服务器计算机系统600的内部或外部。在一个实施方案中,数据库603是存储器内(in-memory)数据库。
处理器601可以包括一个或多个微处理器,以运行用于执行服务器计算机系统600的基于等待时间的排队功能的程序部件。网络接口602可以被配置成连接到一个或多个通信网络,以便允许服务器计算机系统600与其他实体(诸如图7的接收者计算机700)进行通信。计算机可读介质606可以包括一个或多个易失性和/或非易失性存储器的任何组合,例如,所述易失性和/或非易失性存储器可以是RAM、DRAM、SRAM、ROM、闪存或任何其他合适的存储器部件。计算机可读介质606可以存储可由处理器601执行以用于实现服务器计算机系统600的基于等待时间的排队功能中的一些或全部的代码。例如,计算机可读介质606可包括实施散列模块608、等待时间确定模块610、队列分配模块612、线程分配模块614、线程选择模块616和警报模块618的代码。尽管显示和描述为具有这些模块中的每一个,但考虑了更多或更少的模块可以在计算机可读介质606内实施。例如,散列模块608、阈值选择模块616和/或警报模块618可以不全在实施方案中实施。
散列模块608可以与处理器601结合生成消息的接收者计算机的网络地址和/或网络地址的部分的散列。与网络地址对应的散列可以存储在数据库603中。散列模块608还可以与处理器601结合将生成的网络地址的散列与存储的网络地址的散列比较,确定消息是否先前已被发送至特定的网络地址。
等待时间确定模块610可以与处理器601结合,测量发送消息的时间和接收其对应的确认响应的时间之间的等待时间。例如,等待时间确定模块610可以与处理器601结合记录发送消息时的第一时间戳和接收对应的确认响应时的第二时间戳。等待时间确定模块610接着可以与处理器601结合测量在第一时间戳和第二时间戳之间逝去的时间量,以确定等待时间。等待时间可以与网络地址或网络地址的散列结合地存储在数据库603中。
等待时间确定模块610还可以与处理器601结合基于多个历史等待时间确定等待时间值。等待时间值可以是例如多个历史等待时间的平均值、中值或众数。可以基于多个历史等待时间的全部或者基于多个历史等待时间的任何子集,计算平均值、中值或众数。
队列分配模块612可以与处理器601结合基于等待时间值将消息置于队列中。例如,队列分配模块612可以与处理器601结合在等待时间值低于阈值时将消息置于第一等待时间队列中,在等待时间值超过阈值时将消息置于第二等待时间队列中,或者在等待时间值未知时将消息置于默认队列中。用来确定队列分配的等待时间值可以是基于所有记录的并与网络地址关联的等待时间的全部等待时间值,或者可以基于记录的等待时间的子集,例如,最后n个等待时间。在另一实施方案中,使用的等待时间可以是最快的等待时间,最慢的等待时间和/或最近的等待时间。
线程分配模块614可以与处理器601结合将队列中的消息发送至专用于该队列的线程。线程分配模块614可以与处理器601结合在队列中发送多个消息中的第一消息,并在发送队列中的多个消息中的第二消息之前,等待直到接收对应的确认响应。每个线程专用于特定队列。线程分配模块614还可以与处理器601结合基于例如在特定时间在每个队列中的消息的数目动态地确定或改变被分配给每个队列的线程的数目。因此,线程分配模块614可以与处理器601结合平衡队列间的载荷。
阈值选择模块616可以与处理器601结合在一旦限定哪些队列之后设置阈值等待时间。在一个实施方案中,任意或随机地选择或改变阈值。在另一实施方案中,基于在特定时间多个网络地址的平均值、中值或众数等待时间选择或改变阈值。在又一实施方案中,基于例如在特定时间每个队列中的消息的数目,动态地选择或改变阈值。因此,阈值选择模块616可以与处理器601结合平衡队列间的载荷。
警报模块618可以与处理器601结合警告接收者计算机在特定网络地址其对响应的等待时间超过阈值。警报可以是后续消息的形式。这允许接收者计算机进行任何所需变化以降低其等待时间,因此可能允许接收者计算机在未来在被分配给不同的队列的情况下更快速地接收消息。
图7示出根据本发明的实施方案用于接收消息并发送确认响应的接收者计算机700的框图。接收者计算机700可实施本发明中描述的任何接收者和/或接收者计算机。接收者计算机700可以包括耦合到网络接口702和计算机可读介质706的处理器701。接收者计算机700还可以包括数据库703或以其他方式访问数据库703,该数据库可以在服务器计算机系统600的内部或外部。
处理器701可以包括一个或多个微处理器,以便运行用于执行接收者计算机700的接收和发送功能的程序部件。网络接口702可以被配置成连接到一个或多个通信网络,以便允许接收者计算机700与其他实体(诸如图6的服务器计算机系统600)进行通信。计算机可读介质706可以包括一个或多个易失性和/或非易失性存储器的任何组合,例如,所述易失性和/或非易失性存储器可以是RAM、DRAM、SRAM、ROM、闪存或任何其他合适的存储器部件。计算机可读介质706可以存储可由处理器701执行以用于实现接收者计算机700的接收功能和发送功能中的一些或全部的代码。例如,计算机可读介质706可包括实施确认响应模块708的代码。
确认响应模块708可以与处理器701结合接收消息并生成接收消息的确认响应。确认响应可包括字母、数字和/或代表或传送消息的接收的字符的任何组合。确认响应可包括接收者的标识符,原始消息的标识符和/或原始消息本身,使得确认响应可由发送者与原始消息匹配。
IV.实例
A.交易处理
本发明的实施方案可以用在对于交易处理的消息收发。具体讲,消息可以排队,并在访问装置、商家计算机、收单方计算机、支付处理网络和/或发行方之间发送。示范性消息可以从支付处理网络(例如服务器计算机系统)发送至商家计算机(例如接收者计算机),且可包括交易已经发生的确认,支付通过的确认,欺诈性检查已经完成的确认,顾客忠诚度信息等等。
B.附加实施方案
本发明的实施方案可以另外或替代性地用来将任何消息通过网络传送到任何第三方。在一个实施方案中,短消息服务(SMS)消息可以由本发明中描述的基于等待时间的排队系统和方法管理,接收者的网络地址对应于移动电话号码。在另一实施方案中,用于网络应用的网钩(webhook)可以由本发明中描述的基于等待时间的排队系统和方法管理(例如给网站用户的推送通知)。
V.示例计算机系统
本文所描述的各种参与者和元件可以操作一个或多个计算机装置以利于本文所述的功能。上文描述的图式中的任何要素,包括任何服务器或数据库,都可以使用任何合适数量的子系统来促进文中描述的功能。
这样的子系统或部件可以经由系统总线互连。子系统可以包括打印机、键盘、固定磁盘(或包括计算机可读介质的其他存储器)、耦合至显示适配器的监视器以及其他。耦合到I/O控制器(可以是处理器或其它合适的控制器)的外设和输入/输出(I/O)设备可以通过任何本领域已知的任何手段连接到计算机系统。例如,外部接口可以用来将计算机装置连接至广域网(例如,互联网)、鼠标输入设备或扫描仪。经由系统总线的互连允许中央处理器能够与每个子系统通信,并控制来自系统存储器或固定磁盘的指令的执行以及信息在子系统之间的交换。系统存储器和/或固定磁盘可以体现计算机可读介质。
本申请中描述的任何软件部件或功能可以实现为由处理器使用例如常规的或面向对象的技术并使用任何合适的计算机语言(诸如例如,Java、C++或Perl)执行的软件代码。软件代码可以被存储为计算机可读介质(诸如,随机存取存储器(RAM)、只读存储器(ROM)、磁介质(诸如硬盘或软盘)或光介质(诸如CD-ROM))上的一系列指令或命令。计算机可读介质可以是这些存储或传输设备的任何组合。
也可以使用适于通过符合各种协议(包括互联网)的有线、光学、和/或无线网络传输的载波信号来编码和传输这样的程序。因此,根据本发明的实施方案的计算机可读介质可以使用用这种程序编码的数据信号来创建。利用程序代码编码的计算机可读介质可以利用兼容的设备来封装,或与其他设备可分开地提供(例如通过互联网下载)。任何这样的计算机可读介质都可以驻留在单个计算机产品(例如硬盘驱动器,CD或整个计算机系统)上或内部,并且可以存在于系统或网络内的不同计算机产品上或内部。计算机系统可包括监视器、打印机,或用于向用户提供本文所提及的任何结果的其他合适的显示器。
本文中描述的任何方法可以完全地或部分地用包括可被配置成执行这些步骤的一个或多个处理器的计算机系统执行。因此,实施方案可以涉及被配置成执行本文中描述的任何方法的步骤、可能具有执行相应步骤或相应步骤群组的不同组件的计算机系统。尽管呈现为编号步骤,但本文中的方法的步骤可以同时或以不同顺序被执行。另外,这些步骤的部分可以与来自其他方法的掐他步骤的部分一起使用。同样,一个步骤的全部或部分可以是可选的。另外,任何方法的任何步骤可以用模块、单元、电路或用于执行这些步骤的其他手段来执行。
以上描述是示意性的不是限制性的。本领域的技术人员在阅读了本公开后,会明白本发明的许多变化。因此,本发明的范围可以不参照上文的描述确定,而是可以参照所附权利要求连同其全部范围或等同物确定。
在不偏离本发明的范围的情况下,任何实施方案的一个或多个特征可以与任何其他实施方案的一个或多个特征组合。
除非明确指示有相反的意思,否则“一个”、“一种”或“该/所述”的叙述旨在表示“一个/种或多个/种”。
上文提到的所有专利、专利申请、公开和描述出于所有目的以其全文引用的方式并入本文中。不承认它们为现有技术。
Claims (12)
1.一种方法,包括:
在服务器计算机系统处接收多个消息,每个消息包括接收者计算机的网络地址;
由所述服务器计算机系统通过网络将所述多个消息发送到所述接收者计算机,所述多个消息中的每一个由在所述服务器计算机系统上执行的多个线程中的线程发送,其中,在发送所述多个消息中的另一消息之前,所述线程需要等待来自对应的接收者计算机的确认响应;
对所述多个消息中的每一个,确定要由所述服务器计算机系统接收的确认响应的等待时间;
在所述服务器计算机系统处接收第一消息,所述第一消息包括第一接收者计算机的第一网络地址;
确定其它消息是否先前已被发送至所述第一接收者计算机的所述第一网络地址;
在确定其它消息先前已被发送至所述第一网络地址之后:
确定对与所述第一网络地址关联的其它消息的响应的等待时间值;
将所述等待时间值与第一阈值比较;以及
基于所述等待时间值与所述第一阈值的比较,确定将所述第一消息置于第一等待时间队列中还是置于第二等待时间队列中,其中,所述多个线程中的不同的线程被分配给所述第一等待时间队列和所述第二等待时间队列。
2.根据权利要求1所述的方法,其还包括:
对于所述多个消息,生成所述接收者计算机的网络地址的至少一部分的散列;
在数据库中存储所述散列;以及
生成所述第一网络地址的至少一部分的第一散列;
其中,确定其它消息先前已被发送至所述第一网络地址包括将所述第一散列与所述数据库中存储的散列比较。
3.根据权利要求1所述的方法,其还包括:
在确定其它消息先前没有被发送至所述第一网络地址之后,将所述第一消息置于默认队列中。
4.根据权利要求1所述的方法,其中,与所述第一网络地址关联的其它消息的等待时间形成统计分布,并且其中,确定对与所述第一网络地址关联的其它消息的响应的等待时间值包括:
计算所述统计分布的统计参数,其中,所述统计参数是所述统计分布的平均值、众数或中值中的一个,所述等待时间值为所述统计参数。
5.根据权利要求1所述的方法,其还包括:
在将所述第一消息置于所述第二等待时间队列之后,向所述第一接收者计算机生成响应的等待时间值超过所述第一网络地址的第一阈值的警报。
6.根据权利要求1所述的方法,其还包括:
基于在所述第一等待时间队列中的第一数目的消息并基于在所述第二等待时间队列中的第二数目的消息,动态地改变分配给所述第一等待时间队列和所述第二等待时间队列的线程的数目。
7.根据权利要求1所述的方法,其还包括:
基于所述第一等待时间队列中的第一数目的消息并基于所述第二等待时间队列中的第二数目的消息,动态地改变所述阈值。
8.根据权利要求1所述的方法,其中,使用HTTP或TCP中的至少一个将所述消息发送至所述接收者计算机。
9.根据权利要求1所述的方法,其还包括:
将所述等待时间值与第二阈值比较;以及
基于所述等待时间值与所述第二阈值的比较,确定将所述第一消息置于所述第二等待时间队列中还是置于第三等待时间队列中。
10.根据权利要求1所述的方法,其还包括:
尝试使用所述多个线程中的第一线程通过所述网络将所述第一消息发送至所述第一接收者计算机,其中,所述第一线程与所述第一等待时间队列或所述第二等待时间队列关联,其中,在尝试发送所述多个消息中的另一消息之前,所述线程需要等待来自所述第一接收者计算机的第一确认响应,并且其中,在阈值时段内,没有从所述第一接收者计算机接收所述第一确认响应;以及
将所述第一消息重新分配给与所述第一等待时间队列、所述第二等待时间队列或人工审阅队列关联的第二线程。
11.一种存储指令的计算机可读介质,所述指令在由处理器执行时使计算机系统执行权利要求1-10中任一项所述的方法。
12.一种服务器计算机系统,包括:
处理器;以及
耦合到所述处理器的存储器,所述存储器存储指令,所述指令在由所述处理器执行时使所述服务器计算机系统执行权利要求1-10中任一项所述的方法。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US15/144,216 US9935888B2 (en) | 2016-05-02 | 2016-05-02 | System and method for latency-based queuing |
| US15/144,216 | 2016-05-02 | ||
| PCT/US2017/030241 WO2017192400A1 (en) | 2016-05-02 | 2017-04-28 | System and method for latency-based queuing |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN109076026A true CN109076026A (zh) | 2018-12-21 |
| CN109076026B CN109076026B (zh) | 2020-05-15 |
Family
ID=60159188
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201780027201.2A Active CN109076026B (zh) | 2016-05-02 | 2017-04-28 | 用于基于等待时间排队的系统和方法 |
Country Status (6)
| Country | Link |
|---|---|
| US (2) | US9935888B2 (zh) |
| EP (1) | EP3453148B1 (zh) |
| CN (1) | CN109076026B (zh) |
| AU (2) | AU2017259252B2 (zh) |
| RU (1) | RU2018142269A (zh) |
| WO (1) | WO2017192400A1 (zh) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110768915A (zh) * | 2019-10-31 | 2020-02-07 | 杭州迪普科技股份有限公司 | 一种分流方法及装置 |
Families Citing this family (19)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9280791B2 (en) | 2012-12-20 | 2016-03-08 | Trading Technologies International, Inc. | Systems and methods for routing trade orders based on exchange latency |
| US10356002B2 (en) * | 2017-01-24 | 2019-07-16 | Nokia Solutions And Networks Oy | Processing real-time multipoint-to-point traffic |
| US10547561B1 (en) | 2017-11-22 | 2020-01-28 | Juniper Networks, Inc. | Queuing system to achieve maximum queuing latency in a computing device |
| CN108566346A (zh) * | 2018-03-14 | 2018-09-21 | 阿里巴巴集团控股有限公司 | 网络请求的处理方法及装置 |
| US10608961B2 (en) | 2018-05-08 | 2020-03-31 | Salesforce.Com, Inc. | Techniques for handling message queues |
| US10862811B1 (en) * | 2018-06-08 | 2020-12-08 | West Corporation | Message brokering for asynchronous status updates |
| US10623328B1 (en) * | 2018-06-08 | 2020-04-14 | West Corporation | Message brokering for asynchronous status updates |
| US10623329B2 (en) * | 2018-06-27 | 2020-04-14 | Juniper Networks, Inc. | Queuing system to predict packet lifetime in a computing device |
| JP7251182B2 (ja) * | 2019-02-06 | 2023-04-04 | 日本電気株式会社 | 制御装置、処理装置の制御方法及びプログラム |
| JP7029428B2 (ja) * | 2019-07-09 | 2022-03-03 | 株式会社日立製作所 | 時刻同期システム、時刻同期方法及び時刻スレーブ装置 |
| CN110662085B (zh) * | 2019-10-16 | 2021-10-01 | 北京字节跳动网络技术有限公司 | 消息发送方法、装置、可读介质及电子设备 |
| CN113162790B (zh) * | 2020-01-22 | 2023-10-03 | 华为技术有限公司 | 调整服务等级的方法、装置、设备及存储介质 |
| CN111444012B (zh) * | 2020-03-03 | 2023-05-30 | 中国科学院计算技术研究所 | 一种保证延迟敏感应用延迟slo的动态调控资源方法及系统 |
| US11768686B2 (en) * | 2020-07-27 | 2023-09-26 | Nvidia Corporation | Out of order memory request tracking structure and technique |
| US11456815B2 (en) | 2020-10-30 | 2022-09-27 | Sk3W Technologies Inc. | Deterministic dynamic network traffic shaping |
| US12033212B2 (en) | 2021-06-08 | 2024-07-09 | Citigroup Technology, Inc. | Systems and methods for non-intrusive monitoring of intra-process latency of application |
| US20220138021A1 (en) * | 2021-07-23 | 2022-05-05 | Intel Corporation | Communications for workloads |
| US20230137556A1 (en) * | 2021-10-29 | 2023-05-04 | Sk3W Technologies Inc. | Network traffic latency equalizing |
| CN119402414B (zh) * | 2024-10-25 | 2025-10-31 | 中国民航信息网络股份有限公司 | 座位保护数据同步链路优化方法、系统、设备及存储介质 |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1742465A (zh) * | 2002-12-19 | 2006-03-01 | 捷讯研究有限公司 | 无线/lan路由器排队方法和系统 |
| US20130100816A1 (en) * | 2011-10-25 | 2013-04-25 | Vmware, Inc. | Network congestion management based on communication delay |
| WO2015172815A1 (en) * | 2014-05-13 | 2015-11-19 | Telefonaktiebolaget L M Ericsson (Publ) | Delay requirement aware packet forwarding control |
Family Cites Families (24)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5767785A (en) | 1996-05-01 | 1998-06-16 | Motorola, Inc. | Method and apparatus for selecting a batch of pending messages for a next transmission |
| KR0185319B1 (ko) | 1996-09-21 | 1999-05-15 | 김흥기 | 포지티브 포토레지스트 제조용 수지 및 이 수지를 함유하는 화학증폭형 포지티브 포토레지스트 조성물 |
| US6738386B1 (en) | 2000-05-11 | 2004-05-18 | Agere Systems Inc. | Controlled latency with dynamically limited queue depth based on history and latency estimation |
| US6880111B2 (en) * | 2001-10-31 | 2005-04-12 | Intel Corporation | Bounding data transmission latency based upon a data transmission event and arrangement |
| US7761516B2 (en) * | 2003-03-06 | 2010-07-20 | Siemens Enterprise Communications, Inc. | System and method for e-mail presence confirmation |
| US7626988B2 (en) | 2004-06-09 | 2009-12-01 | Futurewei Technologies, Inc. | Latency-based scheduling and dropping |
| GB0524021D0 (en) * | 2005-11-25 | 2006-01-04 | Ibm | A system for preserving message order |
| CN101346692B (zh) * | 2005-12-29 | 2011-05-04 | 英特尔公司 | 多处理器系统中的高性能队列实现 |
| US7797284B1 (en) * | 2007-04-25 | 2010-09-14 | Netapp, Inc. | Dedicated software thread for communicating backup history during backup operations |
| US8571048B2 (en) | 2007-04-30 | 2013-10-29 | Hewlett-Packard Development Company, L.P. | Dynamic memory queue depth algorithm |
| US8132239B2 (en) * | 2007-06-22 | 2012-03-06 | Informed Control Inc. | System and method for validating requests in an identity metasystem |
| US8972504B2 (en) * | 2007-11-16 | 2015-03-03 | International Business Machines Corporation | Forwarding un-responded to instant messages to electronic mail |
| US8547846B1 (en) * | 2008-08-28 | 2013-10-01 | Raytheon Bbn Technologies Corp. | Method and apparatus providing precedence drop quality of service (PDQoS) with class-based latency differentiation |
| US8135025B2 (en) * | 2009-06-03 | 2012-03-13 | Microsoft Corporation | Asynchronous communication in an unstable network |
| US8971184B2 (en) * | 2009-06-08 | 2015-03-03 | Arris Enterprises, Inc. | Latency based random early discard for network packets |
| US8547847B2 (en) | 2010-07-22 | 2013-10-01 | International Business Machines Corporation | Transparent quality of service |
| US9160725B2 (en) * | 2011-09-23 | 2015-10-13 | Rpost Communications Limited | Computer implemented system and method for authenticating a sender of electronic data to a recipient |
| US8521825B2 (en) * | 2011-09-26 | 2013-08-27 | International Business Machines Corporation | Electronic message monitoring |
| US9276873B2 (en) * | 2012-11-23 | 2016-03-01 | Verizon Patent And Licensing Inc. | Time-based QoS scheduling of network traffic |
| JP6274113B2 (ja) * | 2012-12-19 | 2018-02-07 | 日本電気株式会社 | データ送信装置、データ送信方法、及びそのプログラム |
| US9329047B2 (en) | 2013-07-17 | 2016-05-03 | Google Inc. | Point-of-interest latency prediction using mobile device location history |
| US9729662B2 (en) * | 2014-08-11 | 2017-08-08 | Cisco Technology, Inc. | Probabilistic lazy-forwarding technique without validation in a content centric network |
| US11736405B2 (en) * | 2015-08-31 | 2023-08-22 | Comcast Cable Communications, Llc | Network packet latency management |
| US11010833B2 (en) * | 2015-10-09 | 2021-05-18 | Chicago Mercantile Exchange Inc. | Systems and methods for calculating a latency of a transaction processing system |
-
2016
- 2016-05-02 US US15/144,216 patent/US9935888B2/en active Active
-
2017
- 2017-04-28 RU RU2018142269A patent/RU2018142269A/ru not_active Application Discontinuation
- 2017-04-28 AU AU2017259252A patent/AU2017259252B2/en active Active
- 2017-04-28 WO PCT/US2017/030241 patent/WO2017192400A1/en not_active Ceased
- 2017-04-28 CN CN201780027201.2A patent/CN109076026B/zh active Active
- 2017-04-28 EP EP17793045.0A patent/EP3453148B1/en active Active
-
2018
- 2018-03-08 US US15/916,058 patent/US10659383B2/en active Active
-
2019
- 2019-01-21 AU AU2019200401A patent/AU2019200401A1/en not_active Abandoned
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1742465A (zh) * | 2002-12-19 | 2006-03-01 | 捷讯研究有限公司 | 无线/lan路由器排队方法和系统 |
| US20130100816A1 (en) * | 2011-10-25 | 2013-04-25 | Vmware, Inc. | Network congestion management based on communication delay |
| WO2015172815A1 (en) * | 2014-05-13 | 2015-11-19 | Telefonaktiebolaget L M Ericsson (Publ) | Delay requirement aware packet forwarding control |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110768915A (zh) * | 2019-10-31 | 2020-02-07 | 杭州迪普科技股份有限公司 | 一种分流方法及装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN109076026B (zh) | 2020-05-15 |
| US10659383B2 (en) | 2020-05-19 |
| EP3453148A1 (en) | 2019-03-13 |
| US20170317944A1 (en) | 2017-11-02 |
| US9935888B2 (en) | 2018-04-03 |
| AU2017259252A1 (en) | 2018-09-20 |
| EP3453148B1 (en) | 2021-09-01 |
| WO2017192400A1 (en) | 2017-11-09 |
| RU2018142269A (ru) | 2020-06-03 |
| EP3453148A4 (en) | 2019-04-10 |
| AU2017259252B2 (en) | 2018-11-22 |
| US20180198725A1 (en) | 2018-07-12 |
| AU2019200401A1 (en) | 2019-02-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN109076026A (zh) | 用于基于等待时间排队的系统和方法 | |
| US11934868B2 (en) | Systems and methods for scheduling tasks | |
| Chaczko et al. | Availability and load balancing in cloud computing | |
| US8843630B1 (en) | Decentralized request routing | |
| US20170220564A1 (en) | On-demand mailbox synchronization and migration system | |
| CN109246229A (zh) | 一种分发资源获取请求的方法和装置 | |
| CN111614736A (zh) | 网络内容资源调度方法、域名调度服务器及电子设备 | |
| CN107341050A (zh) | 基于动态线程池的服务处理方法和装置 | |
| US20170237684A1 (en) | Decentralized resource allocation | |
| TW200841675A (en) | Dispatching client requests to appropriate server-side methods | |
| CN105577958B (zh) | 用于调整分流策略和分流用户请求的方法、装置及系统 | |
| CN105049509A (zh) | 一种集群调度方法、负载均衡器以及集群系统 | |
| CN111107075A (zh) | 请求响应方法、装置、电子设备和计算机可读存储介质 | |
| CN115512814A (zh) | 一种线上问诊的医生分配方法和装置 | |
| CN117311979A (zh) | 一种谷歌远程过程调用负载均衡系统及方法、设备、介质 | |
| US10757263B1 (en) | Dynamic resource allocation | |
| WO2013022856A1 (en) | System and method for managing email send jobs | |
| CN107046581A (zh) | 一种服务运行状态的监测方法、装置及服务器 | |
| KR20190091295A (ko) | 전자 거래 시스템에서 전체 또는 부분적으로 표시된 동적 페그 주문들을 프로세싱하기 위한 시스템들 및 방법들 | |
| CN103856557B (zh) | 一种基于第三方平台的业务对象的处理方法和系统 | |
| CN115665173B (zh) | 一种基于MQ的WebSocket通信方法、系统和存储介质 | |
| CN112131198B (zh) | 一种日志分析方法、装置及电子设备 | |
| CN109672563B (zh) | 一种网关的配置方法、装置及api网关 | |
| HK1262946A1 (zh) | 用於基於等待时间排队的系统和方法 | |
| CN121329399A (zh) | 针对金融纪念币的交易请求处理方法、装置及电子设备 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1262946 Country of ref document: HK |
|
| GR01 | Patent grant | ||
| GR01 | Patent grant | ||
| REG | Reference to a national code |
Ref country code: HK Ref legal event code: WD Ref document number: 1262946 Country of ref document: HK |