CN103067349A - Device for dispensing event to multiple - Google Patents

Device for dispensing event to multiple Download PDF

Info

Publication number
CN103067349A
CN103067349A CN2012103351000A CN201210335100A CN103067349A CN 103067349 A CN103067349 A CN 103067349A CN 2012103351000 A CN2012103351000 A CN 2012103351000A CN 201210335100 A CN201210335100 A CN 201210335100A CN 103067349 A CN103067349 A CN 103067349A
Authority
CN
China
Prior art keywords
event
distribution
subregion
target
consumer
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
CN2012103351000A
Other languages
Chinese (zh)
Inventor
C·F·瓦斯特斯
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
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
Priority claimed from US13/278,401 external-priority patent/US20130066979A1/en
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN103067349A publication Critical patent/CN103067349A/en
Pending legal-status Critical Current

Links

Images

Abstract

Dispensing an event to multiple event consumers in a minimum information duplication and information waiting time manner. A method comprises: determining an event to be sent to a group of specific consumers; duplicating the event and providing each independent copy to multiple dispensing partitions; and packing the copy of the event with multiple send lists to establish multiple delivered packets in each position of each dispensing partition. The send lists describe multiple independent consumers to receive the event. The method also comprises using the delivered packets to dispense the event to each independent consumer appointed in the send lists.

Description

