CN101133380A - Message transmission device based on hardware - Google Patents

Message transmission device based on hardware Download PDF

Info

Publication number
CN101133380A
CN101133380A CNA2005800461011A CN200580046101A CN101133380A CN 101133380 A CN101133380 A CN 101133380A CN A2005800461011 A CNA2005800461011 A CN A2005800461011A CN 200580046101 A CN200580046101 A CN 200580046101A CN 101133380 A CN101133380 A CN 101133380A
Authority
CN
China
Prior art keywords
message
transmission device
message transmission
hardware based
module
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.)
Pending
Application number
CNA2005800461011A
Other languages
Chinese (zh)
Inventor
巴利·J·汤普森
库·辛格
皮埃尔·费沃
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.)
Tervela Inc
Original Assignee
Tervela Inc
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
Application filed by Tervela Inc filed Critical Tervela Inc
Publication of CN101133380A publication Critical patent/CN101133380A/en
Pending legal-status Critical Current

Links

Images

Abstract

Message publish/subscribe systems are required to process high message volumes with reduced latency and performance bottlenecks. The end-to-end middleware architecture proposed by the present invention is designed for high-volume, low-latency messaging by, among other things, reducing intermediary hops with neighbor-based routing, introducing efficient native-to-external and external-to-native protocol conversions, monitoring system performance, including latency, in real time, employing topic-based and channel-based message communications, and dynamically optimizing system interconnect configurations and message transmission protocols.

Description