With case distribution to large number quipments
Technical field
The present invention relates to event distributing method and system.
Background technology
Background and correlation technique
Computer and computing system have affected almost each aspect of the modern life.Computer has in work, leisure, health care, transportation, amusement, household management etc. usually to be dabbled.
In addition, the computing system function can also strengthen by the ability that is interconnected to other computing systems via network connection of computing system.Network connection can include but not limited to, and via the connection of wired or wireless Ethernet, honeycomb fashion connects, perhaps even by serial, walk abreast, the computer of USB or other connections is to the connection of computer.These connect the service that allows on other computing systems of computing system accesses, and receive application data from other computing systems fast and effectively.
Many computers are intended to use alternately by the end user with computer.Like this, computer has input hardware and software users interface to facilitate user interactions.For example, modern general-purpose can comprise for the keyboard that allows the user to the computer input data, mouse, touch pads, camera etc.In addition, there are various software users interfaces to use.
The example of software users interface comprises graphic user interface, based on the capable user interface of Text Command, function key or hot key user interface etc.
Suppose that the developer makes up mobile applications on iOS, Android, Windows Phone, Windows etc., this mobile applications concentrates on and passes on popular interested news, about world event or to football fan's information and the fact about football, American football, hockey, baseball alliance or team, so that their keep is up-to-date.For in these application programs (and various other application programs) any one, the notice that ejects alarm or prompting when the liking team's score most or happened suddenly in the world certain class media event of this football fan is great differentiation (differentiator).This differentiation is general realize making up and the runtime server architecture with in the notification channel that these events is pushed to supplier and provides, this has exceeded many mobile applications (" the app ") developer's who concentrates on optimizing user experience skill collection.And if their application program is extremely successful, then simply will run into very soon the scalability upper limit based on the solution of server because give case distribution tens thousand of in time or even hundreds thousand of equipment be very challenging.
For many in this class application program, promptness is important value proposition.For example, football fan's not too large patience aspect renewal.Similarly, check they the individual of each side of the impaired threshold value of financial investment and the people of mechanism, the large-scale auction of participation or its virtual agriculture kingdom on Facebook be about to suffer player's usually not too large patience aspect renewal of attack of hurricane of process.
Apple is used for MPNS service that the sending out notice service of iOS, C2DM service that Google is used for Android and Microsoft be used for Windows Phone and other mobile platforms of great majority optimum Share interlinkage to certain form of equipment (maximum power efficiency (and thereby provide largest battery efficient) is provided) to be provided and to allow application program to take full advantage of this shared channel via the sending out notice API of corresponding platform.Yet, as mentioned above, with these platforms come based on a large amount of notices of individual event distribution be difficulty and/or need a large amount of computational resources.
Be not limited to each embodiment of solving any shortcoming or only in such as above-mentioned environment, operating at this claimed theme.On the contrary, provide this background only in order to be illustrated in an exemplary techniques field wherein can putting into practice part embodiment described here.
Summary of the invention
The embodiment of this paper relates to a kind of method that can implement in computing environment.The method comprises for can make the minimized mode of message copy and Message Waiting Time case distribution be given the action of a large amount of event consumer.The method comprises determines that an event should be sent to one group of particular consumer.The method also comprises and copies this event and the copy that each is independent offers a plurality of distribution subregions.The method also is included in each place that respectively distributes in the subregion, and copy and a plurality of transmission list (routing slip) of event are packed to create a plurality of bags (delivery bundle) of sending.Transmit list and describe a plurality of independent consumer who is intended to receive this event.The method also comprises using sends bag with case distribution each independent consumer to appointment in the transmission list.
Provide content of the present invention in order to introduce in simplified form some concepts that will further describe in the following detailed description.Content of the present invention is not to be intended to identify key feature or the essential feature of theme required for protection, is not intended to for the scope that helps to determine theme required for protection yet.
Other feature and advantage will be set forth in the following description, and part can be apparent from this is described, perhaps can teaching practice from here in acquistion.The features and advantages of the present invention can realize with combination by the means that particularly point out in claims and obtain.It is fully apparent that feature of the present invention will become from the following description and the appended claims book, perhaps can know practice of the present invention by as described below.
Description of drawings
In order to describe the above and other advantage that can obtain this theme and the mode of feature, will present by the specific embodiment of this theme shown in reference to the accompanying drawings the more specifically description of this theme of above concise and to the point description.Should be appreciated that these accompanying drawings have only been described each exemplary embodiments, so it should not be considered to the restriction to scope, each embodiment will be by describing with supplementary features and details with accompanying drawing and explaining, in the accompanying drawings:
Fig. 1 shows the example of event data dissemination system;
Fig. 2 shows event data and obtains and dissemination system; And
Fig. 3 shows a kind of method of Distribution Events.
Embodiment
Embodiment more described herein take full advantage of sending out notice mechanism, and provide at top layer and to allow to utilize the notice of these sending out notice channels to manage and distributing layer in mobile and desktop developer scale ground and the situation at the right time dispense characteristics.
Some embodiment can comprise the method for carrying out the broadcasting of notice by the distribution of cascade and subregion and delivery system, the quantity of this system minimizes message copy also can expand to very a large amount of targets of sending, and also minimizes the notice average flow time from the inlet to the outlet simultaneously for each independent target.
Some embodiment can comprise that a kind of purpose for system monitoring and client computer and third party's book keeping operation is collected and send statistical information and it is spread the method that is passed to the data warehouse solution.
Some embodiment can comprise a kind of because temporary transient or lasting delivery error situation and temporarily or enduringly target is listed in the method for blacklist.
As the basis, the publish/subscribe architecture that embodiment system uses the Windows Azure service bus that can obtain from the Microsoft in Redmond city to provide, but in various other messaging systems, exist the architecture of similar type.This architecture provides two kinds of abilities of the described realization of the method for being convenient to present: theme and formation.
Formation is the storage organization for message, and it allows to add message (joining the team) and remove message (going out team) with the order identical with adding message with the order of order.Can add and remove message by any amount of concurrent clients, come the Balance Treatment load thereby allow to stabilize the join the team load of side and each recipient who steps out group side.Formation also allows each entity to obtain lock on this information when message is gone out group, thus allow the customer machine to when with message actual deletion or whether it can be reduced back and carry out explicit control in the formation in to the situation of the processing failure of the message that retrieves from formation.
Theme is the individual storage organization with formation, but allows a plurality of concurrent existing ' subscription ', and these subscribe to the isolated filtered view that allows separately the message sequence of joining the team.On the theme each is subscribed to the copy that all produces each message of joining the team, and supposes that the filtercondition that is associated of this subscription mates this message for certain.As a result, the message of the theme of join the team to and have 10 subscription (wherein each subscription with all message of coupling simple ' passing ' condition) will produce altogether 10 message, and each subscribes to a message.As formation, subscription can have a plurality of concurrent consumers, and the balance of the processing load of striding each recipient is provided.
Another basic conception is ' event ', and it is exactly bar message with regard to bottom publish/subscribe architecture aspect.In the context of an embodiment, event is obeyed and a group of management and control is carried out in the use of message text and message attributes is simply retrained.The message text of event generally flows as opaque data block, and anything event data that embodiment thinks generally flows in message attributes, and it is right as one group of key/value of the part of the message of this event of expression.
Each embodiment can be configured to the copy from the information of given incoming event is distributed to be associated with the specific function territory a large amount of ' each in the target 102 ', and do like this for each target 102 in the time of minimum.Target 102 can comprise the address of the equipment of the identifier that is coupled to adapter or application program and be used for the auxiliary data of this reporting system of access or architecture, and wherein this adapter is for the outside architecture of a certain third party's reporting system or certain network-accessible.
Some embodiment can comprise the architecture that is divided into three different processing roles, and these roles are described in more detail below and can understand with reference to figure 1.As among Fig. 1 by ' 1 ' ..., and ' n ' shown in, each that process among the role can have one or more examples of this processing role.Note, when being applied to process the role, in each situation, use ' n ' should be considered to different from another situation, this means that each that process among the role needn't have the example of equal number.' distribution engine ' 112 roles accept event and they are packaged in comprising the transmission list of respectively organizing target 102 (referring to the transmission list 128-1 among Fig. 2 for example).' delivery engine ' 108 accepted these bags and process to be transmitted list to be delivered to by each represented network site of target 102.Provide the outside API of management objectives 102 by management service 142 shown ' role of manager ', and be responsible for accepting statistics and error data and responsible processing the/these data of storage from delivery engine 108.
Data flow be anchored on ' distribution theme 144 ' on, each event is submitted in this distribution theme for distribution.The event of submitting to is to carry out mark with the action scope that message attributes is come to be associated with them, and this can be one of above-mentioned constraint that event and origination message are distinguished.
In the example shown, ' distribution subregion 120 ' has one and passes (filtering) subscription distribution theme 144 for each.' distribution subregion ' is to be responsible for to the subset distribution of the target 102 of given action scope and the isolated resource collection of delivery notification.The copy that sends to each event of distribution in the theme is actually simultaneously available to the subscription that the distribution subregion of all concurrent configurations is associated by them, thereby allows the parallelization of distribute work.
The parallelization that reaches by subregion (partitioning) helps to realize timely distribution.For understanding this point, consider to have the action scope of 10,000,000 targets 102.If the data of target are maintained in the storage without subregion, then this system must sequentially travel through single large database result set, if perhaps result set is to use the subregion that same storage is carried out to inquire about to obtain, then for the throughput of obtaining target data the throughput upper limit of forward direction (fronting) the network gateway architecture of given at least storage is controlled, as a result, the stand-by period of sending that delivery of notifications is recorded in the target 102 that occurs very lately in the given result set to its description may be not satisfied.
On the contrary, if 10,000,000 targets 102 are distributed in 1000 storages, each storage keeps 10000 target records, and these storages are matched with the dedicated computing architecture (' distribution engine 122 ' with ' described herein delivery engine 108 ') of carrying out inquiry and result with the form of subregion as described here, then to goal description obtain can a very large batch total calculate and Internet resources on parallelization, thereby reduce significantly when distributing all events from distribute first to the measured time difference of last event.
The actual quantity of distribution subregion technically without limits.Its scope can be from single subregion to greater than one any amount of subregion.
In the example shown, in case the distribution subregion 120 ' distribution engine 122 ' has obtained event 104, it at first calculates the size of event data and calculates subsequently the size that transmits list 128, and this can calculate based on the admissible maximum message size of event size and bottom messaging system and the increment between the smaller in the absolute size upper limit.Come as follows the size of restriction event: ' transmission list ' data that exist the headroom of a certain minimum to hold.
Transmitting list 128 is to comprise the tabulation that target 102 is described.Transmit list and created by the inquiry of searching of the target 102 that keeps in the storage 124 of subregion being carried out the action scope of these events of coupling by distribution engine 122, dwindle all targets 102 that one group of other condition of selection is complementary thereby return with the action scope of this event with based on the filtercondition of event data.Each embodiment can comprise the result is restricted to the time window condition that is considered to effective target 102 at current time, this means that the current UTC time is in the beginning that comprises in the goal description record/end window effective time, and other filterconditions.This facility is used to pipe off, and this describes in this article after a while.When the traversal lookup result, this engine creates the copy of event 104, with will transmitting list 128 and be filled into largest amount from storing the goal description that retrieves 124, and subsequently with the event bag of gained with transmit list ' the sending in the formation 130 ' of this subregion of joining the team.
Transmit the list technology and guarantee that from distribution engine 122 to delivery engine the event flow velocity of 108 event is higher than the real messages flow velocity on the underlying basis framework, for example mean at 30 goal descriptions can be bundled to together with event data in the situation about transmitting in the list 128 that the flow velocity that event/target is right is event/target to directly being grouped into 30 times of situation in the message.
Delivery engine 108 is the consumers from the event of sending formation 130/transmission list bag 126.The role of delivery engine 108 will make these contract out team, and event 104 is delivered to transmits the institute that lists in the list 128 on purpose.The adapter of sending usually by event message being formatted into the notification message that the respective objects architecture understands occurs.For example, notification message can be by being used for
Figure BDA00002123231200061
The MPNS form of 7 phones, by the APN(apple sending out notice that is used for iOS equipment) form, by the C2DM(cloud that is used for Android equipment to the equipment message transmitting-receiving) form, by the JSON(Java scripting object notation for the browser on the equipment) form, by the HTTP(HTML (Hypertext Markup Language)) etc. send.
Delivery engine 108 makes usually sends in each independently parallelization on the target 102, and makes and send serialization on each target 102 of sharing the action scope of being implemented by the target architecture.The example of a rear situation is that the special adapter in the delivery engine can be selected to be all events of target by the particular targeted application program that single network connect to send on the specific notification platform.
Use is sent formation 130 distribution engine 122 and delivery engine 108 is removed coupling, with the independent telescope that allows delivery engine 108 and avoid sending slowing down and return back to the distribution inquiry/packing stage and block and distribute the inquiry/packing stage.
Each distribution subregion 120 can have to observe concomitantly sends any amount of delivery engine example of formation 130.The length of sending formation 130 can be used to determine that how many delivery engine are movable concomitantly.If queue length surpasses specific threshold, then can add new delivery engine example to subregion 120 and send throughput to increase.
Distribution subregion 120 and the distribution and the delivery engine example that are associated can stretch in fact unlimited mode, to reach large-scale Optimal Parallel.If the target architecture can receive and in parallel mode to 1,000,000 event request of each device forwards, then described system can stride its send architecture and come Distribution Events---may utilize network infrastructure and the bandwidth of striding each data center---with submit to event to make the target architecture saturated for as the target architecture underloading and given any authorize send the mode that is delivered in time all required targets 102 being allowed under the limit.
Via its corresponding architecture adapter with message delivery during to target 102, in certain embodiments, these system log (SYSLOG) various statistic clauses and subclauses.This comprises receiving sends bag and sends out the time period that measures of the duration between any single message and the time period that measures of the duration of actual transmit operation.Another part of statistical information is to send the designator that is success or failure.This information be collected in the delivery engine 108 and on the basis of every action scope and the basis of every target-application program roll up mean value.' destination application ' is the compartment identifier of the specific purposes that are used for the statistical information accumulation introduced.The mean value that calculates is sent to sending state formation 146 with the defined time interval.This formation is consumed by (group) worker in the management service 142, and management service is submitted to data warehouse with event data for various purposes.These purposes can comprise that except operation supervise and control its tenant who sends event of subtend keeps accounts and/or statistical information is open to the third party book keeping operation of tenant for themselves.
When detecting delivery error, these mistakes are classified into temporary transient and lasting erroneous condition.The temporary error situation can comprise that for example disapproving network failure or the indication that this system reaches the delivery sites of target architecture has temporarily reached the target architecture report of sending limit.Lasting erroneous condition can comprise the authenticated/authorized mistake on the target architecture for example or other mistakes that can not in the situation that not have manually intervention, restore and wherein the target architecture report that this target is no longer available or do not want to accept on lasting basis the erroneous condition of message.In case be classified, error reporting just is submitted to sends fault formation 148.For the temporary error situation, this mistake also can comprise absolute UTC timestamp, until till the expection of this erroneous condition will be solved.Simultaneously, for any further local transmit that this delivery engine example carries out, this target is piped off in this locality by destination adapter.This blacklist also can comprise timestamp.
Sending fault formation 148 is consumed by one among the role of manager (group) worker.Lasting mistake can be so that respective objects immediately deletion from its corresponding distribution partitioned storage 124 that the role of manager can access.' deletion ' mean that this record is removed really or alternatively ' end ' time stamp setting by the validity time period that will record become this wrong timestamp to make this record only be moved out of the visual field of searching inquiry.The temporary error situation can so that target during indicated time period of this mistake, be deactivated.Can by finishing inactively with moving on to the indicated timestamp of this mistake on the beginning of validity time period of target, expect that at this indicated timestamp place this erroneous condition will restore.
With reference now to Fig. 2,, shows the diagram of replacement.As mentioned above, each embodiment therein individual event be dispersed in a plurality of (and may be a large amount of) end user's the message emanation system and be particularly useful.Such example is shown in Figure 2.Fig. 2 shows the example that is delivered to a large amount of different targets from a large amount of not information of homology.In some instances, can be used to create the individual event that is delivered to a large amount of targets from the information of single source or the information of assembling from a plurality of sources.In certain embodiments, this can realize with the technology of distributing shown in Figure 2.
Fig. 2 shows source 116.To discuss after a while such as this paper, each embodiment can utilize and obtain subregion 140.Each that obtain in the subregion 140 can comprise a plurality of sources 116.A large amount of and various sources 116 may be arranged.Source 116 provides information.These information can comprise such as but not limited to Email, text message, stock quotation, in real time race score, news are upgraded in real time, etc.
Fig. 2 shows each subregion and comprises and obtain engine, obtains engine 118 such as illustrative.Obtain engine 118 from the source 116 collection information, and become event next life based on this information.In example shown in Figure 2, a plurality of events are illustrated as generating with each source by obtaining engine.Use case 104-1 describes.In certain embodiments, event 104-1 can come standardization as explained below like that.Obtain engine 118 and can be the service of collecting information such as the source 116 on the networks such as internet, from this network.
Fig. 2 shows event 104-1 and is sent to distribution theme 144.Distribution theme 144 distributes event to a plurality of distribution subregions.Distribution subregion 120-1 is used as the analog of all distribution subregions.Each is distributed subregion and serves separately by subscribing to represented a plurality of end users or equipment.The quantity of the subscription of distribution section post service can be different from other quantity of distributing the section post service.In certain embodiments, the quantity of the subscription of section post service can be depending on the ability of distribution subregion.As an alternative or supplement, the distribution subregion can be selected with service-user based on the logic OR geographical proximity degree with the end user.This can allow in mode more timely alert delivery to the end user.
In the example shown, distribution subregion 120-1 comprises distribution engine 122-1.Distribution engine 122-1 advisory data storehouse 124-1.Database 124-1 comprises information and the details of sending target 102 about being associated about subscribing to.Particularly, this database can comprise information, such as the network address of the platform of describing target 102, target 102 employed application programs, target 102, use the end user's of target 102 the information of user preference etc.Information among the 124-1 of usage data storehouse, distribution engine 122-1 makes up bag 126-1, wrap wherein that 126-1 comprises event 104(or at least from the information of event 104) and identify in the target 102 will be with the transmission list 128-1 of a plurality of targets 102 of sending to as notice from the information of event 104-1.Bag 126-1 is placed among the formation 130-1 subsequently.
Distribution subregion 120-1 can comprise a plurality of delivery engine.Delivery engine make each the bag from formation 130-1, go out team and with delivery of notifications to target 102.For example, delivery engine 108-1 can take out bag 126-1 and event 104 information are sent to and transmit the target 102 that identifies among the list 128-1 from formation 130-1.Thereby what comprise event 104-1 information notifies 134 can send to target 102 from each distribution subregion with the multiple different form that is applicable to different target 102 and is exclusively used in each independent target 102.This allows to create for each independent target 102 from public accident 104-1 in the edge of delivery system and has carried out individual individually notifying 134, but not transports a large amount of individual notices by this delivery system.
Below discuss and now relate to several different methods and the method action that to carry out.Although show each method action with the certain order discussion or in order to the flow chart that certain order occurs, unless clear otherwise do not need certain order, or before carrying out this action, finish and need certain order because an action depends on another action.
With reference now to Fig. 3,, shows method 300.The method can be implemented in computing environment.The method comprise in the mode that can minimize message copy and Message Waiting Time with the action of case distribution to a large amount of event consumer.The method comprises determines that an event should be sent to one group of particular consumer (action 302).For example, as shown in Figure 2, event 104 need to be sent to one or more in the target 102.
The method comprises that also copying this event and the copy that each is independent offers a plurality of distribution subregions (action 304).For example, as shown in Figure 2, the theme place copies to a plurality of distribution subregions with this event in distribution, as distribution subregion 120-1 and shown in other distribution subregions.
The method also is included in each place that respectively distributes in the subregion, and the copy of event is packed to create a plurality of bags (action 306) of sending with a plurality of transmission lists.Transmit list and can describe a plurality of independent consumer who is intended to receive this event.The 126-1 place of the example of sending bag like this in Fig. 2 illustrates.
The method also comprises using sends bag with case distribution each independent consumer (action 308) to appointment in the transmission list.For example, as shown in Figure 2, delivery engine 108-1 can use transmission list 128-1 that event 104 is delivered to each target 102.
Some embodiment that can implementation method 300 wherein determine each subregion based on the subregion ability.For example, will can be determined by ability the quantity of the target of its Distribution Events by the distribution subregion, as being determined by factors such as system hardware, network connection, present load.
Some embodiment that can implementation method 300 wherein determine each subregion based on the place.For example, can distribute geographically or the target contiguous with this subregion in logic to subregion (such as subregion 120-1).
Some embodiment that can implementation method 300 wherein transmit the Rule and constraint that the list definition is used for how event being delivered to each independent consumer.For example, transmit the filter that list can comprise consumer's special use.In one example, consumer (that is, targeted customer) can define about receiving or not receive the preference of the event of what type.This information can be included in and transmit in the list, so that can be made in the edge of delivery system by delivery engine about the decision-making that whether will send event.
In a replacement or additional embodiment, transmitting list can the define grid location rule.For example, transmit list and can comprise the network path that arrives specific objective.
In a replacement or additional embodiment, transmit list and can comprise security credence information.For example, may need security credence for the event that will send.Particularly, the application program on the equipment may be expected some security protocol information when communicating with the server that event data is provided.This security protocol information can comprise guaranteeing that event is correctly sent by delivery engine 108-1.
In a replacement or additional embodiment, transmit list and can comprise the rule of primitive event data-mapping to the desired form of consumer.For example, this event can be common version, but transmits the platform that list can objective definition.This allows delivery engine 108-1 with the specific format that is suitable for defined platform event 104 to be formatd before event is delivered to target.
Each method can be by comprising one or more processors and implementing such as the computer system of the computer-readable mediums such as computer storage.Particularly, computer storage can be stored computer executable instructions, these instructions when being carried out by one or more processors so that the various functions such as each action described in each embodiment be performed.
Various embodiments of the present invention can comprise or utilize special use or the all-purpose computer that comprises computer hardware that this will discuss in more detail hereinafter.Each embodiment in the scope of the invention also comprises physics and other computer-readable mediums for carrying or storage computer executable instructions and/or data structure.Such computer-readable medium can be can be by any usable medium of universal or special computer system accesses.The computer-readable medium of storage computer executable instructions is physical storage medium.The computer-readable medium of load capacity calculation machine executable instruction is transmission medium.Thus, and unrestricted, various embodiments of the present invention can comprise at least two kinds of remarkable different computer-readable mediums as example: physical computer readable storage medium storing program for executing and transmission computer-readable medium.
The physical computer storage medium comprise RAM, ROM, EEPROM, CD-ROM or other optical disc storage (such as CD, DVD etc.), disk storage or other magnetic storage apparatus or can be used for storing computer executable instructions or data structure form required program code devices and can be by any other medium of universal or special computer access.
" network " is defined as allowing one or more data link of transmission electronic data between computer system and/or module and/or other electronic equipments.When information exchange crosses that network or another communication connection (hardwired, wireless or hardwired or wireless combination) is transmitted or when offering computer, this computer should connect and suitably was considered as transmission medium.Transmission medium can comprise the required program code devices that can be used for carrying computer executable instructions or data structure form and can be by network and/or the data link of universal or special computer access.The combination of above medium also is included in the scope of computer-readable medium.
In addition, when arriving various computer system component, the program code devices that exists with the form of the executable instruction of computer or data structure can automatically be transferred to physical computer readable storage medium storing program for executing (perhaps vice versa) from the transmission computer-readable medium.For example, the computer executable instructions or the data structure that receive by network or data link (for example can be buffered in Network Interface Module, " NIC ") in RAM in, then finally be sent to the computer-readable physical storage medium of the more not volatibility of computer system RAM and/or computer systems division.Therefore, the computer-readable physical storage medium can be included in equally (or even main) and utilizes in the computer system component of transmission medium.
Computer executable instructions comprises, for example makes all-purpose computer, special-purpose computer or dedicated treatment facility carry out the instruction and data of a certain function or certain group function.Computer executable instructions can be for example binary code, the intermediate format instructions such as assembler language or even source code.Although with the special-purpose language description of architectural feature and/or method action this theme, be appreciated that subject matter defined in the appended claims is not necessarily limited to above-mentioned feature or action.On the contrary, above-mentioned feature and action are as the exemplary forms that realizes claim and disclosed.
It should be appreciated by those skilled in the art that, the present invention can put into practice in having the network computing environment of being permitted eurypalynous computer system configurations, these computer system configurations comprise personal computer, desktop computer, laptop computer, message handling device, portable equipment, multicomputer system, based on microprocessor or programmable consumer electronic device, network PC, minicom, mainframe computer, mobile phone, PDA, beep-pager, router, switch etc.The present invention also can pass through to implement in the distributed system environment that the local and remote computer system of network linking (perhaps by hardwired data link, wireless data link, the perhaps combination by hardwired and wireless data link) both executes the task therein.In distributed system environment, program module can be arranged in local and remote memory storage device.
The present invention can be embodied as other concrete forms and not deviate from its spirit or feature.It only is illustrative and nonrestrictive that described embodiment should be considered in all respects.Therefore, scope of the present invention is by appended claims but not aforementioned description indication.The implication and the interior change of scope that fall into the equivalents of claims are contained by the scope of claims.

Claims (7)

1. give the method for a large amount of event consumer in the mode that minimizes message copy and Message Waiting Time with case distribution for one kind in computing environment, described method comprises:
Determine that event (104) should be sent to one group of particular consumer (302);
Copy described event (104-1) and the copy that each is independent offers a plurality of distribution subregions (120) (304);
Each place in described distribution subregion (120), the copy (104-1) of described event is packed to create a plurality of bags (126-1) (306) of sending with a plurality of transmission lists (128-1), and described transmission list (128-1) is described a plurality of independent consumer who is intended to receive described event (104-1); And
Use described each the independent consumer that bag (126-1) is distributed to described event (104-1) appointment in the described transmission list (128-1) that sends.
2. the method for claim 1 is characterized in that, described distribution subregion is based on distribution subregion ability and determines.
3. the method for claim 1 is characterized in that, described subregion is determined by the place.
4. the method for claim 1 is characterized in that, the definition of described transmission list is used for how described event being delivered to each independent consumer's Rule and constraint.
5. method as claimed in claim 4, it is characterized in that, described constraint definition user preference, and wherein comprise based on the user preference in the described transmission list in the described transmission list each independent consumer of appointment described case distribution to determine whether the event of sending with the described bag of sending.
6. method as claimed in claim 4 is characterized in that, described constraint definition is with the rule of primitive event data-mapping to the platform-specific form of each independent consumer device.
7. the method for claim 1 is characterized in that, described transmission list comprises security credence information.
CN2012103351000A 2011-09-12 2012-09-11 Device for dispensing event to multiple Pending CN103067349A (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201161533657P 2011-09-12 2011-09-12
US61/533,657 2011-09-12
US13/278,401 2011-10-21
US13/278,401 US20130066979A1 (en) 2011-09-12 2011-10-21 Distributing events to large numbers of devices

Publications (1)

Publication Number Publication Date
CN103067349A true CN103067349A (en) 2013-04-24

Family

ID=48109814

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2012103351000A Pending CN103067349A (en) 2011-09-12 2012-09-11 Device for dispensing event to multiple

Country Status (1)

Country Link
CN (1) CN103067349A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107431664A (en) * 2015-01-23 2017-12-01 电子湾有限公司 Handle witched-capacity network data
US10924414B2 (en) 2015-01-23 2021-02-16 Ebay Inc. Processing high volume network data

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101834889A (en) * 2010-04-07 2010-09-15 北京市农林科学院 Issuing method for multimedia courseware based on stream media platform
CN102147903A (en) * 2010-02-05 2011-08-10 李久进 Geographic position-based internet information aggregating, pushing and interacting method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102147903A (en) * 2010-02-05 2011-08-10 李久进 Geographic position-based internet information aggregating, pushing and interacting method
CN101834889A (en) * 2010-04-07 2010-09-15 北京市农林科学院 Issuing method for multimedia courseware based on stream media platform

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107431664A (en) * 2015-01-23 2017-12-01 电子湾有限公司 Handle witched-capacity network data
US10924414B2 (en) 2015-01-23 2021-02-16 Ebay Inc. Processing high volume network data
CN107431664B (en) * 2015-01-23 2021-03-12 电子湾有限公司 Message transmission system and method
US11818049B2 (en) 2015-01-23 2023-11-14 Ebay Inc. Processing high volume network data
US11916727B2 (en) 2015-01-23 2024-02-27 Ebay Inc. Processing high volume network data

Similar Documents

Publication Publication Date Title
US11818049B2 (en) Processing high volume network data
CN103051667A (en) Distributing multi-source push notifications to multiple targets
CN107431664B (en) Message transmission system and method
CN106412113B (en) A kind of energy cloud service system and its communication means
US20170061296A1 (en) Three-stage predictor for time series
JP2014530402A (en) Marketplace for timely event data distribution
CN108170530B (en) Hadoop load balancing task scheduling method based on mixed element heuristic algorithm
TW201432597A (en) Electronic trading platform and method thereof
US10459922B2 (en) Unique identification generation for records in a data streaming processing system
Gaire et al. Internet of Things (IoT) and cloud computing enabled disaster management
CN103067349A (en) Device for dispensing event to multiple
US20150100665A1 (en) Digital display terminal, contents server, and method of transmitting and receiving content
Bouloukakis et al. Queueing network modeling patterns for reliable and unreliable publish/subscribe protocols
Alli et al. ‘Chapter four blockchain and fog computing: Fog-blockchain concept, opportunities, and challenges
CN101604434A (en) A kind of member's advertisement delivery method and system
Aziz et al. A utility-based reputation model for the internet of things
Heikkinen et al. UbiBroker: event-based communication architecture for pervasive display networks
Galati et al. Delay tolerant networking for the socio-economic development in rural South Africa
CN106664217A (en) Identification of candidate problem network entities
CN103051465A (en) Counting and reseting broadcast system badge counters
Schwaller et al. CCE MMAI FY20-21 Accomplishment and Planned Activities.
Soltvedt A Distributed-to-Centralized Cost Model for Service Selection in Smart Cities
CN103049863A (en) Marketplace for timely event data distribution
Erfurth et al. MobiSoft: Networked Personal Assistants for Mobile Users in Everyday Life
Majumdar Cloud-Based Smart-Facilities Management

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: 1183753

Country of ref document: HK

ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150717

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150717

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

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

Application publication date: 20130424

REG Reference to a national code

Ref country code: HK

Ref legal event code: WD

Ref document number: 1183753

Country of ref document: HK