Hardware based message transmission device
To quoting of the application formerly submitted to
The application requires the right of priority of following application, and these applications are incorporated herein by reference: the U.S. Provisional Application No.60/641 that is entitled as " Event Router Systems and Method " that on January 6th, 2005 submitted to, 988; And the U.S. Provisional Application No.60/688 that is entitled as " Hybrid FeedHandlers And Latency Measurement " of submission on June 8th, 2005,983.
The application relates to following application, and this application is incorporated herein by reference: the U.S. Patent application No._________ (attorney docket number No.50003-00004) that is entitled as " End-To-End Publish/Subscribe Middleware Architecture " that on Dec 23rd, 2005 submitted to.
Technical field
The present invention relates to data-message and transmit middleware architecture, more particularly, relate to the hardware based message transmission device in the messaging system that has issue and order (hereinafter being called " publish/subscribe ") middleware architecture.
Background technology
Data-message transmits the desired augmented performance day by day of infrastructure level and forces the development of networking infrastructure and agreement.Basically, data distribution relates to various data source and destination, and the communication pattern between various types of interconnection architecture and the data source and destination.The example of available data message carrier architecture comprises wheel shaft radial (hub-and-spoke), to equation and storage relay type.
Utilize wheel shaft spoke system configuration, all by the wheel shaft transmission, this can cause performance bottleneck usually when treatment capacity is big in all communications.Therefore, this messaging system has produced the stand-by period.A kind of method of walking around this bottleneck is an arrangement more service device, and distributed network load between these different servers.But this architecture shows extensibility and operational issue.Compare with the system with the configuration of wheel shaft spoke, the system with equity configuration has produced unnecessary pressure with processing and filtering data to application, and only the same fast with its slowest client or node.And the system with store-and-forward system configuration will store these data before the next node in forwarding the data to the path for persistence is provided.Storage operation is usually by index with message is write memory disc realize, this may produce performance bottleneck.In addition, when size of message has increased, index and write task may be quite slow, therefore may introduce the extra stand-by period.
Available data message carrier architecture has some shortcomings.Common deficiency be in existing architecture the data-message transitive dependency in the software that resides on the application layer.This means that message transmission infrastructure will experience OS (operating system) queuing and network I/O (I/O), this may produce performance bottleneck.In addition, Route Selection realizes with software mode in the legacy system.Another common deficiency is that existing architecture is used Data Transport Protocol statically rather than dynamically, even other agreements may more suitablely also be like this in some cases.But some examples of common agreement comprise routing multicast, broadcasting or clean culture.In fact, the application programming interface (API) that has now in the architecture is not designed to switch between host-host protocol in real time.
In addition, network configuration decisions is normally carried out when arrangement, and is generally defined as under ad hoc hypothesis a group network and message condition of transmitting are optimized.Got rid of the Real-time and Dynamic Network reconfiguration with the restriction that static (fixing) configuration is associated.In other words, existing architecture is at the particular communication protocol configuration, and this host-host protocol always is not fit to all-network data transmission loading condition, and therefore, existing architecture always can not be tackled in real time and change or the increased load ability need.
In addition, when specific recipient or recipient group are gone in the data-message transmission, but existing message carrier architecture uses routing multicast that data transmission is crossed network.But, in the system that sets up at multicast, exist being used for the limited in number of multicast group of distributing data, the result, messaging system no longer sends data to not by to its subscription purposes ground (that is, not being the subscriber's of this particular data client).Because data filter, this has increased client's data processing load and loss ratio.Therefore, the client who becomes overload and can not catch up with data stream owing to any reason finally abandons and enters data, and requires after a while to retransmit.Re-transmission impacts total system, because all clients receive the transmission of repetition, and all clients handle again to entering data.Therefore, re-transmission may cause the multicast storm, and finally may make the total system paralysis.
In system is to set up when being used as reducing a kind of method of loss ratio at the unicast messages transmission, and this messaging system may experience bandwidth because data are duplicated saturated.For example, if ordered interested given topic more than a client, then messaging system must be with this data delivery to each subscriber, and in fact, system sends to each subscriber with the difference copy of these data.Although this has solved the problem of the non-subscription data of client's filtering, unicast transmission can not be expanded, and therefore is not suitable for ordering the large customer base group or the extremely overlapping situation of consumption mode of particular data basically.
In addition, in the path between publisher and subscriber, propagate in the jumping of message between using, application and operating system (OS) stand-by period have been introduced in wherein every jumping.Therefore, total end-to-end stand-by period increases and increases along with jumping figure.In addition, with message when the publisher is routed to the subscriber, be subjected to the restriction of the slowest node in this path along the message throughput in path, in existing system, do not have method to realize that end-to-end message transmits current control and overcome this restriction.
Another common deficiency of existing architecture is that their protocol conversion is slow and quantity is very many.This is because due to IT (infotech) expedient (band-aid) strategy in enterprise's application integration (EAI) field, and in this field, increasing new technology is by integrated with Legacy System.
Therefore, in a plurality of fields, all need to improve data-message transmission system performance.Wherein the performance example that may need to improve has speed, resources allocation, stand-by period etc.
Summary of the invention
The present invention part is based on aforementioned observation and utilize diverse ways can solve this deficiency to make to have better this viewpoint as a result, and wherein said distinct methods comprises hardware based solution.These are observed feasible developing and are used for end-to-end message publish/subscribe middleware architecture a large amount of, that low latency message is transmitted, particularly hardware based message transmission device (MA).Therefore, data distribution systems with end-to-end in accordance with the principles of the present invention message publish/subscribe middleware architecture is a large amount of message of route under the situation of utmost point low latency advantageously, this is by utilizing Route Selection and non-change (disintermediation) of network based on neighbours to reduce middle hop between two parties, introduce local efficiently to outside and outside to the native protocol conversion, real-time monitoring system performance (comprising the stand-by period), arrangement is based on topic with based on the message communicating of channel, and dynamically and intelligently system interconnection configuration and message transmission protocol are optimized, or the like realize.In addition, this system can utilize metadata cache that guaranteed delivery quality of service is provided.
In conjunction with resources allocation, data distribution systems according to the present invention has brought Real-time and Dynamic to distribute the advantage of available resources.Thus, opposite with traditional static configuration method, the present invention has imagined a kind of system, this system have be used for resources allocation in real time, dynamically, the method for study.Wherein can comprise Internet resources (utilization of bandwidth, agreement, path/route) and client resource (utilization of CPU, storer and disk space) to the example that real-time optimization is carried out in resources allocation.
In conjunction with supervisory system topological sum performance, advantageously distinguish message-level and the measurement of frame level stand-by period according to data distribution systems of the present invention.In some cases, the correlativity between these are measured provides competitive commercial benefit.In other words, the essence of stand-by period and degree can be indicated optimum data and data source, and it can be used in the business process, and competitive advantage is provided.
Therefore, according to shown in and the broad here purpose of describing of the present invention, a kind of example system with publish/subscribe middleware architecture comprises: one or more message transmission devices, it is configured to be used for receive and route messages; Medium; And via the setting and the management equipment of described medium linking, it is arranged to and each message transmission device exchange of management message.In this system, message transmission device is carried out the Route Selection of message by Dynamic Selection message transmission protocol and message routed path.
Further according to purpose of the present invention, message transmission device (MA) is configured to edge MA or core MA, and wherein each MA has the high-speed interconnect bus, is linked by each hardware module of this bus, and in addition, edge MA also has protocol translation engine (PTE).In each MA, hardware module is divided into three plane module groups in essence, is respectively control plane, datum plane and service plane.
Generally speaking, from the description here, appended claims and accompanying drawing described later these and other features, aspect and the advantage that the present invention may be better understood.
Description of drawings
Be incorporated in the instructions and as an illustration the part of book description of drawings various aspects of the present invention, and principle of the present invention is described with instructions.As long as convenient, identical label will be used in reference to identical or similar elements of generation in institute's drawings attached.
Fig. 1 shows end-to-end in accordance with the principles of the present invention middleware architecture.
Fig. 1 a shows the figure of overlay network (overlay network).
The figure of the enterprise infrastructure that the end-to-end in accordance with the principles of the present invention middleware architecture of utilization that shows Fig. 2 realizes.
Fig. 2 a shows the figure with enterprise infrastructure physics arrangement of creating the non-messaging device of changing (MA) of net's backbone between two parties.
Fig. 3 shows the architecture based on the messaging system of channel.
Fig. 4 shows a kind of possible message format based on topic.
Fig. 5 shows message Route Selection and the routing table based on topic.
Fig. 6 a-d shows the figure of the various aspects of hardware based message transmission device.
Fig. 6 e shows the function aspects of hardware based message transmission device.
Fig. 7 shows the influence to the control of self-adaptation message flow.
Embodiment
The explanation here provides a plurality of details of the end-to-end middleware architecture of message publish, particularly, and the details of the hardware based message transmission device (MA) of each embodiment according to the present invention.But, before summarizing the details of these a plurality of embodiment, below the term that in this explanation, uses of simple declaration.Notice that this explanation only is in order to clarify and to provide may how using the understanding of these terms to the reader, but whether these terms is limited in the context that uses them, neither so limit the scope of claims.
Term " middleware " uses as a general terms in computer industry, at any programming of coordinating between the common already present program of two separation.The purpose of adding middleware is to unload some complicacy that are associated with message exchange from application, and wherein this is to wait by the communication interface between all participants in the define grid (publisher and subscriber) to realize.Generally speaking, the middleware program passing service that gives information is so that different application programs can be communicated by letter.Utilize the middleware software layer, can seamlessly carry out the message exchange between the application.Usually be known as enterprise's application integration (EAI) together by utilizing middleware that different application programs is attached in system.But in this context, " middleware " can be a kind of wider term, and the message transmission and the arrangement that are used between source and destination realize in the context of the equipment that this message is transmitted; Therefore, middleware architecture has covered networking and computer hardware and the component software of realizing the transmission of efficient data message separately or with the combination that below will describe.In addition, term " messaging system " or " middleware system " can be used in the context of publish/subscribe system, and in this system, the message delivery server manages the message Route Selection between publisher and subscriber.In fact, the normal form that message is transmitted publish/subscribe in the middleware is extendible, is a kind of strong model therefore.
Term " client " can be used in the context of client-server application etc.In an example, the client is a kind of like this system or application, and it utilizes application programming interface (API) to be registered to middleware system, with ordering information, and receives the data that this middleware system is sent.The API of inside, middleware architecture border is a kind of client; And the external client is any publish/subscribe system (perhaps external data destination) of not using this API, and for communication with it, message will be by protocol conversion (will describe) after a while.
Term " external data source " can be used in the context of data distribution and message publish.In one example, external data source is considered to be positioned at enterprise private or outside system or application, and it adopts the messaging protocol of one of common protocol or its oneself to give out information.An example of external data source is a market data exchange, and it issues stock quotes, and stock quotes is distributed to the deal maker via middleware system.Another example of external data source is a transactional data.Note, in the back with in the typical implementation of the present invention in greater detail, middleware architecture adopts its unique native protocol, in a single day enter this middleware system territory from the data of external data source and just be converted into this unique native protocol, thereby avoided typical multi-protocols conversion in the legacy system.
Term " external data destination " also is used in the context of data distribution and message publish.For example, the external data destination is to be positioned at enterprise private or outside system or application, and it orders the information that is routed via this locality/global network.An example of external data destination can be the aforementioned market data exchange of handling by the transaction orders of deal maker's issue.Another example of external data destination is a transactional data.Notice that in aforementioned middleware architecture, the message of going to the external data destination is translated into the external protocol that is associated with this external data destination from native protocol.
Can confirm from the description here, can utilize the message transmission device that is implemented in the various configuration kinds in the middleware architecture as hardware based solution to realize the present invention in every way.Therefore, illustrate from the example of the end-to-end middleware architecture shown in Fig. 1.
This example architecture has made up many useful features, and these useful features comprise: message transmit common concept, API, fault-tolerant, be provided with and management (P﹠amp; M), (QoS-merges service quality, do one's best, guaranteed connection simultaneously, the guaranteed while is unconnected, or the like), the guaranteed lasting buffer memory of sending QoS, the management of NameSpace and security service, the publish/subscribe ecosystem (core, the entrance and exit assembly), transmit transparent message transmission, message transmission based on neighbours is (a kind of as the wheel shaft spoke, the model of the mixture between equity and storage are transmitted, this model uses based on the routing protocol of ordering, can where necessary order be propagated into all neighbours), plan binding late, part issue (relative with all data, as only to issue the information that changes) and dynamic assignment network and system resource.The back will illustrate that the publish/subscribe middleware system combines the fault-tolerant design of middleware architecture valuably.In each publish/subscribe ecosystem, there are at least one or a plurality of (normally two or more) message transmission device (MA), wherein each message transmission device is configured to serve as edge (outlet/inlet) MA or core MA.Notice that the core MA of the publish/subscribe ecosystem partly uses aforementioned local message host-host protocol (for middleware system this locality), and the entrance and exit part, edge MA is then respectively to this native protocol translation or from this native protocol translation.
Except the publish/subscribe system assembly, the figure of Fig. 1 also shows the logic connection between them and communicates by letter.From scheming as seen, shown middleware architecture is the middleware architecture of distributed system.In having the system of this architecture, the logic communication between two distinct physical assemblies is to utilize message flow and the messaging protocol that is associated is set up.Message flow comprises one of two class message: management and data-message.Administrative messag is used to manage and controls different physical assemblies, manages the order to data, or the like.Data-message is used for transmitting data between source and destination, and in typical publish/subscribe message is transmitted, has a plurality of senders and a plurality of recipient of data-message.
Structural arrangements shown in the utilization and logic communication, this distributed message transmission system with publish/subscribe middleware architecture is designed to carry out multiple logic function.A kind of logic function is a message protocol translation, and this function is advantageously carried out at edge message transmission device (MA) assembly place.This is to be independent of lower floor's transmission logic at the native protocol of message and to be performed because the communication in the border of publish/subscribe middleware system is utilization.Here it is is called the reason of the transparent message carrier architecture based on channel of transmission with this architecture.
Second kind of logic function is that message is routed to the subscriber from the publisher.Notice that these message were routed whole publish/subscribe network.Therefore, routing function is carried out by each MA that wherein spreads news, and, to core MA 108a-c, to another core MA, finally arrives edge MA (for example, 106b) or API110a-b from a core MA from edge MA 106a-b (perhaps API) that is.API 110a-b is via communication bus between journey (socket, shared storage etc.) and application 112 1-nCommunication.
The third logic function is at dissimilar guaranteed delivery quality of service storing messages, comprises for example guaranteed connect simultaneously unconnected with the guaranteed while.This realizes by adding the storage forwarding capability.The 4th kind of function is delivering these messages to the subscriber.(as shown in the figure, API 106a-b is delivered to message to order and uses 112 1-n).
In this publish/subscribe middleware architecture, system configuration function and other management and system performance monitoring function are by P﹠amp; The M system management.Configuration relates to the physics and the logic configuration of publish/subscribe middleware system network and assembly.Monitoring and report relate to be monitored and reports the result automatically the health of all-network and system component, this be carry out according to each requirement or be logged.P﹠amp; The M system utilizes administrative messag to carry out its configuration, monitoring and function of reporting.In addition, P﹠amp; The message NameSpace that the M system allows system manager's definition to be associated with each message that is routed time this publish/subscribe system.Therefore, the publish/subscribe network can be physically and/or logically is divided into sub-network based on NameSpace.
P﹠amp; The M system management has the publish/subscribe middleware system of one or more MA.These MA depend on that their roles in system are edge MA or core MA by arrangement.Edge MA is big many-sided similar with core MA, and except it comprised the protocol translation engine, the protocol translation engine was translated into message native protocol and translated into external protocol from native protocol from external protocol.Therefore, in general, the border of publish/subscribe middleware architecture in the messaging system (that is, end-to-end publish/subscribe middleware system border) characterized by the edge that wherein has edge MA 106a-b and API110a-b; And in these borders, there is core MA 108a-c.
Notice that system architecture is not limited to specific limited geographic area, and in fact, system architecture is designed to surmount zone or national boundary, even cross over the continent.In this case, the edge MA in network can via existing networking infrastructure and geographical go up away from another network in edge MA communicate by letter.
In exemplary systems, core MA 108a-c will be in the inner message route of issuing of this publish/subscribe middleware system to edge MA or API (for example, API 110a-b).Especially the Route Selection figure in core MA designed to be used maximum, low latency and Route Selection efficiently.In addition, the Route Selection between the core MA can Real-time and Dynamic change.For the given message bang path that passes a plurality of nodes (core MA), the real time altering of Route Selection is based on one or more tolerance, and these tolerance comprise network utilisation, total end-to-end stand-by period, the traffic, network and/or message delay, lose and shake.
Perhaps, be not the best execution route of Dynamic Selection from two or many different paths, but MA can carry out the multipath Route Selection based on message copy, thereby and send identical message by all paths.All MA that are positioned at the convergent point place in different paths will abandon the message of duplicating, and only transmit the message of first arrival.This route selection method has the message of making and transmits the advantage that infrastructure is optimised at low latency; But being infrastructure, the shortcoming of this Route Selection need the more network bandwidth to transmit the flow that duplicates.
Edge MA has such ability: any external message protocol that will enter message converts the native message protocol of middleware system to; And the external protocol that converts outbound message from native message protocol to.That is, when message entered publish/subscribe network domains (inlet), external protocol was converted into this locality (for example, Tervela TM) messaging protocol; And when message was left publish/subscribe network domains (outlet), native protocol was converted into external protocol.Edge MA also operates the external data destination that is used for announced message is delivered to order.
In addition, edge and core MA 106a-b and 108a-c can both be before transmitting message storing message.A kind of method that can realize this function is to utilize caching engine (CE) 118a-b.One or more CE can be connected to identical MA.In theory, do not think that API has this storage transfer capability, although in fact API 110a-b can be before message be delivered to application storing message, and it can store them before the message that will receive from application is delivered to core MA, edge MA or another API.
When MA (edge or core MA) had flexible connection to CE, its whole or subclass with the message that is routed was forwarded to CE, and CE writes in the storage area them to realize persistence.In the section, these message can be used for retransmitting then when being requested at the fixed time.The example that has wherein realized this feature has data relaying, part issue and various levels of quality of service.Part is distributed on the minimizing network and client's load aspect is effectively, because it requires only to send updated information rather than all information.
In order to illustrate how Route Selection figure may realize Route Selection, several examples in publish/subscribe Route Selection path have been shown among Fig. 1.In this diagram, the middleware architecture of publish/subscribe network provides five or more communication path between publisher and subscriber.
First communication path is linked to the external data destination with external data source.From external data source 114 1-nGiving out information of receiving is translated into this locality (for example, Tervela TM) messaging protocol, then by edge MA 106a route.The route that native protocol message can be routed from edge MA 106a is to external data destination 116n.This path is known as communication path 1a.In this case, native protocol message is converted into the external protocol message that is suitable for this external data destination.Another route that native protocol message can be routed from edge MA 106a is inner by core MA 108b.This path is known as communication path 1b.Along this path, core MA 108b is routed to edge MA 106a with local message.But MA 106a routes the native protocol messages to external data destination 116 at the edge 1Before, it converts them to and is suitable for this external data destination 116 1External message protocol.As seen, this communication path does not require that API is routed to the subscriber with message from the publisher.Therefore, if publish/subscribe system is used to the communication of external source to the destination, then this system need not to comprise API.
Another communication path that is known as communication path 2 utilizes API 110b that external data source 114n is linked to an application.The announced message that receives from external data source is translated into native message protocol at edge MA106a, is routed to core MA 108 by this edge MA then.From the first core MA 108a, these message were routed another core MA 108c and arrived API 110b.From this API, these message are delivered to order uses (for example, 112 2).Because this communication path is two-way, so in another example, message can use 112 from ordering along reverse path 1-nArrive external data destination 116n.In each example, core MA receives native protocol message and route native protocol message, and edge MA receives outside or native protocol message, and route this locality or external protocol message (edge MA translates into native message protocol/translate into this external message protocol from native message protocol with this external message protocol) respectively.Each edge MA can be routed to entry message native protocol channel and external protocol channel simultaneously, no matter this entry message still is to arrive as external protocol message as native protocol message.As a result, each edge MA can be routed to outside and internal customer simultaneously with entry message, internal consumers consume native protocol message wherein, and external consumers consume external protocol message.This ability makes message transmit infrastructure and can use and system is seamless and integrated smoothly with leaving over.
Be known as two application of another communication path link of communication path 3, these two application all utilize API 110a-b.During these are used at least one gives out information or subscribe message.Announced message is to utilize the API that is positioned at the publish/subscribe network edge to realize to sending of order using or from sending of having given out information of using of issue.When applications subscribe message, to this API, this API notifies to order when data are just prepared to be delivered to them then and uses with the message route for one of core or edge MA.Be sent to this API by " registration " core MA 108c from the message of using issue via this API to it.
Notice that to a MA, this API becomes and logically is connected to this MA by " registration " (login).API is initiated to the connection of this MA by sending registration (" login " request) message to MA.After registration, this API can order specific interested topic by its subscribe message being sent to this MA.Topic is used to the transmission of publish/subscribe message, defines the shared access domain and the target of message, therefore, orders one or more topics and allows reception and send to have the message of this topic note.P﹠amp; M will authorize and upgrade the MA send in the network in the cycle, and each MA correspondingly upgrades its oneself form.Therefore, if find that API will be authorized to order specific topic (this MA utilizes the Route Selection authorization list to verify the mandate of this API), then this MA is activated to the logic connection of this API.Then, if this API suitably is registered to core MA 108c, then core MA 108c routes data to the 2nd API 110, as shown in the figure.In other examples, this core MA 108b can be by extra one or more core MA (not shown) route messages, and these one or more core MA route messages to API 110b, and AP 110b is delivered to message then to order and uses 112 1-n
As seen, communication path 3 does not require and has edge MA, because it does not relate to any external data messaging protocol.At one communication path is here provided among the embodiment of example, business system is configured with NEWS SERVER, and this NEWS SERVER is to the latest news of employee's issue about multiple topic.In order to receive news, the employee orders their interested topics via the news browser application of utilizing API.
Notice that middleware architecture allows to order one or more topics.In addition, this architecture is passed through the asterisk wildcard in the permission message note, thereby utilizes single subscription request to order one group of relevant topic.
Another the communication path that is known as communication path 4 is and P﹠amp; One of mulitpath that M system 102 and 104 is associated, every in these paths with P﹠amp; M is linked to one of MA in the publish/subscribe network middleware architecture.At P﹠amp; The message that comes and goes between M system and each MA is administrative messag, and administrative messag is used for this MA is configured and monitors.In a kind of system configuration, P﹠amp; The M system directly communicates by letter with MA.In another kind of system configuration, P﹠amp; The M system communicates by letter with some MA by other MA.In another configuration, P﹠amp; The M system can directly or indirectly communicate by letter with MA.
In typical implementation, middleware architecture can be deployed on the network, this network has switch, router and other networked devices, and it adopts the message transmission based on channel, and this message transmission can be by the physical medium communication of any kind.A kind of exemplary implementation of the unknowable message transmission based on channel of this framework is based on the network of IP.In this environment, UDP (datagram protocol) execution is all passed through in all communications between all publish/subscribe physical assemblies, and transmission reliability is realized by message transport layer.Fig. 1 a shows the overlay network according to present principles.
As shown in the figure, covering communication 1,2 and 3 can take place between three core MA 208a-c via switch 214a-c, router two 16 and subnet 218a-c.In other words, these communication paths can be based upon on lower floor's network, and described lower floor network comprises networking infrastructure, for example subnet, switch and router, and as mentioned above, this architecture can be crossed over bigger geographic area (different countries continent not even together).
Clearly, aforementioned in accordance with the principles of the present invention and other end-to-end middleware architecture can be implemented in the various enterprise infrastructure in the various business environments.Fig. 2 shows a kind of such implementation.
In this enterprise infrastructure, market data distribution plant 12 is structured on the publish/subscribe network, and this publish/subscribe network is used for from each market data exchange equipment 320 1-nStock market quotation be routed to deal maker's (unshowned application).This covering solution depends on lower floor's network for example to be provided between the MA and this MA and P﹠amp; Interconnection between the M system.To API 310 1-nMarket data delivery be based on applications subscribe.Utilize this infrastructure, the deal maker of utilization application (not shown) will be from API 310 1-nTrading card place back market data exchange equipment 320 by publish/subscribe network (via core MA308a-b and edge MA 306b) 1-n
An example of lower floor's physics arrangement has been shown among Fig. 2 a.As shown in the figure, MA directly is connected to each other, and is inserted directly into network and subnet, and the client of message transmission flow and publisher are by physical connection in network and subnet.In this case, interconnection should be direct connection, that is, and and the direct connection between the MA and they and P﹠amp; Direct connection between the M system.This makes it possible to realize the non-change between two parties of net's backbone, and message is transmitted flow and other enterprise's application traffic physical separation.Effectively, MA can be used to remove and transmit the dependence of traditional route network of flow to being used for message.
In this example of physics arrangement, external data source such as market data exchange equipment or destination are directly connected to edge MA, for example, and edge MA 1.Message such as marketing is used transmits traffic consumes or the issue application is directly connected to subnet 1-12.These application have two lines at least, be used for ordering, issue or with other application communications; They can or utilize enterprise backbone or utilize message to transmit backbone network, and wherein enterprise backbone comprises the router and the switch of multilayer redundancy, and they transmit all enterprise's application traffics, include but not limited to, message is transmitted flow; Message is transmitted backbone network and is comprised via the integrated switch edge and the core MA of direct interconnection each other.Utilize to replace backbone network and have such advantage: message is transmitted flow isolate with other enterprise's application traffics, thus the performance of control messages transmission flow better.In one implementation, be arranged on the applied logic of subnet 6 or physically be connected to core MA 3, utilize TervelaAPI to order or the message traffic of issue native protocol.In another kind of implementation, be arranged on the applied logic of subnet 7 or physically be connected to edge MA1, order or the message of issue external protocol is transmitted flow, wherein this MA utilizes the conversion that carries on an agreement of integrated protocol conversion engine modules.
In logic, the physical assemblies of publish/subscribe network is structured on 1 to 4 layer the message transport layer that is similar to the OSI(Open Systems Interconnection) reference model.1 to 4 layer of osi model is respectively Physical layer, data link layer, network layer and transport layer.
Therefore, in one embodiment of the invention, the publish/subscribe network passes through for example one or more message transfer line of insertion an outpost of the tax office in the subclass of all-network switch and router or the network switch and router, thereby can be directly deployed in lower floor's network/framework.In another embodiment of the present invention, the publish/subscribe network can be used as mesh overlay network (wherein, all physical assemblies all are connected to each other) and by arrangement effectively.For example, the complete mesh network of 4 MA is such network, and wherein, each MA is connected to each among its 3 reciprocity MA.In typical implementation, the publish/subscribe network is the mesh network of following assembly: one or more external data sources and/or destination, one or more setting and management (P﹠amp; M) system, one or more message transmission device (MA), one or more optional caching engine (CE), and one or more optional application programming interface (API).
The back will illustrate in greater detail, and in enterprise's operation, reliability, availability and consistance all are essential usually.For this reason, the publish/subscribe middleware system can be designed to fault-tolerant, and wherein several in its assembly are tolerant system by arrangement.For example, MA can be that fault-tolerant MA is right by arrangement, and wherein a MA is known as main MA, and the 2nd MA is known as secondary MA or fault-tolerant MA (FTMA).Equally, transmit operation for storage, CE (caching engine) can be connected to main or the chondromitiome heart/edge MA.When main or secondary MA had flexible connection to CE, its whole or subclass with the message of institute's route was transmitted to this CE, and this CE writes storage area with the realization persistence with them.In the section, these message can be used for being used for retransmitting according to request then at the fixed time.
As previously mentioned, the communication in the border of each publish/subscribe middleware system is to be independent of lower floor's transmission logic utilization to carry out at the native protocol of message.Here it is is called the reason of the transparent message carrier architecture based on channel of transmission with this architecture.
Fig. 3 illustrates in greater detail the message carrier architecture 320 based on channel.Generally speaking, every communication path between the message transmission source and destination is restricted to a piece of news and transmits channel.Every channel 326 1-nUtilize the interface 328 between channel sources and the channel destination 1-nSet up by physical medium.Every such channel is to set up at special messaging protocol, and described messaging protocol for example is local (for example, Tervela TM) messaging protocol or other.Only edge MA (those MA that the entrance and exit of publish/subscribe network is managed) utilizes channel message protocol (external message protocol).Based on channel message protocol, channel management layer 324 determines to enter with outbound message whether require protocol translation.At each MA place, edge, be different from native protocol if enter the channel message protocol of message, then channel management layer 324 will be before the message that will handle be delivered to local message layer 330, by they being sent protocol translation engine (PTE) 332, thereby carries on an agreement translation.Equally, at each MA place, edge, if the native message protocol of outbound message is different from channel message protocol (external message protocol), then channel management layer 324 will be before the message that will handle be routed to transmission channel 3261-n, they are sent protocol translation engine (PTE) 332, thereby carried on an agreement translation.Thereby channel pair and the interface 3281-n of physical medium, the particular network that is associated with this physical medium and transmission logic and message components or fragment manage.
In other words, channel management OSI transmitting layer 3 22.Optimization to channel resource is performed (for example, based on the message density optimization of consumption patterns to physical medium, described consumption patterns comprises bandwidth, message size distribution, channel destination resource and channel health statistics) based on every channel.Then, unknowable because communication channel is a framework, so do not require the framework of particular type.In fact, any framework medium all will be worked, for example, and ATM, Infiniband or Ethernet.
Incidentally, when for example single message is split to a plurality of frames or a plurality of message and is packaged in the single frame, may need message fragment or reorganization.Message fragment or be binned in message and be delivered to and be performed before the channel management layer.
Fig. 3 further shows the multiple possible channel implementation in having the network of middleware architecture.In a kind of implementation 340, communication is to utilize by the too multicast of the network of net exchange, carries out via based on network channel, and wherein the network of Ethernet exchange serves as the physical medium that is used for this communication.In this implementation, the source sends message to the destination group with its related udp port (being defined as the ip multicast address) from its IP address via its udp port.In the variant 342 of this implementation, the communication between the source and destination is to utilize the UDP clean culture to realize by the network of Ethernet exchange.The source sends message to having selecting your destination of udp port in its corresponding IP address from its IP address via its udp port.
In another kind of implementation 344, channel utilizes local Infiniband host-host protocol to set up by the Infiniband interconnection, and wherein the Infiniband framework is a physical medium.In this implementation, channel is based on node, and the communication between the source and destination is to utilize their node addresss separately based on node.In another implementation 346, channel is based on storer, RDMA (long-range direct memory visit) for example, and be known as direct connection (DC) here.Utilize such channel, message is sent straight to the storer of destination machine from source machine, handles the message of dealing with from NIC to the application memory space thereby walk around CPU, and may avoid message is packaged into the network overhead of network packet.
As for native protocol, a kind of method is utilized aforementioned local Tervela TMMessaging protocol.Conceptive, Tervela TMMessaging protocol and IP-based protocol class are seemingly.Each message comprises message header and message payload.Message header comprises a plurality of fields, and one of them field is used for topic information.As mentioned above, topic is used for ordering the Sharing Information territory by the client.
Fig. 4 shows a possible message format based on topic.As shown in the figure, message comprises head 370 and main body 372 and 374, and main body 372 and 374 comprises useful load.Show two class message, that is, data and administrative messag, this two classes message has different message bodies and PT Payload Type.Head comprises the field that is used for following content: source and destination NameSpace sign, source and destination session identification, topic sequence number and wish timestamp, in addition, it also comprises topic comment field (this field preferably variable-length).Topic can be defined as the character string based on mark, and for example, NYSE.RTF.IBM 376, and this character string is the topic character string that comprises the message of IBM stock real-time price quotations.
In some implementations, the topic information in the message may be encoded or be mapped to a key word, and key word can be one or more round valuess.Then, each topic can be mapped to a unique key word, and the mapping database between topic and the key word will be by P﹠amp; M system maintenance, and be updated to all MA by circuit.As a result, when API ordered or issues a topic, MA can return unique key word of the association of the topic field that is used for message.
Preferably, subscription format will be followed the form identical with message topic.But, subscription format also support with the asterisk wildcard of any topic substring coupling and with topic substring regular expression matched pattern.Asterisk wildcard can depend on P﹠amp to the mapping of actual topics; The M system is perhaps handled by MA according to the complexity of asterisk wildcard or pattern match request.
For example, pattern match can be followed for example following rule:
Example #1: have asterisk wildcard T1. *.T3.T4 character string will be mated with T1.T2a.T3.T4, T1.T2b.T3.T4, but not mate with T1.T2.T3.T4.T5
Example #2: have asterisk wildcard T1. *.T3.T4. *Character string will be and T1.T2a.T3.T4, T1.T2b.T3.T4 coupling, but mate with T1.T2.T3.T4.T5
Example #3: have asterisk wildcard T1. *.T3.T4.[ *] (the 5th element is optional) character string will with T1.T2a.T3.T4, T1.T2b.T3.T4 and T1.T2.T3.T4.T5 coupling, but do not mate with T1.T2.T3.T4.T5.T6
Example #4: have asterisk wildcard T1.T2 *.T3.T4 character string will be mated with T1.T2a.T3.T4, T1.T2b.T3.T4, but not mate with T1.T5a.T3.T4
Example #5: have asterisk wildcard T1. *.T3.T4.>(the ending element of any number) character string will be mated with T1.T2a.T3.T4, T1.T2b.T3.T4, T1.T2.T3.T4.T5 and T1.T2.T3.T4.T5.T6
Fig. 5 shows the message Route Selection based on topic.As shown in the figure, topic can be defined as the character string based on mark, for example, T1.T2.T3.T4, wherein T1, T2, T3 and T4 are the character strings of variable-length.As seen, the message that enters with specific topics note 4 00 is routed to communication channel 404 selectively, and Route Selection is determined to be based on, and routing table 402 makes.Topic subscription arrives the mapping definition route of channel, and is used for message is transmitted all over whole publish/subscribe network.All these routes are ordered the superset definition routing table with the mapping of interchannel in other words.Routing table also is known as Order Entry Form.The Order Entry Form that is used to utilize topic based on character string to carry out Route Selection can be configured in many ways, but preferred disposition is for to be optimized its size and Route Selection seek rate.In one implementation, Order Entry Form can be defined as the dynamic hashing graph structure, and in another kind of implementation, Order Entry Form can be disposed in the tree construction, shown in the figure among Fig. 5.
Tree comprises node (for example, the T that is connected by the limit 1..., T 10), wherein each substring of topic subscription is corresponding to a node in the tree.The channel that is mapped to given order is stored on the leaf node of order, each leaf node indicate this topic subscription from the tabulation (that is, receiving subscription request) of channel by it.Which channel of this tabulation indication should receive the copy of the message of its topic note and this order coupling.As shown in the figure, the message Route Selection is searched message topic as input, utilizes each substring of this topic that tree is resolved then, locatees and enters the different channels that message topic is associated.For example, T 1, T 2, T 3, T 4And T 5Be directed to channel 1,2 and 3; T 1, T 2And T 3Be directed to channel 4; T 1, T 6, T 7, T *And T 9Be directed to channel 4 and 5; T 1, T 6, T 7, T 8And T 9Be directed to channel 1; And T 1, T 6, T 7, T *And T 10Be directed to channel 5.
Although the selection to the structure of route option table is to be optimized searching of route option table, the performance of searching also depends on the searching algorithm that is used to find and enter one or more topic subscription of message topic coupling.Therefore, the Route Selection list structure should adapt to this algorithm, and vice versa.A kind of mode that reduces the size of routing table is to allow route selection algorithm will order selectively to propagate all over whole publish/subscribe network.For example, it seems it is the subclass (for example, the part of whole character string) of another order of being propagated, then to need not to propagate this subclass and order, because MA has had the information of the superset of this order if order.
Based on aforementioned, preferred message routing protocol is based on the routing protocol of topic, wherein authorizes in the mapping between subscriber and corresponding topic to indicate.Mandate is at each subscriber or the appointment of subscriber's groups/classes, indicates this order to have the right to consume which kind of message or this publisher can produce (issue) which message.These mandates are at P﹠amp; Define in the M machine, be transferred to all MA in the publish/subscribe network, be used for creating and upgrading their routing table then by MA.
Each MA is inserted into (request is ordered) and upgrades its routing table in which kind of message by following the trail of whom.But before adding route to its routing table, MA must check order at the mandate of publish/subscribe network.The MA checking may be neighbours MA, P﹠amp; The order entity of M system, CE or API is authorized to execution like this.If this order is that effectively then route will be created and be added to routing table.Then, because some mandates may be known in advance, so system can be by arrangement with the predefine mandate, and these mandates can be loaded by field when guiding.For example, some the cura specialis message such as config update may always be forwarded all over network, and therefore are written into automatically when starting.
To the description of messaging system, be appreciated that message transmission device (MA) has vital role in this system above given with publish/subscribe middleware architecture.Therefore, the details of the hardware based message transmission device (MA) that disposes according to the principle of the invention is described now.In a kind of implementation of the present invention, MA is an autonomous device.In another kind of implementation of the present invention, the built-in module (for example, Line cards) of any network physical component internal of MA definition such as router or switch.Fig. 6 a, 6b, 6c and 6d are the block diagrams that shows hardware based MA on various the level of details.Fig. 6 e shows MA from the function visual angle.
Generally speaking, the architecture of MA is based on that the high-speed interconnect bus sets up, and wherein various hardware modules are connected to this high-speed interconnect bus.Fig. 6 a and 6b show the basic architecture of edge and core MA106 and 108 respectively, and wherein high-speed interconnect bus 508 is with each hardware module 502,504 and 506 interconnection.Edge MA (106, among Fig. 6 a) is illustrated as disposing protocol translation engine (PTE) module 510, and core MA (108, among Fig. 6 b) is illustrated as not disposing the PTE module.As further shown, in one embodiment, the high-speed interconnect bus is constructed to PCI/PCI-X bus tree, and wherein hardware module is a PCI/PCI-X peripherals.PCI (periphery component interconnection) is considered to be used for the interconnection system of computing machine high speed operation usually.PCI-X (periphery component interconnection of expansion) is a kind of computer bus technology (" data pipe " between the machine element) that is used for the more speed computer operation.In alternative embodiment, the high-speed interconnect bus is constructed to Infiniband or direct memory connects medium.In yet another embodiment, hardware module is framework backboard (for example, advanced telecom counting system structure, ATCA) blade of Lian Jieing (blade) via exchange.
The various hardware modules of each MA can be divided into three groups in essence, control plane module group 502, datum plane module group 504 and service plane module group 506.Control plane module group is handled the MA management function, comprises configuration and monitoring.The example of MA management function comprises that configuration network management service, configuration are connected to the hardware module of high-speed interconnect bus and these hardware modules are monitored.Datum plane module group deal with data message Route Selection and forwards function.This module group is handled message and the administrative messag by the transmission of publish/subscribe middleware system, but administrative messag also can be delivered to control plane module group.Service plane module group is handled can be by other local services of control and the seamless use of datum plane module.In one embodiment, local service may be following service: utilize the GPS card or can periodically receive the time synchronized service that is used for the stand-by period measurement that millisecond equipment of any external sync of granularity signal provides.These three kinds of module groups will be below further described in conjunction with Fig. 6 c and Fig. 6 a and 6b.
Control plane module group 502 comprises administration module 512.Generally speaking, administration module is combined with the CPU of one or more operation systems (OS), and described operating system for example is Linux, Solaris, Windows or any other OS.Perhaps, administration module is combined with the one or more CPU in the blade (server) in being installed in the high-speed interconnect base plate.In another configuration, administration module is combined with one or more CPU of operation in high-performance frame dress host server (high-performance rack-mountedhost server).
In addition, administration module 512 comprises one or more logic configuration path.First configuration path utilizes command line interface (CLI) to set up by serial line interface or network connection, and the system manager can import configuration order by this command line interface.Logic configuration path by CLI generally is established to provide initial configuration information to MA, to allow its foundation and P﹠amp; The connectedness of M system.This initial configuration provides such as but not limited to following information: the P﹠amp that local management IP address, default gateway, MA are connected to; The IP address of M system.As the part of bootup process, the whole or subclass of this configuration may be used to each nextport hardware component NextPort among the MA is carried out initialization.
Second configuration path is to utilize to set up by the administrative messag of publish/subscribe middleware system route.In case MA has had to one or more P﹠amp; The connectedness of M system, it just will be registered at least one P﹠amp; The M service system, and fetch its configuration.This configuration is sent to this MA via the administrative messag at administration module 512 local transmits.
From P﹠amp; The MA configure packet containing parameter that the M system fetches, address etc.The example of MA configuration information may comprise Syslog configuration parameter, NTP (Network Time Protocol) (NTP) configuration parameter, name server (DNS) information, the remote access policy via SSH/Telnet and/or HTTP/HTTPS, authentication method (Radius/Tacacs), publish/subscribe mandate, be indicated to the routing information of the connectedness of adjacent MA or API, or the like.
Whole M A configuration can be cached on administration module in the combination of memory resource being associated with this administration module or memory resource.MA configuration (for example can be buffered in the storage space at administration module place for example, in the volatile storage area, the ram disc that is used for the boot files system), nonvolatile storage (for example, storer flash card or hard disk drive), perhaps in their combination in any.If still exist behind the reboot, then this configuration that is buffered can be loaded by MA when starting.
In one implementation, the configuration of buffer memory also comprises by P﹠amp; The configuring identifier that the M system provides (ID).This configuration ID can be used for comparison, wherein the MA configuration ID of local cache quilt and P﹠amp on MA; MA configuration ID current in the M system is compared.If MA and P﹠amp; The configuration ID of M in the two is identical, and then MA can walk around the configuration transfer phase, adopts the configuration of local cache.In addition, at P﹠amp; Under the inaccessible situation of M system, MA can return to known configuration recently, no matter be nearest configuration, rather than starts under the situation without any configuration.
In case MA is activated and moves, control plane module group (administration module 152) is just monitored the sign (state change incident) that the health that is associated with each logic module in the hardware module of MA and any state change.For example, state changes incident can indicate API registration, MA registration, and perhaps they can be to order/quit the subscription of incident.These and other state change incidents are generated and can be stored certain hour in MA this locality.MA reports these incidents to the system monitoring instrument.
Can utilize Simple Network Management Protocol (SNMP), perhaps by to flowing to P﹠amp from MA; The P﹠amp that the undressed statistics of M is followed the trail of; M monitoring in real time and/or historical trend UI (user interface) module are carried out remote monitoring to MA.This undressed statistics can according to the time period by in batches, to reduce the amount of the monitoring flow that is just producing.Perhaps, this undressed statistics can be aggregated and handle (for example, by calculating) according to the time period.
The control plane module of MA also is responsible for new or old firmware version is loaded on the specific hardware module.In an example, make firmware image can use via the renewal on the circuit to MA.In these maintenance windows, new firmware image is at first from P﹠amp; The M system is downloaded to MA.After receiving and having confirmed this firmware image, MA with this image uploading to the target hardware module.After renewal is finished, come into force in order to make upgrading, this hardware module possibility must be by reboot.Exist multiple mode to confirm software image, a kind of mode relates to the signature of embedding.For example, MA checks whether this image is authorized to licensee or group (for example, Tervela or Tervela by the supplier of system or its TMOne of any licensee of technology) signature.
Preferably, the flow of system management messages is routed by special-purpose physical interface.This method allows for management and creates different virtual lans (VLAN) with the data-message flow.This can be configured to be exclusively used in this interface to the VLAN that is used for all system management messages flows and realize by the switch ports themselves that will be connected to particular physical interface.Then, the whole or subclass of all the other physical interfaces will be exclusively used in the VLAN of data-message.By in lower floor's framework, distinguishing and separate different types of traffic, can be independently the performance of every type message traffic be managed.
Another function of control plane module group is to transmit the function that the statistics of channel is monitored to the state of Order Entry Form with about the message between MA and the API.Based on this information, whether protocol optimization service (POS) decision among the MA for example switches to Multicast Channel from unicast tunnel, otherwise perhaps.Similarly, in the situation of having found slower client, POS can determine whether slower client is moved to unicast tunnel from Multicast Channel, to keep the operational integrity of Multicast Channel.
Aforementioned data plane module group (502, among Fig. 6 a and the 6b) comprises one or more physical interface card (PIC; 514, among Fig. 6 a-c), for example, Fast Ethernet, G bit Ethernet, 10G bit Ethernet, G bit speed memory interconnect, or the like.These datum planes PIC is logically controlled by one or more message handling devices unit (MPU).MPU is implemented as the embedded solution on network processor unit 516, the network processing card based on MIPS, customization ASIC or any platform.
514 pairs of frames that comprise one or more message of PIC are handled.Frame enters MA by inlet PIC, and inlet PIC comprises one or more chipsets and comes the control medium dedicated processes.In a kind of configuration, PIC also is responsible for the 4th layer of termination of OSI, and this stops corresponding to Channel Transmission is special-purpose, and for example, TCP or UDP stop.As a result, the data that are forwarded to MPU from PIC may only comprise from the message flow that enters frame.In the another kind configuration, PIC sends to network packet in the channel engine 520 that moves on MPU.Before the message that the channel engine comprises, carry out the processing of the 3rd layer to the 4th layer of OSI in transferring this network packet.
In another configuration, PIC 514 utilizes channel dedicated transmissions agreement with the memory interconnect interface of forwards to channel engine 520.In addition, in this case, the channel engine will have channel dedicated processes adapter, be used for resolving and extracting from enter data message.
In another kind configuration, PIC may have storer on special chip collection and the plate, is used to carry out the quick forwarding of message frame, and this is with will to be delivered to PMU by these frames of message Route Selection engine 518 routes opposite.In order to realize this fast forwarding method, overall Route Selection (order) table whole or preferably part be distributed to forwarding cache the PIC from MPU.Utilize this routing table in its forwarding cache, inlet PIC can check any subclass of discerning one or more topics or topic in them to entering message frame, and based on this topic frame directly is forwarded to outlet PIC.Note,, can obtain then that Route Selection is faster searched and the advantage of consequent forwards faster if be distributed to the subclass that the Order Entry Form of the forwarding cache of PIC is only represented overall Order Entry Form.
Aforementioned MPU 516 utilizes its channel engine 520 to be in charge of communication interface between PIC and the message Route Selection engine 518.MPU also utilizes its message Route Selection engine 518 to be responsible for safeguarding Order Entry Form and will to enter message and order and channel to be complementary.These functions can realize in many ways that in one of this multiple mode, they are configured to move on different micro engines or microchip, and in the another kind in this multiple mode, they are configured to move on the core cpu that separates.In the situation, each core adopts network stack standard or customization in second.In another implementation, these functions are configured to move in the multi-core CPU on the real-time OS.
Preferred L PU also has the Medium Exchange framework 522 of embedding.Because it is that framework is unknowable that message is transmitted channel, so MPU could interface to the physical medium 524 of any kind.All received from the message of PIC forwarding and the message of transmitting from the Medium Exchange framework alternatively, be forwarded to message Route Selection engine 518 then by channel engine 520.
520 pairs of message of channel engine are transmitted channel queue and are managed.Fig. 6 d shows the message queueing that utilizes interim message buffering 524 and utilizes the forwards of channel engine 520.
The take over party, message is removed from channel queue.In some instances, message transmission channel may have special priority.It is useful when having unsettled message more than a channel that message is transmitted channel priority.For example, the message repeat requests should at first be forwarded; Therefore, be to be understood that creating different channels is used for repeat requests.Make repeat requests postpone to cause more repeat requests; What take place when the broadcast/multi broadcast storm generally is exactly this situation.
For edge MA 108, the agreement switch 526 in the channel engine 520 checks whether message requires protocol translation.If essential translation, then message is sent to protocol translation engine 510.Converted to local agreement (for example, Tervela in this message by the protocol translation engine TMAgreement) behind the form, it is forwarded to buffer memory assembly 528.The buffer memory assembly is put into interim message buffering 524 with this message, and wherein this message will can be used for retransmitting temporarily.After its time period passes, this message will be removed or be override by another message.In a kind of configuration, interim message buffering is implemented as the simple memory ring buffer of sharing with message Route Selection engine 518.Preferably, interim message buffering is searched optimised, so that by for example safeguarding message SN is mapped to real messages in the buffer memory, thereby quickens retransmission processes.Message Route Selection engine 518 takes out message from interim message format 524, carry out to order and search, and the Return Channel tabulation is to transmit the copy of this message then.
Some administrative messags may must be sent in administration module 512 this locality by shared bus 508 (Fig. 6 a, 6b and 6c).Also can be forwarded all over the publish/subscribe middleware system by the message of local transmit.In one implementation, message Route Selection engine 518 pushes the copy of message in the formation of each channel.In another kind of implementation, message Route Selection engine 518 only will to message quote or the pointer of refer message is gone into formation, wherein message self is still in interim message buffering.This method has the advantage of the storer utilization of optimizing on the MPU, because may quote same message more than a formation.In addition, message Route Selection engine 518 is additional quote (for example, pointer) to message in subscribe message formation 532, and the message in the interim message buffering 524 is pointed in the order formation of wherein ordering S1 and S2.
Then, each formation is safeguarded row of all orders of being associated with it is quoted.This method has such advantage: make it possible to realize to order level Message Processing rather than channel level Message Processing only.Effectively, these order formations provides based on each order and based on the mode of each channel indexes message; Therefore, if for given order, need handle message, then it has shortened the time of searching.For example, in one embodiment, merge logic in real time and be used based on each order.This also allows MPU to carry out increment calculating, and for example, the trading volume weighted average price (VWAP) that is used for the stock market quote message is calculated.
At transmit leg, the channel that 518 pairs in message Route Selection engine has a unsettled queuing message is labelled or is indicated.This allows channel scheduler 530 to understand which bar or which channel requires to note or have special priority.Channel priority can be confused provides service quality (QoS) function.For example, qos feature is to realize based on the message header field or based on the combination of message header field and message subject separately.At this moment, message Route Selection engine 518 moves to the next message in the message buffering ring buffer.
Channel scheduler 530 all channels through having the message of being lined up utilize channel private communication strategy to transmit unsettled message.Which kind of host-host protocol strategy determine to use, and is clean culture, multicast or other.Communication strategy can be consulted when creating channel, and perhaps it may be based on utilization of resources pattern and by real-time update, described utilization of resources pattern for example is network bandwidth utilization, message, packetization delay, shakes, loses etc.Channel private communication strategy can be further based on the packet flow control parameter of consulting with one or more channels destination (for example, Lin Jin MA or API).For example, not to send all message, but may abandon a message in N message.Therefore, an aspect that is associated with this strategy is message flow control.
Fig. 7 shows real-time messages current control (MFC) algorithm.According to this algorithm, the size of channel queue can be used as the threshold parameter operation.For example, accumulate in its channel queue at place, receiving equipment side by the message that particular channel is sent, and along with this channel queue increases, its size can reach its high threshold that can not surpass safely under the situation that channel can not break down, and enters message flow to catch up with.When being in the situation of the danger that reaches its maximum capacity, receiving message transmission device and can before the channel queue overrun, activate MFC near this wherein channel.This MFC shrinks and its size is closed when becoming less than low threshold value in formation.Difference between the high and low threshold value is set to be enough to produce this behavior that is known as hysteresis, and wherein MFC is being unlocked than its pent higher queue size value place.This threshold difference has been avoided the frequent Open-closure vibration of message flow control, and this vibration can take place when queue size constantly changes near high threshold.Therefore, transmit take over party's formation overrun for fear of message, the speed that enters message is retrained by Real-time and Dynamic MFC, and dynamically MFC makes this speed keep below the maximum channel ability.
As to wherein abandon the replacement based on the MFC algorithm that lags behind of message during near its ability in channel queue, Real-time and Dynamic MFC can operate blended data or use some merge algorithms to ordering formation.But,,, rather than keep forward-path faster so it may revert to slower forward-path because this operation may require extra message transformation.This can place the negative effect of message transformation to the logical amount of telling of message transmission.This extra message transformation is by carrying out with the similar processor of protocol conversion engine.The example of sort processor comprises the separation micro engine on NPU (network processing unit), semantic processor, the MPU, or the like.
For higher efficient, a merging in real time or an order level Message Processing can be distributed between sender and recipient.For example, only a subscriber asks to order in the situation of grade Message Processing therein, and it is significant pushing it against the downstream in the recipient side rather than in sender side it being carried out.But if just asking identical order level Message Processing more than a data client, it is significant then carrying out it in downstream, sender side.In the sender side of channel and the purpose of recipient side's distribute work amount is optimally to use available combined processing resources.
Transmission channel self is handled the transmission special disposal, and this processing more may be to utilize System on Chip/SoC to be performed on MPU or PIC on the take over party.When channel was bundled to a plurality of message in the single frame, it can keep the Messages-Waiting time to be lower than maximum can accept the stand-by period, and alleviated take over party's pressure by discharging some processing resources.Sometimes more effectively be to receive more a spot of big frame rather than handle many less frames.Especially true for the API that may utilize multi-purpose computer nextport hardware component NextPort (comprising CPU, storer and NIC) on telecommunications OS, to move.Generally speaking, NIC is designed at each frame that receives and generates the OS interruption, and this has reduced API again and can be used to message is delivered to the application layer processing time of ordering application.
As mentioned above, only edge MA has protocol translation engine (PTE).In edge MA, the datum plane module can will enter forwards to PTE (510, among Fig. 6 a, 6c and the 6d).This forwarding judgement is made at MPU 512 places by the agreement switch 526 that moves as the part of channel engine 520.Enter with outbound message agreement and native message protocol not simultaneously, this message is forwarded to PTE.
Can be in order to the plug in software module that realize PTE with the multiple mode of hardware and software that is in any combination, comprise utilizing for example semantic processor, FPGA, NPU or executed in real time, the embedded OS that on the System on Chip/SoC of network-oriented or processor, moves based on MIPS.As shown in the example of Fig. 6 c, PTE has the micro engine of the oriented mission of pipelining, comprises that message parse, message rule are searched, message rule is used and the message format engine.Architecture constraints when making up this hardware module is to keep the message transformation stand-by period lower, allows a plurality of complex grammar conversion between the agreement simultaneously.Another constraint is to make the firmware update of protocol conversion sentence structure (grammer) very flexible, and is independent of lower floor's hardware.
At first, in streamline, message parse engine 540 takes out the message from PTE entry queue 548 dequeues, resolves, identifies this message then and this message is labelled.The message parse engine is forwarded to the result message rule then and searches engine 542.Message rule is searched engine and is searched based on the message content executing rule, fetches the matched rule that need be employed.Message content and matched rule are passed to message rule application engine 544 then.The rule application engine carries out conversion according to matched rule to the mark of this message, and the tagged message that obtains then is forwarded to message format engine 546.The message format engine is rebuild message body and head according to this locality or external message protocol, then it is sent it back PTE outlet formation 550.Treated (translation) message is transported back and goes to channel engine 520 on the shared bus 508.
Shown in Fig. 6 a and 6b, the various hardware modules of each MA can be divided into three groups in essence, and above-mentioned control plane module group 502 wherein and datum plane module group 504 are with the service interface that is provided by service plane module group 506 and utilize described service.Thus, service plane module group comprises and is used for the two the set of service module of control plane module group and datum plane module group.An example of service module is the external time source, for example GPS (GPS) card.This service module can be used for obtaining correct time by any other hardware module and stab.For example, each frame or the message by the datum plane route can be coupled with timestamp when it enters and/or withdraws from MA.The timestamp information of this embedding can be used for carrying out the stand-by period measurement in the back.
The timestamp that records when as a result, the external standby time calculated example enters MA with the embedding timestamp from data stream with frame as relating to is relevant.Then, by following the trail of this external standby time in time, MA can set up stand-by period trend, and detects any drift of external standby time, and this information is embedded back data stream.This stand-by period drift can or be ordered by the downstream node in the message bang path subsequently to use to adopt and be carried out the business level judgement and obtain competitive advantage.
In order to follow the trail of stand-by period and other messaging system statistics, MA has one or more memory devices.These memory devices are preserved ephemeral data, and for example the statistics that obtains from different nextport hardware component NextPorts, networking and message are transmitted the flow profile, or the like.In one implementation, one or more memory devices comprise the flash memory device of preserving the initialization data that is used for MA startup (guiding or reboot).For this purpose, this non-volatile memory devices comprises nuclear and root ram dish, and these pilot operationps for administration module are necessary; And preferably also comprise acquiescence, start and the operation configuration.
This nonvolatile memory can also be preserved encryption key, digital signature and the certificate that is used for the administrative messag safe transmission.In one example, SSL (security socket layer) agreement uses public-key and private key (asymmetric) encryption system, and it also comprises the use digital certificate.Similarly, PKI (Public Key Infrastructure) make the public network such as the Internet the user can by use by trusted mechanism obtain and the public and privately owned cryptographic key shared to realizing the exchanges data of safety and secret.
Can hardware module be described at the function that hardware module provided, shown in Fig. 6 e.The function aspects of message transmission device has network management stack 602, physical interface management 606, system administration services 614, timestamp service 624, transfer source layer 608 and the protocol translation engine 618 in the edge message transmission device.These function aspects are relevant with hardware module, and are as described below.
For example, network management stack (602) is gone up operation at administration module (512).TCP/UDP/IP stack (604) is the part of the operating system moved on the CPU of administration module.NTP, SNMP, Syslog, HTTP/HTTPS web server, Telnet/SSH CLI service all are the standard network services that moves on OS.
System administration services (614) also goes up operation at administration module (512).These system administration services manage the interface between network management stack and the messenger component, comprise this system is configured and monitors.
Timestamp service (624) may be distributed to a plurality of nextport hardware component NextPorts.Any nextport hardware component NextPort (comprising administration module) that requires correct time to stab comprises the timestamp service with service plane hardware module time resource interface.
Bus 616a is the logic bus that is connected logic/functional module with 616b, and its hardware or software bus with connection hardware and software module is relative.
TVA message layer (610) is distributed on administration module and goes up at message processing unit (516) between the message Route Selection engine (518) of operation.Administrative messag is delivered to the administrative messag engine of going up operation at administration module (512) in this locality.Message Route Selection engine (620) operates on the Route Selection engine micro engine on the message processing unit (516).Transfer source layer (612) is mainly gone up operation at channel engine micro engine (520).In some cases, the part of Channel Transmission logic is implemented on some transmission perception PIC 514a-d.In one embodiment of the invention, this transmission perception PIC carries out the TCP offload engine interface that TCP stops.As a result, and will carry out on the contrary on the channel engine, the local channel transmission logic is by being carried out on PIC.Message Rx and Tx are distributed between channel engine and the message Route Selection engine, because there are two micro engines to exchange each other.Protocol translation engine (618) is by PTE (510) representative of optional edge MA.
In sum, the invention provides a kind of new method that message is transmitted that is used for, more particularly, a kind of new publish/subscribe middleware system with hardware based message transmission device is provided, and this hardware based message transmission device has important effect when improving the efficient of messaging system.Although described in detail the present invention with reference to some preferred version of the present invention, other versions also are possible.Therefore, the spirit and scope of appended claims should not be limited to the description to the preferred version that is comprised here.

Claims (49)

1. the hardware based message transmission device in the publish/subscribe middleware system comprises:
Interconnect bus; And
Hardware module via described interconnect bus interconnection, described hardware module is divided into a plurality of groups, first group is to be used for the control plane module group that processing messages is transmitted Equipment Management Function, second group be used for individual processing message routing function or except that the message transformation function datum plane module group of processing messages routing function also, and the 3rd group be to be used for the service plane module group handled by the service function of first group and second group utilization of described hardware module.
2. hardware based message transmission device as claimed in claim 1, wherein, described message transmission device management function comprises configuration and monitoring function.
3. hardware based message transmission device as claimed in claim 2, wherein, described configuration feature comprises the described publish/subscribe middleware system of configuration.
4. hardware based message transmission device as claimed in claim 1, wherein, described message routing function comprises forwards and the Route Selection of carrying out by Dynamic Selection message transmission protocol and message Route Selection path.
5. hardware based message transmission device as claimed in claim 1, wherein, described service function comprises time source and synchronizing function.
6. hardware based message transmission device as claimed in claim 1, wherein, described control plane module group comprises administration module and one or more logic configuration path.
7. hardware based message transmission device as claimed in claim 6, wherein, described administration module combines the one or more CPU (central processing unit) (CPU) in computing machine, blade server or the host server.
8. hardware based message transmission device as claimed in claim 7, wherein, the CPU in the described administration module is the executive routine code under any operating system, and described operating system comprises Linux, Solaris, Unix and Windows.
9. hardware based message transmission device as claimed in claim 6, wherein, every the logic configuration path is one of mulitpath, wherein first path connects via command line interface (CLI) foundation by serial line interface or network, and second path is to utilize by the administrative messag of described publish/subscribe middleware system route to set up.
10. hardware based message transmission device as claimed in claim 9, wherein, described logic configuration path is used to configuration information, and wherein said administrative messag comprises this configuration information, described configuration information comprise following one or more: Syslog configuration parameter, NTP (Network Time Protocol) (NTP) configuration parameter, name server (DNS) information, remote access policy, authentication method, publish/subscribe mandate and message routing information.
11. hardware based message transmission device as claimed in claim 10, wherein, described message routing function is based on neighbours, and described message routing information is indicated to the connectedness that each proximity message is transmitted equipment or application programming interface.
12. hardware based message transmission device as claimed in claim 10 also comprises storer, if described configuration information is lasting, then described configuration information is stored in the described storer, fetches during reboot after being used for.
13. hardware based message transmission device as claimed in claim 12, wherein, institute's stored configuration information has the configuration identifier that is associated with it, and described configuration identifier is used for determining whether described configuration information is that configuration information current or that whether need to be updated is replaced.
14. hardware based message transmission device as claimed in claim 1, wherein, described message transmission device management function comprises that also health monitoring function and state change the event-monitoring function, and after starting or reboot carrying out or finish, these two kinds of functions become movable.
15. hardware based message transmission device as claimed in claim 14, wherein, described state changes the event-monitoring Function detection and comprises API (application programming interface) registration, message transmission device registration and the incident of ordering and quit the subscription of incident.
16. hardware based message transmission device as claimed in claim 1, wherein, described message transmission device management function also comprises the function that firmware image is uploaded to described hardware module.
17. hardware based message transmission device as claimed in claim 16, wherein, the described function of uploading firmware image comprises examines described firmware image.
18. hardware based message transmission device as claimed in claim 9, also comprise physical interface, one or more being exclusively used in the described physical interface handled the administrative messag flow that is associated with described message transmission device management function, and all the other physical interfaces can be used for the data-message flow, thereby make the administrative messag flow not mix, and can not make the physical interface that is used for the data-message flow transship with the data-message flow.
19. hardware based message transmission device as claimed in claim 1 also comprises the transmission of messages channel, wherein said message transmission device management function also comprises the function that the Order Entry Form that is associated with described transmission of messages channel and statistics are monitored.
20. hardware based message transmission device as claimed in claim 19, wherein, described statistics is monitored to determine whether switching to another channel from a channel, in the situation of finding slower client, determines whether described slower client is moved to the channel of optimizing at the client.
21. hardware based message transmission device as claimed in claim 1, wherein, described datum plane module group comprises one or more physical interface cards (PIC) and is used to control the message processing unit (MPU) of described PIC.
22. hardware based message transmission device as claimed in claim 21 also comprises providing the visit of described administration module to allow the serial port of command line interface (CLI).
23. hardware based message transmission device as claimed in claim 21, wherein, described PIC handles the frame with one or more message.
24. hardware based message transmission device as claimed in claim 21 also comprises global routing table, the copy of part or all of described global routing table is sent to the forwarding storer that is associated with each PIC.
25. hardware based message transmission device as claimed in claim 24, wherein, the routing table based on topic that described message routing function relates in the described forwarding storer is searched.
26. hardware based message transmission device as claimed in claim 15, wherein, described routing table based on topic search between two PIC or PIC and the message between himself discern one or more of paths.
27. hardware based message transmission device as claimed in claim 1, wherein, described service plane module group comprises can be by any described hardware module visit to obtain the external time source of timestamp.
28. as the hardware based message transmission device that claim 27 is stated, wherein, described timestamp is embedded in the message and is used to assess the stand-by period later on.
29. hardware based message transmission device as claimed in claim 28, also comprise nonvolatile memory, be used for accumulating in time the message traffic profile that is characterized by the statistics that comprises the described stand-by period, the message traffic profile of being accumulated is set up the trend of indication stand-by period drift under the situation that the stand-by period drift is specialized.
30. hardware based message transmission device as claimed in claim 29 also comprises the nonvolatile memory that is used to preserve encryption key and certificate for security.
31. hardware based message transmission device as claimed in claim 1, be configured to edge message transmission device or core message and transmit equipment, wherein said edge message transmission device has the protocol translation engine (PTE) that is used for externally and translates between the native message protocol.
32. the hardware based message transmission device in the publish/subscribe middleware system comprises:
Interconnect bus;
Administration module, it has the management service and the administrative messag engine of interface each other, and described administration module is arranged to processing configuration and monitoring function;
Message processing unit, it has message Route Selection engine and Medium Exchange framework, and the channel engine of interface betwixt, and described message processing unit is arranged to the processing messages routing function;
One or more physical interface cards (PIC) are used for being received by described hardware message transmission device or route and message that go to or leave described administration module and described message processing unit is handled;
The service module that comprises time source, wherein said administration module, described message processing module, described one or more PIC and described service module are interconnected via described interconnect bus.
33. hardware based message transmission device as claimed in claim 32 also comprises being used for preserving the nonvolatile memory of configuration information and the interim information storage area of safeguarding at the storer of described message processing unit.
34. hardware based message transmission device as claimed in claim 32 for each described PIC, also comprises the storer of the memory block with the arbitrary portion that is used to preserve the global system routing table.
Therefore 35. hardware based message transmission device as claimed in claim 32, wherein, exterior connectivity is that framework is unknowable, and described PIC and Medium Exchange framework can have any framework type.
36. hardware based message transmission device as claimed in claim 32 also comprises the serial port that is used for command line interface.
37. hardware based message transmission device as claimed in claim 32 also comprises the protocol translation engine (PTE) that is used for externally and translates between the native message protocol.
38. hardware based message transmission device as claimed in claim 37 is configured to edge message transmission device or core message and transmits equipment, wherein said edge message transmission device comprises described PTE.
39. hardware based message transmission device as claimed in claim 37, wherein, described PTE comprises the pipelining engine, described pipelining engine comprises that message parse, message rule are searched, message rule is used and the message format engine, and message ingress and egress queues, and wherein said PTE is connected to described interconnect bus.
40. hardware based message transmission device as claimed in claim 32, wherein, described message routing function is carried out by Dynamic Selection message transmission protocol and message Route Selection path.
41. hardware based message transmission device as claimed in claim 32, wherein, described channel engine comprises and is used to handle a plurality of transmission channels and the channel management module that enters with outbound message.
42. hardware based message transmission device as claimed in claim 41, wherein, described channel management module comprises the message buffering module that is used for the message that interim buffer memory receives, the channel scheduler that is used for transmission channel is distinguished priority, and the agreement switch that is used for determining the protocol translation demand.
43. hardware based message transmission device as claimed in claim 41, wherein, each in described a plurality of transmission channels has message ingress and egress queues, and the size of described formation is used as the standard that activates message flow control.
44. hardware based message transmission device as claimed in claim 43, wherein, channel capacity is regarded as high threshold, and a lower value is regarded as low threshold value, described message flow control is activated during near described high threshold built in the size of described formation, and is retracted at described queue size and is under an embargo when being lower than described low threshold value.
45. the system with publish/subscribe middleware architecture comprises:
One or more than a message transmission device, it is arranged to and receives and route messages, the hardware module that each message transmission device has interconnect bus and interconnects via described interconnect bus, described hardware module is divided into a plurality of groups, first group is to be used for the control plane module group that processing messages is transmitted Equipment Management Function, second group is the datum plane module group that is used for the processing messages routing function, and the 3rd group is to be used for the service plane module group handled by the service function of first group and second group utilization of described hardware module;
Connected medium; And
Via the setting and the management equipment of described connected medium link, it is arranged to and each message transmission device exchange of management message,
Wherein, each message transmission device also is arranged to the Route Selection of carrying out message by Dynamic Selection message transmission protocol and message Route Selection path.
46. system as claimed in claim 45, wherein, described message transmission device comprises that one or more edges message transmission device and core message transmit equipment.
47. system as claimed in claim 46, wherein, each edge message transmission device comprises the protocol conversion engine, be used for transforming to native protocol with entering message from external protocol, and the message that is used for being routed transforms to described external protocol from described native protocol.
48. hardware based message transmission device as claimed in claim 1, it can be used as the built-in module work in exchange or the smart box.
49. system as claimed in claim 45, wherein, one or more described message transmission devices are interconnected, and network is non-to be changed between two parties to provide.
CNA2005800461011A 2005-01-06 2005-12-23 Message transmission device based on hardware Pending CN101133380A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US64198805P 2005-01-06 2005-01-06
US60/641,988 2005-01-06
US60/688,983 2005-06-08

Publications (1)

Publication Number Publication Date
CN101133380A true CN101133380A (en) 2008-02-27

Family

ID=39086087

Family Applications (5)

Application Number Title Priority Date Filing Date
CNA2005800460945A Pending CN101124566A (en) 2005-01-06 2005-12-23 End-to-end publish/subscribe intermediate system structure
CNA2005800461011A Pending CN101133380A (en) 2005-01-06 2005-12-23 Message transmission device based on hardware
CNA200580046095XA Pending CN101124567A (en) 2005-01-06 2005-12-23 Caching engine in a messaging system
CNA2005800460930A Pending CN101326508A (en) 2005-01-06 2005-12-23 Intelligent messaging application programming interface
CNA2006800018954A Pending CN101151604A (en) 2005-01-06 2006-01-06 Provisioning and management in a message publish/subscribe system

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CNA2005800460945A Pending CN101124566A (en) 2005-01-06 2005-12-23 End-to-end publish/subscribe intermediate system structure

Family Applications After (3)

Application Number Title Priority Date Filing Date
CNA200580046095XA Pending CN101124567A (en) 2005-01-06 2005-12-23 Caching engine in a messaging system
CNA2005800460930A Pending CN101326508A (en) 2005-01-06 2005-12-23 Intelligent messaging application programming interface
CNA2006800018954A Pending CN101151604A (en) 2005-01-06 2006-01-06 Provisioning and management in a message publish/subscribe system

Country Status (1)

Country Link
CN (5) CN101124566A (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102783090A (en) * 2009-12-23 2012-11-14 思杰系统有限公司 Systems and methods for object rate limiting in a multi-core system
CN104579605A (en) * 2013-10-23 2015-04-29 华为技术有限公司 Data transmission method and device
CN104756079A (en) * 2012-10-23 2015-07-01 日本电气株式会社 Rule distribution server, as well as event processing system, method, and program
CN107306248A (en) * 2016-04-19 2017-10-31 广东国盾量子科技有限公司 A kind of light quantum interchanger and its communication means
CN108390917A (en) * 2018-01-25 2018-08-10 珠海金山网络游戏科技有限公司 Intelligence sends message approach and device
CN110431586A (en) * 2017-03-16 2019-11-08 软银股份有限公司 Relay and program
TWI678087B (en) * 2018-11-22 2019-11-21 財團法人工業技術研究院 Method of message synchronization in message queue publish and subscriotion and system thereof
CN110830285A (en) * 2018-08-09 2020-02-21 塔塔咨询服务有限公司 Message-based communication and failure recovery method and system for FPGA middleware framework
CN115086403A (en) * 2022-04-27 2022-09-20 中国科学院上海微系统与信息技术研究所 Edge computing gateway micro-service architecture for ubiquitous heterogeneous access

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011029821A (en) * 2009-07-23 2011-02-10 Canon Inc Information processing apparatus, control method of the information processing apparatus, and control program for the information processing apparatus
EP2367309B1 (en) * 2010-02-10 2016-07-13 Alcatel Lucent Method for detecting a synchronization failure of a transparent clock and related protection schemes
US20120135676A1 (en) * 2010-11-26 2012-05-31 Industrial Technology Research Institute System and method for deployment and management of interactive regional broadcast services
WO2013152312A1 (en) * 2012-04-06 2013-10-10 Interdigital Patent Holdings, Inc. Optimization of peer-to-peer content delivery service
CN104813616B (en) * 2012-08-28 2019-02-15 塔塔咨询服务有限公司 Issue the system and method for the dynamic select of the reliability of data
CN103677549B (en) * 2012-09-11 2017-08-11 阿里巴巴集团控股有限公司 A kind of data processing method and device
WO2014194452A1 (en) 2013-06-03 2014-12-11 华为技术有限公司 Message publishing and subscribing method and apparatus
US9984158B2 (en) * 2014-03-18 2018-05-29 Axis Ab Finding services in a service-oriented architecture (SOA) network
CN104618466A (en) * 2015-01-20 2015-05-13 上海交通大学 System for balancing load and controlling overload based on message transfer and control method of system
CN105991579B (en) * 2015-02-12 2019-05-28 华为技术有限公司 Method for sending information, related network device and system
US9407585B1 (en) * 2015-08-07 2016-08-02 Machine Zone, Inc. Scalable, real-time messaging system
US9608928B1 (en) * 2016-07-06 2017-03-28 Machine Zone, Inc. Multiple-speed message channel of messaging system
CN106210101B (en) * 2016-07-20 2019-06-18 上海携程商务有限公司 Message management system and information management method
CN107819734A (en) * 2016-09-14 2018-03-20 上海福赛特机器人有限公司 The means of communication and communication system between a kind of program based on web socket
CN110532113B (en) * 2019-08-30 2023-03-24 北京地平线机器人技术研发有限公司 Information processing method and device, computer readable storage medium and electronic equipment

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102783090A (en) * 2009-12-23 2012-11-14 思杰系统有限公司 Systems and methods for object rate limiting in a multi-core system
CN102783090B (en) * 2009-12-23 2015-05-20 思杰系统有限公司 Systems and methods for object rate limiting in a multi-core system
CN104756079A (en) * 2012-10-23 2015-07-01 日本电气株式会社 Rule distribution server, as well as event processing system, method, and program
CN104579605A (en) * 2013-10-23 2015-04-29 华为技术有限公司 Data transmission method and device
CN104579605B (en) * 2013-10-23 2018-04-10 华为技术有限公司 A kind of data transmission method and device
US10069604B2 (en) 2013-10-23 2018-09-04 Huawei Technologies Co., Ltd. Data transmission method and apparatus
CN107306248A (en) * 2016-04-19 2017-10-31 广东国盾量子科技有限公司 A kind of light quantum interchanger and its communication means
CN107306248B (en) * 2016-04-19 2023-04-28 广东国盾量子科技有限公司 Optical quantum switch and communication method thereof
CN110431586A (en) * 2017-03-16 2019-11-08 软银股份有限公司 Relay and program
CN110431586B (en) * 2017-03-16 2020-11-17 软银股份有限公司 Relay device
CN108390917B (en) * 2018-01-25 2021-02-02 珠海金山网络游戏科技有限公司 Intelligent message sending method and device
CN108390917A (en) * 2018-01-25 2018-08-10 珠海金山网络游戏科技有限公司 Intelligence sends message approach and device
CN110830285A (en) * 2018-08-09 2020-02-21 塔塔咨询服务有限公司 Message-based communication and failure recovery method and system for FPGA middleware framework
CN110830285B (en) * 2018-08-09 2022-03-25 塔塔咨询服务有限公司 Message-based communication and failure recovery method and system for FPGA middleware framework
TWI678087B (en) * 2018-11-22 2019-11-21 財團法人工業技術研究院 Method of message synchronization in message queue publish and subscriotion and system thereof
US10841390B2 (en) 2018-11-22 2020-11-17 Industrial Technology Research Institute Method and system for synchronizing publication and subscription of message queues
CN115086403A (en) * 2022-04-27 2022-09-20 中国科学院上海微系统与信息技术研究所 Edge computing gateway micro-service architecture for ubiquitous heterogeneous access

Also Published As

Publication number Publication date
CN101124567A (en) 2008-02-13
CN101326508A (en) 2008-12-17
CN101151604A (en) 2008-03-26
CN101124566A (en) 2008-02-13

Similar Documents

Publication Publication Date Title
CN101133380A (en) Message transmission device based on hardware
US9253243B2 (en) Systems and methods for network virtualization
CA2594267C (en) End-to-end publish/subscribe middleware architecture
US20150271255A1 (en) Systems and methods for adaptive load balanced communications, routing, filtering, and access control in distributed networks
CN111612466B (en) Consensus and resource transmission method, device and storage medium
KR20050002604A (en) System and method for message-based scalable data transport
US10652310B2 (en) Secure remote computer network
Heikkinen et al. UbiBroker: event-based communication architecture for pervasive display networks
Borky et al. Developing the network dimension
Endo et al. A distributed architecture for massively multiplayer online services with peer-to-peer support
Panda et al. Commodity High Performance Interconnects
Geetha et al. Optimized Scheduling Algorithm for Energy-Efficient Wireless Network Transmissions.

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into 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: 1120315

Country of ref document: HK

C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20080227

REG Reference to a national code

Ref country code: HK

Ref legal event code: WD

Ref document number: 1120315

Country of ref document: HK