CN102254238A - Scalable billing with de-duplication in aggregator - Google Patents

Scalable billing with de-duplication in aggregator Download PDF

Info

Publication number
CN102254238A
CN102254238A CN2011101440310A CN201110144031A CN102254238A CN 102254238 A CN102254238 A CN 102254238A CN 2011101440310 A CN2011101440310 A CN 2011101440310A CN 201110144031 A CN201110144031 A CN 201110144031A CN 102254238 A CN102254238 A CN 102254238A
Authority
CN
China
Prior art keywords
incident
action
copy
incidents
channel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2011101440310A
Other languages
Chinese (zh)
Other versions
CN102254238B (en
Inventor
M·E·皮尔森
M·C·塞策
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
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN102254238A publication Critical patent/CN102254238A/en
Application granted granted Critical
Publication of CN102254238B publication Critical patent/CN102254238B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/14Charging, metering or billing arrangements for data wireline or wireless communications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
    • G06Q20/102Bill distribution or payments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/04Billing or invoicing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/12Accounting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/14Charging, metering or billing arrangements for data wireline or wireless communications
    • H04L12/1428Invoice generation, e.g. customization, lay-out, database processing, algorithms for calculating the bill or formatting invoices as WWW pages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/41Billing record details, i.e. parameters, identifiers, structure of call data record [CDR]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/43Billing software details
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/44Augmented, consolidated or itemized billing statement or bill presentation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/70Administration or customization aspects; Counter-checking correct charges
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/70Administration or customization aspects; Counter-checking correct charges
    • H04M15/73Validating charges

Abstract

A scalable billing with de-duplication in aggregator is described. Scalable handling of billing events that affect one or more accounts. A computing system partitions received events into a number of channels, perhaps by account identifier. The channels receive the events, process the events, and forwards the events to an aggregator to allow the events to be aggregated by account to allow for easier computation of a bill. The aggregator also performs de-duplication of events to help reduce the risk of double billing.

Description

Have the scalable record keeping of going repetition in the collector
Technical field
The present invention relates to the account management technology, relate to scalable book keeping operation by it.
Background technology
When consumer and supplier participate in the contract of commodity and/or service, the supplier usually the relation between supplier and this consumer the duration create and the particular consumer accounts associated.Under situation about needn't when receiving commodity or presenting service, pay (such as in prepayment or delay under the situation of payment), the account is particularly useful.When sending commodity or present service, account's surplus changes and reflects the obligation that the consumer pays to the supplier under the contract.Ongoing account periodically stands billing period usually, pays if wherein notify consumer account's surplus and also owe some money then provide a period of time.Typical billing period is monthly (for example, under the situation of credit card, mortgage payment, government utility bill), but the circulation of keeping accounts also can be quarterly, by week, per year or that may be not timing and uncertain.Billing period also can be used or amount of money surplus or other incidents trigger by the resource of accumulation.Any service of providing by the Internet can broadly be provided in Web service, though Web service also can provide by other networks or delivery mechanism.In some cases, Web service also can be charged.
Safeguard a major part of the complicated operation degree that the process of account balance accurately may the person of providing for the consumer.Single supplier can to thousands of or even millions of consumers set up the account, this depends on the success of supplier's business.Therefore, single supplier follows the tracks of each consumer's account balance usually.In addition, for each individual account, may there be the particular event that causes account balance to change.Even for single account, cause account balance to change separately or one-tenth hundred that needs are tracked even thousands of incident is feasible can calculate final account balance when billing period finishes thereby also may exist.
Summary of the invention
At least one embodiment described herein relates to the processing to the incident that influences one or more accounts.Computing system receives a plurality of incidents of event message form, and each in these incidents all may have some influence to one or more accounts.Computing system is divided into them when receiving these message among in a plurality of channels one.For example, each channel can be assigned with specific account identifier collection.In this case, all relevant incidents of the certain accounts of concentrating with account by channel management all will be forwarded to this channel.
Channel receives incident, might carry out some processing to incident, then incident is forwarded to collector, and this collector is basic gathering incident with account one by one.The data of being assembled are to be suitable for the data that the consumer who is associated with each account makes up the record keeping form better.Collector can also be carried out the repetition of going of incident.
Content of the present invention is not intended to identify the key feature or the essential feature of theme required for protection, is not intended to be used to help to determine the scope of theme required for protection yet.
Description of drawings
Can obtain mode above cited and other advantages and feature of the present invention in order to describe, below will be by presenting description more specifically with reference to the accompanying drawings to each embodiment.Be appreciated that these accompanying drawings have only described sample embodiment, and therefore be not considered to restriction its scope, will be by using accompanying drawing and utilizing adeditive attribute and each embodiment is described and explained to details, in the accompanying drawings:
Fig. 1 shows the example calculations system that can be used for adopting embodiment described herein;
Fig. 2 illustrates an example event data structure;
Fig. 3 illustrates the environment that wherein can generate incident;
Fig. 4 illustrates the process flow diagram of the method that is used for processing events;
Fig. 5 illustrate wherein can processing events environment;
Fig. 6 illustrates the Bu Long (Bloom) that can be used to carry out repetition and filters environment; And
Fig. 7 illustrates the computing environment of the identifier index of ordering service time.
Embodiment
According to each embodiment described herein, the processing to the incident that influences one or more accounts has been described.Computing system may be divided into the incident that is received in a plurality of channels by account identifier.Channel receives incident, and processing events is forwarded to incident collector then and assembles so that the easier calculating of carrying out bill by the account with the permission incident.Collector also can be carried out the risk of going to repeat to help reduce double record keeping of incident.At first, some the introductory discussion about computing system will be described with reference to Figure 1.Subsequently, each embodiment of scalable record keeping will describe referring to figs. 2 to 7.
Computing system adopts various forms now more and more.Computing system can for example be portable equipment, electrical equipment, laptop computer, desk-top computer, large scale computer, distributed computing system, perhaps even usually is not regarded as the equipment of computing system.In this instructions and claims, term " computing system " be broadly defined as comprise comprise at least one processor with and on can contain any equipment or system's (or its combination) of the storer of the computer executable instructions that can carry out by processor.Storer can be taked any form, and can depend on the characteristic and the form of computing system.Computing system can be distributed in the network environment, and can comprise a plurality of composition computing systems.
As shown in Figure 1, in its most basic configuration, computing system 100 generally includes at least one processing unit 102 and storer 104.Storer 104 can be a physical system memory, can be volatibility, non-volatile or both certain combination.Term " storer " also can be used to refer to such as non-volatile high capacity storages such as physical storage mediums at this.If computing system is distributed, then processing, storer and/or storage capacity also can be distributed.As used herein, term " module " or " assembly " can refer to software object or the routine carried out on computing system.Different assembly described herein, module, engine, and service can be implemented as object or the process of carrying out (for example, as the thread that separates) on computing system.
In description subsequently, with reference to the action description of carrying out by one or more computing systems each embodiment.If such action realizes that with software one or more processors of then carrying out the computing system that is associated that moves are in response to having carried out computer executable instructions, the operation of guiding computing system.The example of such operation relates to the manipulation to data.Computer executable instructions (and data of being handled) can be stored in the storer 104 of computing system 100.Computing system 100 also can comprise the communication channel 108 that allows computing system 100 for example to communicate by letter with other message handling devices by network 110.
Various embodiments of the present invention can comprise or utilize such as, one or more processors and system storage etc. comprise the special use or the multi-purpose computer of computer hardware, this will make further discussion following.Each embodiment in the scope of the invention also comprises and is used to carry or physics and other computer-readable mediums of storage computation machine executable instruction 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 computation machine executable instruction is a physical storage medium.The computer-readable medium of carrying computer executable instructions is a transmission medium.Thus, and unrestricted, various embodiments of the present invention can comprise at least two kinds of diverse computer-readable mediums: computer-readable storage medium and transmission medium as example.
Computer-readable storage medium comprises RAM, ROM, EEPROM, CD-ROM or other optical disc storage, disk storage or other magnetic storage apparatus or can be used for storage computation machine executable instruction or the required program code devices of data structure form 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.Transmit or when offering computing machine when information communicates to connect (hardwired, wireless or hardwired or wireless combination) by network or another, this computing machine 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 the network and/or the data link of universal or special computer access.Above-mentioned combination also should be included in the scope of computer-readable medium.
In addition, after arriving various computer system components, the program code devices of computer executable instructions or data structure form can be transferred to computer-readable storage medium (perhaps opposite) automatically from transmission 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, finally be sent to the computer-readable storage medium of the more not volatibility of computer system RAM and/or computer systems division then.Thus, should be appreciated that computer-readable storage medium can be included in equally (or even main) and utilize in the computer system component of transmission medium.
Computer executable instructions for example comprises, makes multi-purpose computer, special purpose computer or dedicated treatment facility carry out the instruction and data of a certain function or certain group function when carrying out at the processor place.Computer executable instructions can be for example binary code, such as intermediate format instructions or even source codes such as assembly language.Although with the special-purpose language description of architectural feature and/or method action this theme, be understandable 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 the network computing environment of the computer system configurations with many types, these computer system configurations comprise personal computer, desk-top computer, laptop computer, message handling device, portable equipment, multicomputer system, based on microprocessor or programmable consumer electronic device, network PC, small-size computer, mainframe computer, mobile phone, PDA, pager, router, switch or the like.The present invention also can pass through to put into practice in the distributed system environment that the local and remote computer system both of network linking (perhaps by hardwired data link, wireless data link, the perhaps combination by hardwired and wireless data link) executes the task therein.In distributed system environment, program module can be arranged in local and remote memory storage device.
The principles described herein provide a kind of efficient mechanism that escrow account is had the incident of influence that is used to handle.Before the processing of the incident of description, will be described with reference to Figure 2 the content of incident, Fig. 2 shows example event data structure 200.Then, will the environment that wherein can generate incident be described with reference to the incident build environment 300 of figure 3.Then, will the processing to incident according to example embodiment be described with reference to Figure 4 and 5.
Fig. 2 illustrates example event data structure 200.Data structure is an example, and provides data structure mainly to illustrate may to appear at the type of the information in the incident that influences the account that the consumer can keep accounts.
Event data structure 200 can comprise unique event ID 201, and it is unique that this unique event ID may be striden all incidents, and the incident subclass that perhaps steps into capable rechecking at least is unique.The description of rechecking is deferred in this instructions part with reference to figure 6 and 7.
Event data structure 200 also can comprise such information, such as account identifier 202, customer identifier 203, supplier's identifier 204, event time 205, event description 206 and supplementary 207.Formulate the account based on the contractual obligation of importing between client and the supplier.According to typical contract, a certain amount of money of the obligated payment of client exchanges the supplier provides particular commodity or service.Along with the obligation accumulation that will pay, the change account balance reflects this obligation incrementally.Based on contract and according to the usage of trade of non-contract account balance also may be as contracted be subjected to for example influence of overdue fine, reimbursement, deposit, discount etc.
Account identifier 202 can be the account identifier by client and supplier identification, perhaps can be a certain other identifiers of the accounting system identification described from here.
The client of customer identifier 203 identified account.Yet incident itself needn't comprise customer identifier 203, because it can be inferred based on for example account identifier 202 after a while.
Supplier's identifier 204 sign commodity or service providers.Again, incident itself needn't comprise supplier's identifier 204, because it can be inferred based on for example account identifier 202 after a while.
The time that event time 205 can specify the action on the basis of formation incident to take place, and/or the time of the incident of generation.The time of incident may have influence to record keeping.For example, the call of carrying out in particular moment is depended on time of carrying out this calling and may be expensive or more cheap.Event time can also help as described below incident to be carried out sequencing.
Event description can be described action description 206, and action description 206 has been described basis that constitutes incident and the action that may have some influence to record keeping.For example, E-mail service may be collected particular charge to each Email that receives.Telephone service may be collected particular charge to each calling that receives.Internet service may be to the online activity of per minute, or the per unit data by Internet service communication are collected particular charge.May have any action of influence so can generate incident record keeping.(for example, call) action may only just generate incident and also can specify the duration after action is finished for continuing for some time.For example, action description can be indicated " call-24 minute ".Incident can also be when the duration begins and the duration generate when finishing, thereby incident be correlated with and together explanation can therefrom infer the duration.Duration can also based on such as under the situation of stores service to the incident the consumption of the storage of a certain quantity.
May helpful any other information when supplementary 207 can be included in the charging information of determining corresponding account.
Fig. 3 illustrates wherein can generate incident and incident is delivered to reference to Figure 4 and 5 and illustrates and the environment 300 of the accounting system described.The principles described herein are not limited to be used to generate any specific environment 300 that Accounting Events also is delivered to this Accounting Events accounting system.Yet environment 300 just provides as an example.
Environment 300 comprises only as two shown in example services 301 and 302.Principle provided herein can be operated having only a service or have under the situation of many services.As example, service 301 may be based on the telephone service of IP.Service 302 may be E-mail service.Yet, the type that principle provided herein is not limited to serve.For example, each principle can or provide commodity or any other service operation of service with stock and mutual fund broker's service, real estate transaction service, the Internet access services, online storage service, government utility supplier.Service (for example can have physical assemblies, landscape design person's service can be carried out landscape design to client's house property), but shown in service expression service electronic representation (for example, after finishing the lawn service, the lawn ISP can performed service report to software module).
Each service can have one or more uses source of the service of the specific activities that supervision may influence record keeping.Each use source can be independent of operation each other.For example, service 301 comprises single use source 311, comprises a plurality of uses source 321,322 and 323 and serve 302.For the quantity in the use source that can be assigned to specific service without limits.This quantity will depend on deviser's the preference and the essence of service.For example, if serve 301 telephone services that are based on IP, a use source then may only using follow-up call only to call out.If serving 302 is E-mail service, then may there be a plurality of activities that can influence record keeping.For example, when service 321 can follow the tracks of send Email, and service 322 can follow the tracks of when receive Email, can follow the tracks of the data that when transmit the specific unit size and serve 323.This depends on that in record keeping in the situation of total data of the Email quantity of the Email quantity that receives, transmission and transmission may be helpful.
When each use source 311,321,322 and 323 detected movable that it is configured to detect, the use source generates also assigned this movable incident of description.Alternatively or additionally, thus the use source can be when the incident of generation buffered event allocating event in bulk.Accounting system can impose restriction to the quantity or the time period of the incident that causes owing to batch processing postponing.The structure of this incident and the example of content are described with reference to figure 2.Incident is assigned by network 330, and an example of network 330 is the Internets, receives incident at each route assembly 501,502 and 503 places of Fig. 5 thereon.In one embodiment, the example of route assembly 501,502,503 each same naturally route component class.
Fig. 4 illustrates the process flow diagram of the method 400 that is used for processing events.Some action of this method can be carried out by the route system (listing under title " router ") of Fig. 5, notices that " route system " can be distributed and comprise a plurality of independently routers.Some action can be carried out by the router five 01,502 and 503 of Fig. 5.Some action can be carried out by the collector 530 (listing under title " collector ") of Fig. 5.Can be to each event execution method that receives 400, and will describe with reference to the event handling environment 500 of figure 3.
With reference to Figure 4 and 5, and as discussed previously, locate reception incident (action 411) for one in route assembly 501,502 or 503.Though may have single route assembly, show a plurality of route assemblies because the incident that just is being received and will be routed may be very a large amount of.Route assembly 501,502,503 may be stateless, and can for example confirm the reception that each uses the incident in source.In one embodiment, can a plurality of incidents be assigned as collective's message from the use source, each incident may be associated with different accounts.In this case, the route assembly also extracts each incident and assigns each independent incident by the whole network network 510 from message.
Each router is divided into them when receiving incident among in a plurality of channels 520 one (action 412).In other words, which channel the router decision is assigned to which incident.The principles described herein are not limited to the criterion of the incident of dividing.Yet, can be according to the geographic position how to its example of dividing.For example, channel can be responsible for all incidents that its bottom trigger action takes place in some geographical frontier.Perhaps, channel can be responsible for all incidents that its client or supplier are positioned at specific geographical frontier.In one embodiment, incident is divided according to the equally distributed mode of attempting to stride each channel application load.
Yet, a kind of mechanism that is used to divide with the basis of incident accounts associated identifier on carry out and divide.For example, each in the channel 520 can be responsible for handling its account identifier and drop on all interior incidents of respective range.Therefore, after the incident of receiving, router five 10 can read account identifier, and which scope the sign identifier drops in, and sign will be handled the respective channel of this incident, and this incident branch is tasked this channel for further processing.
With reference to figure 5, channel 520 comprises seven channels 521 to 527.Yet principle provided herein is not limited to the quantity of channel.May exist few to one, but also may as many as thousands of or even up to a million channels, this depends on that how many computing systems can handle and what be sayed from design angle the most meaningful.In one embodiment, use more quantity to allow to stride the greater flexibility that physical hardware is redistributed load.
In this example, suppose channel 523 reception incidents.Later with reference to figure 4, this incident of channel check is not by the copy of another incident of this channel reception (action 421).If it is a copy, then abandons this incident or at least no longer further handle this incident.Can assess the validity of repetitive process or the fault of other parts of detection system thereby possible transcript makes, but disapprove the repeated events influence keep accounts because so do with cause client may for same action by double record keeping.
The principles described herein are not limited to carry out the mode of repetition.In one embodiment, go to repeat to tabulate and check that event ID carries out by the event ID that contrast has received.Excessive in order to keep this tabulation can not increase ground, the event ID tabulation may be preserved by certain event horizon basis (such as every day), and when this tabulation becomes given age (one week of possibility size), abandons this tabulation or no longer further check this tabulation.Receive the supposition of any copy in will be after receiving primitive event very short time of existence.Resend this incident under the situation that the sender that a main cause of repetition message transmitting-receiving may be an incident does not receive the confirmation owing to the instantaneous network problem.But the recipient of incident may receive incident really, and only is to have lost affirmation when passing affirmation back Event senders.
Go repetition in case carried out, then channel will only be handled primitive event and not handle copy.In this stage, channel can come incident sequencing (action 422) with the channel specified serial number.Thereby channel can also be appended to its Channel Identifier event data structure makes subsequently the assembly of processing messages (all collectors as described further below) this incident that has been appreciated that what Channel Processing and this channel specified serial number relevant with which channel.Subsequently incident is assigned to the corresponding collector of this channel.
With reference to figure 5, event handling environment 500 comprises collector 530.In the illustrated case, two collectors 531 and 532 are arranged.Yet the principles described herein are not limited to the quantity of collector.The purpose of collector is to assemble each account's who receives from incident account data, and presents the data of being assembled with preferable form for the consumption of record keeping algorithm, and this record keeping algorithm determines how the data of being assembled influence each account's account balance.In this embodiment, give each collector with one or more channel allocation.For example, channel 521 and 522 incidents with them offer collector 531, and channel 523 to 527 incidents with them offer collector 532.Though channel 520 is carried out different functions with collector 530, can (but needn't) on same physics or virtual machine, realize.
Yet when receiving incident, collector can carry out another time and go repetition, because may exist in the situation about regenerating that may cause copy between channel and the collector.For example, between channel and collector, may there be reliable information receiving and transmitting.In this case, if another intermediary between channel or channel and the collector does not receive the confirmation, then its may ghost, even may send affirmation.
Yet, suppose the channel specified serial number distributed to incident that going to repeat is the task of more efficient.Therefore, collector is carried out repetition (action 431) by the watermark in the sequence number of following the tracks of respective channel, and watermark is moved according to the moving direction identical with serial number assignment.For example, channel can come distributing serial numbers by ascending order, and watermark only can increase in this case, and any incident that receives that is lower than high watermark all can be assumed that copy.For example, if channel is distributed to incident formerly with sequence number 15, then channel can be distributed to successor with sequence number 16.
Collector receives incident and follows the tracks of the high watermark (under the situation that sequence number distributes by ascending order) of the sequence number of each channel.When collector received successor, collector read the channel specified serial number of this incident, read the Channel Identifier of the channel of handling this incident, and the special-purpose watermark of channel that this sequence number contrasts this channel is compared.If the channel specified serial number is lower than high watermark, then this incident is used as copy and treats, and it is not considered assemble and the record keeping process within.
If the channel specified serial number is higher than high watermark, and the channel dedicated sequences is only high by 1 than the last high watermark of this channel, and then the high watermark of channel increases progressively 1, and this incident as primitive event but not the copy of another incident accept.
If the channel specified serial number is higher than high watermark, and the last high watermark that the channel specified serial number is higher than this channel surpasses 1, then handle can depend on those between two parties incident have more important to the record keeping process.For example, suppose that the special-purpose high watermark of channel is 15 when to receive the channel specified serial number be 18 incident.This will mean and not receive two incidents that are assigned with channel specified serial number 16 and 17 as yet.If these incidents are important to the record keeping process, then may postpone sequence number is that processing a moment of 18 incident is with expectation two incidents between two parties.If it is inessential that these incidents are contemplated to the record keeping process, then high watermark may be adjusted to 18, receiving other between two parties during incident (having sequence number 16 and 17), those incidents will be dropped as the supposition copy, even in fact they be not the copy of another incident that collector received.
If channel distributes descending sequence number or any other identifier ordering to incident, then can carry out similar process.For example, under the situation of descending sequence number ordering, the contrast low watermark comes comparison channel specified serial number, and this watermark is adjusted downwards when receiving new incident from channel.
In case it is not the copy of another previous incident that receives that collector is be sure of the incident that is received, then aggregator aggregates is from the incident (action 432) of channel reception.Assemble and relate to a plurality of incidents that receive the account, and a plurality of incidents are construed to the assessment result that the aggregate data of being formulated has been represented a plurality of incidents.Can more easily be consumed subsequently through the data of assembling by the record keeping algorithm.
As example, collector can be to the parameter summation from a plurality of incidents of given account.For example, collector can be sued for peace to all call the number of minutes that take place during the section in main call time weekly, and dividually all call the number of minutes that take place outside the section in main call time is sued for peace.These two and can be used as through the data of assembling and present to the record keeping algorithm weekly subsequently.The summation of other type can relate to from indication and sent the incident that Email or indication receive Email counting to the quantity of the Email that sends and receive.
Gathering can not only relate to and increases progressively or sue for peace, and can also use the gathering to the useful any kind of record keeping process.For example, collector can be asked on average the parameter from a plurality of incidents of account, perhaps may seek the minimum value or the maximal value of parameters from a plurality of incidents of account.Accounting feature subsequently can be based on the bill of calculating the account through the data of assembling.For example, may have unified expense arrangement to the unit of employed a certain quantity, may after each employed unit is collected the charges.Accounting feature can also the discount that be provided be provided into account, and wherein discount depends on and satisfies one or more condition precedents.The function that can also have the maximum unit quantity that to be used for section preset time etc. to take into account.
In an alternative embodiment, under channel needn't formerly be carried out based on the situation of the sequencing of channel, carry out and go repetition at the collector place.In this case, collector will not rely on any sequencing based on channel, can carry out repetition by the mode that does not rely on any such sequencing and change into.In another embodiment, may there be some channel of carrying out sequencing and some channel of not carrying out sequencing.In this case, collector can be chosen on the basis based on the sequencing of channel (if available) and carry out and go repetition, perhaps carries out at (when such sequencing is unavailable) under the situation that does not rely on sequencing and goes repetition.
To further describe now to be used under the situation that lacks the channel specified serial number, carrying out and remove the instantiation procedure of repetition.The repetition of going like this can or may be carried out at the collector place at the channel place.In one embodiment, use grand (Bloom) filtrator of cloth to determine whether incident is the copy of another incident that has received.Though can use single Bloom filter for this purpose, also Bloom filter can be used for the given time period.For example, suppose that the previous incident that receives in the past seven days of contrast comes the inspection incident.In this case, setting up Bloom filter every day may be more efficient.So, As time goes on Bloom filter is no longer relevant, because filtrator can abandon this Bloom filter simply corresponding to the incident that the particular day that drops on the window outside (for example, not within nearest 7 days) receives.
Fig. 6 illustrates the Bloom filter environment 600 that comprises the incident of importing into 604, Bloom filter 610, Bloom filter detector 611 and Bloom filter renovator 612.As discussed previously, import incident 601 into and will comprise by being unique at least in channel, and preferably overall unique mode is come the unique identifier of identified event uniquely.At first, when particular day was set up Bloom filter at first, Bloom filter only was that all are reset the bit sequence into binary zero.
When receiving each incident (such as incident 601), event ID is imported into the one or more hashing algorithms in the Bloom filter detector.The result should be changed to 1 corresponding bit address collection in Bloom filter.Whether corresponding position has been changed to 1 in the Bloom filter detector 611 checking Bloom filters 610.
If be not 1, then this means the Bloom filter renovator 612 untreated incidents that have identical unique identifier with all corresponding positions.Then this incident can be confirmed as not being the copy of incident formerly for certain.In this case, Bloom filter renovator 612 is made as 1 with corresponding position in the Bloom filter, shows this incident that receives.
On the other hand, if all corresponding positions all are changed to 1, this means that then Bloom filter renovator 612 handled the incident that has identical unique identifier.Yet this can't determine for certain.After all, might be that the composition of matter that has different unique identifiers by chance will corresponding position all be changed to 1 but not the incident formerly that has an identical unique identifier makes corresponding position be changed to 1.
In this stage, if all corresponding positions all are changed to 1, then go repetitive process can carry out a plurality of processes, these a plurality of processes may depend on the importance of not abandoning non-repeated events.For example, for the incident that record keeping is had little effect (for example, several pennies order), may be unworthy carrying out further processing and come to determine that for certain this incident is a copy.On the contrary, the Bloom filter inspection may be enough to (if corresponding position is changed to 1) and reasonably estimate that this incident may be the copy of another incident in the possibility, and this is enough to guarantee to abandon this incident.
Yet, carry out possibly and handle further whether make about this incident be the better estimation of the copy of another incident for more valuable incident.For example, may be at this moment, if Bloom filter provides the positive match of corresponding position, then go repeat mechanism in fact the unique identifier that impinges upon the incident formerly that (for example, possibility is seven days) channel has received in section preset time to be come the unique identifier of comparison current event.Carry out this inspection though go repeat mechanism can contrast formerly identifier, go to repeat to find certain structure of the chance of identifier match to be benefited sooner by making this checking process have raising by mode at random.
Fig. 7 illustrates the computing environment 700 of the identifier index 710 of ordering service time.Secondly the identifier index 710 of time-sequencing at first comes ordering of events by identifier by the time.When repeated events had the trend that receives in time contiguously, the use of the identifier index 710 of time-sequencing can obtain the coupling of identifier quickly.For example, repeated events may receive after receiving several seconds of primitive event.This may be owing to the reliability mechanisms in the information receiving and transmitting channel of the incident of transmission causes.If the intermediate node of the source of incident or channel does not receive the confirmation of receipt of next node in the channel, then this node can resend the copy of incident up to receiving the confirmation.Sometimes, this resending may be only taken place in the time of several seconds or part second.Therefore, may in several seconds of primitive event, receive repeated events.
In time-sequencing index environment 700, when the incident 701 of receiving, check the date field of this incident.Probably, incident 701 is nearest incidents, and may be in storer from the part 711 corresponding to the event ID of this time of index 710.If not, then the part 710 corresponding to this time in the index 710 of time-sequencing can be loaded in the storer.If incident is a repeated events, then probably in part 711, find identifier corresponding to this time.If not, then can load next nearest part, by that analogy.Because index 710 is time-sequencings, so by once loading an index part simply in order up to finding the copy may easier realization.Therefore, the method for the event ID of all incidents that receive in seven days in the past by casual inspection simply may find the incident copy quickly.
If incident is not a copy, even Bloom filter has returned wrong positive match, then this mechanism will cause checking the index of whole seven days time-sequencings.The value of given incident, this may be too consuming time.Therefore, the time quantum that index spent of supervision time ordering can be depending on the value of incident.For example, for some incident of less value, even have reason to carry out Bloom filter further inspection in addition, this incident may still not have enough value to have reason to check the index of the time-sequencing that surpasses hour.The incident of higher-value can have reason to check the index of the time-sequencing of a day or two days.The incident of maximum value can have reason to check the index of all available time-sequencings of seven days.If what does not all find in the index of time-sequencing after seven days end-to-end, then this incident can be confirmed as not being copy, and is further processed.If what does not all find in the index at time-sequencing after the inspection of the short period section of the index of time-sequencing, then this incident can be assumed to be it is copy (because not to inspection of the possibility complete of all essence of the possible time of reception of primitive event formerly).
Can use and making of the index of time-sequencing is used for that Bloom filter is obtained sure copy estimates further to check and seek copy.This obtains reading the less number of times of the index of time-sequencing, because 1) use of Bloom filter will be eliminated the needs of the index of incident ordering service time that most of (may be most) be received, and 2) even when affirmative determination that Bloom filter indication repeats, the use of the index of time-sequencing may be used the index part in storer and cause finding earlier copy probably.Therefore, the index that sort service time after the Bloom filter inspection has promoted the efficient of read operation.
Be to promote the efficient of write operation, the renewal of the renewal that can the batch processing Bloom filter and the index of time-sequencing.For example, for the renewal of Bloom filter,, replace using corresponding position to upgrade Bloom filter immediately, and change the corresponding position of other incidents of wait into if incident is confirmed as not being the copy of another incident.In case lined up in the corresponding position of a plurality of incidents (for example, 100), then this system can preserve the position change in the Bloom filter subsequently.For certain safety at the nonanticipatory system fault is provided, thus this system can use versioned to distinguish be set up in response to being kept at the incident formerly in the Bloom filter those and be set up in response to not being kept at the incident formerly in the Bloom filter as yet those between difference.Therefore, when after fault, restarting system, can refill formation with corresponding position.Under the situation of using formation, not only to check the preservation version of Bloom filter, also to check corresponding all corresponding positions that determine whether to be provided with this incident that queuing will be set up.
For the index of time-sequencing, again, the identifier write operation of a plurality of time-sequencings can be lined up.In case formation reaches a certain size (for example, after 100 identifier write operations are lined up),, this formation receives thereby can being written into the index preservation incident of time-sequencing.Again, can use versioned to come the identifier of definite which time-sequencing system closing after to be kept in the index of time-sequencing and the identifier of which time-sequencing is just being waited for and being saved.
By the batch operation of such write operation, thereby can greatly reduce the quantity increase system efficiency of write operation.But also batch processing deletion action.For example, if may have Bloom filter every day, then this Bloom filter is deleted at the place of point sometime during a day when this Bloom filter becomes outmoded (for example, becoming greater than seven days).Equally, the index of time-sequencing can be divided by the time, thereby made and can easily delete older division and identifier of non-once deletion in a batch.
It is important that thereby the minimizing of read operation, write operation and deletion action goes repetition can handle a large amount of incidents for convergent-divergent.The use of Bloom filter is benefited equally, because it further goes a large amount of incidents to remove the repetition from needs, because most of incident will be confirmed as not being the copy of another incident apace.In some cases, possible Bloom filter inspection is all things of being done, thereby makes any incident (even wrong sure estimation) that is estimated as copy for certain by this Bloom filter inspection to treat as copy.This will cause certain possible probability of losing record keeping, but will eliminate the probability of double record keeping.
This goes repetition to carry out in corresponding channel, perhaps can carry out at the collector place when assembling in alternative embodiment.Therefore, a kind of efficient mechanism that record keeping is had the incident of influence that is used to handle has been described.
The present invention can be embodied in other concrete forms and not deviate from its spirit or essential characteristic.It only is illustrative and nonrestrictive that described embodiment should be considered in all respects.Thereby 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 (10)

1. computer implemented method (400) that is used to handle a plurality of incidents (200), described method comprises:
Computing system (100) receives the action of a plurality of incidents of (411) event message (200) form, and each in some described incident influences one or more among a plurality of accounts at least;
Described computing system is divided into action in a plurality of channels with in described a plurality of incidents each, and each in described a plurality of channels receives the subclass of described a plurality of incidents; And
For in described a plurality of channels at least one, the action of the incident that aggregator aggregates receives from respective channel.
2. computer implemented method as claimed in claim 1 is characterized in that, the action of described division incident is based on determining with described incident accounts associated identifier.
3. computer implemented method as claimed in claim 2, it is characterized in that, in described a plurality of channel each is handled the incident of the set of corresponding account identifier, and the action of wherein said division incident is determined by the channel that the account identifier of described incident being distributed to described incident resides in respective account set of identifiers wherein.
4. computer implemented method as claimed in claim 1, it is characterized in that, the action of described division incident is determined based on the geographic position that described incident takes place, the geographic position with to be associated for the consumer that described incident is paid, perhaps the geographic position with to be associated to its supplier to described incident paying.
5. computer implemented method as claimed in claim 1 is characterized in that, for described at least one incident, described collector is carried out and checked that described incident is not the action of the copy of another incident.
6. computer implemented method as claimed in claim 5 is characterized in that, checks that described incident is not that the action of the copy of another incident comprises:
Use Bloom filter to determine that described incident is the action of the copy of another incident; And
Upgrade the action that described Bloom filter reflects the reception of described incident.
7. computer implemented method as claimed in claim 5 is characterized in that, checks that described incident is not that the action of the copy of another incident comprises:
Use Bloom filter to determine whether described Bloom filter is the uncertain action of copy of another incident about described incident; And
Carry out further to handle and determine that described incident is the action of the copy of another incident.
8. computer implemented method as claimed in claim 5 is characterized in that, each in described a plurality of incidents has unique identifier, checks that wherein described incident is not that the action of the copy of another incident comprises:
The action that the unique identifier of the unique identifier of described incident and the previous incident that receives is compared.
9. computer implemented method as claimed in claim 5 is characterized in that, each in described a plurality of incidents has unique identifier, checks that wherein described incident is not that the action of the copy of another incident comprises:
The identifier index that sorts service time identifies the action of copy.
10. computer program that comprises the one or more computer-readable mediums (104) that contain computer executable instructions on it, when described instruction is carried out by one or more processors (102) of computing system (100), make described computing system carry out the method (400) of a plurality of incidents (200) that a kind of form that is used to handle with event message receives, at least each in some described incident influences one or more among a plurality of accounts, and described method comprises:
The action of each division (510) in some described a plurality of incident in a plurality of channels (520) at least of described computing system, each in described a plurality of channels receives the subclass of described a plurality of incidents; And
For in described a plurality of channels at least one, collector (530) is assembled action of the incident that (531,532) receive from respective channel.
CN201110144031.0A 2010-05-21 2011-05-20 Scalable record keeping with the deduplication in collector Active CN102254238B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/785,305 US8898078B2 (en) 2010-05-21 2010-05-21 Scalable billing with de-duplication in aggregator
US12/785,305 2010-05-21

Publications (2)

Publication Number Publication Date
CN102254238A true CN102254238A (en) 2011-11-23
CN102254238B CN102254238B (en) 2016-10-05

Family

ID=44973273

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110144031.0A Active CN102254238B (en) 2010-05-21 2011-05-20 Scalable record keeping with the deduplication in collector

Country Status (2)

Country Link
US (1) US8898078B2 (en)
CN (1) CN102254238B (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108021606A (en) * 2016-10-31 2018-05-11 甲骨文国际公司 System information is determined based on object catastrophic event
CN109697224A (en) * 2017-10-24 2019-04-30 腾讯科技(深圳)有限公司 A kind of bill message treatment method, device and storage medium
US11726979B2 (en) 2016-09-13 2023-08-15 Oracle International Corporation Determining a chronological order of transactions executed in relation to an object stored in a storage system

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8391584B2 (en) * 2008-10-20 2013-03-05 Jpmorgan Chase Bank, N.A. Method and system for duplicate check detection
US9092447B1 (en) * 2008-10-20 2015-07-28 Jpmorgan Chase Bank, N.A. Method and system for duplicate detection
US8380736B2 (en) 2010-05-21 2013-02-19 Microsoft Corporation De-duplication in billing system
US20120150824A1 (en) * 2010-12-10 2012-06-14 Inventec Corporation Processing System of Data De-Duplication
US20150227601A1 (en) * 2014-02-13 2015-08-13 Actifio, Inc. Virtual data backup
US10725979B2 (en) 2017-03-24 2020-07-28 Microsoft Technology Licensing, Llc Measuring usage of computing resources by storing usage events in a distributed file system
US10860545B2 (en) 2017-03-24 2020-12-08 Microsoft Technology Licensing, Llc Measuring usage of computing resources
US10805677B2 (en) * 2018-12-18 2020-10-13 The Nielsen Company (Us), Llc Methods and apparatus to monitor streaming media content

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5680611A (en) 1995-09-29 1997-10-21 Electronic Data Systems Corporation Duplicate record detection
US6463270B1 (en) * 1996-01-26 2002-10-08 Telcordia Technologies, Inc. Method and apparatus supporting non-geographic telephone numbers
US6442748B1 (en) 1999-08-31 2002-08-27 Accenture Llp System, method and article of manufacture for a persistent state and persistent object separator in an information services patterns environment
US20010034693A1 (en) 2000-02-25 2001-10-25 Jay Farhat Method and system to broker a service access transaction
US7577834B1 (en) 2000-05-09 2009-08-18 Sun Microsystems, Inc. Message authentication using message gates in a distributed computing environment
US7233918B1 (en) 2000-07-18 2007-06-19 Oracle International Corporation Rating billing events in real time according to account usage information
US6988124B2 (en) 2001-06-06 2006-01-17 Microsoft Corporation Locating potentially identical objects across multiple computers based on stochastic partitioning of workload
US7310644B2 (en) 2001-06-06 2007-12-18 Microsoft Corporation Locating potentially identical objects across multiple computers
US7536435B2 (en) 2002-01-08 2009-05-19 Bottomline Technologies (De), Inc Transfer client of a secure system for unattended remote file and message transfer
EP1331616A1 (en) 2002-01-23 2003-07-30 Siemens Aktiengesellschaft Method of operating a billing system and a billing system
US7418426B1 (en) 2002-05-20 2008-08-26 Microsoft Corporation System and method providing rules driven subscription event processing
US7698276B2 (en) 2002-06-26 2010-04-13 Microsoft Corporation Framework for providing a subscription based notification system
US7606745B1 (en) 2002-10-25 2009-10-20 At&T Mobility Ii Llc System and method for tracking a billing cycle
US7769651B2 (en) 2003-03-31 2010-08-03 At&T Intellectual Property I, L.P. Method and system of processing billing data
US7926099B1 (en) 2005-07-15 2011-04-12 Novell, Inc. Computer-implemented method and system for security event transport using a message bus
US8429630B2 (en) 2005-09-15 2013-04-23 Ca, Inc. Globally distributed utility computing cloud
WO2007070980A1 (en) 2005-12-23 2007-06-28 Mobileworld Communications Pty Ltd Billing and account management system
US7877757B2 (en) 2006-05-05 2011-01-25 Microsoft Corporation Work item event monitor for procession of queued events
GB2442761B (en) * 2006-10-13 2011-06-22 Katie Louise Teichman Service request system
US20080249936A1 (en) 2007-04-04 2008-10-09 Devin Miller Bill paying systems and associated methods
US8055633B2 (en) 2008-01-21 2011-11-08 International Business Machines Corporation Method, system and computer program product for duplicate detection
US20090234778A1 (en) 2008-03-11 2009-09-17 Drucker Cecily A Method and system for automatically capturing billable time
US10210481B2 (en) * 2009-07-14 2019-02-19 Bitvore Corp. Relational presentation of communications and application for transaction analysis
US8457048B2 (en) 2009-08-31 2013-06-04 Research In Motion Limited Methods and apparatus to avoid mobile station transmission of duplicate event-based and polled acknowledgments
US8595789B2 (en) 2010-02-15 2013-11-26 Bank Of America Corporation Anomalous activity detection
US8380736B2 (en) 2010-05-21 2013-02-19 Microsoft Corporation De-duplication in billing system
US20110288975A1 (en) 2010-05-21 2011-11-24 Microsoft Corporation Scalable billing with de-duplication and sequencing

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
H.V.JAGADISH ET AL: "SUNRISE II: A Scalable and Timely Billing Architecture", 《HTTP://CITESEERX.IST.PSU.EDU/VIEWDOC/SUMMARY?DOI=10.1.1.57.2739》 *
H.V.JAGADISH ET AL: "SUNRISE II: A Scalable and Timely Billing Architecture", 《HTTP://CITESEERX.IST.PSU.EDU/VIEWDOC/SUMMARY?DOI=10.1.1.57.2739》, 31 December 1997 (1997-12-31), pages 1 - 23 *
张美平等: ""无线多媒体传感器网络共享密钥发现协议设计与实现"", 《微计算机应用》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11726979B2 (en) 2016-09-13 2023-08-15 Oracle International Corporation Determining a chronological order of transactions executed in relation to an object stored in a storage system
CN108021606A (en) * 2016-10-31 2018-05-11 甲骨文国际公司 System information is determined based on object catastrophic event
CN108021606B (en) * 2016-10-31 2023-09-01 甲骨文国际公司 Determining System Information Based on Object Mutation Events
CN109697224A (en) * 2017-10-24 2019-04-30 腾讯科技(深圳)有限公司 A kind of bill message treatment method, device and storage medium
CN109697224B (en) * 2017-10-24 2023-04-07 腾讯科技(深圳)有限公司 Bill message processing method, device and storage medium

Also Published As

Publication number Publication date
US8898078B2 (en) 2014-11-25
CN102254238B (en) 2016-10-05
US20110288974A1 (en) 2011-11-24

Similar Documents

Publication Publication Date Title
CN102254238A (en) Scalable billing with de-duplication in aggregator
RU2612583C2 (en) Marketplace for timely event data distribution
US8645415B2 (en) De-duplication in billing system
CN107038620B (en) Information pushing and device based on taxi taking preference of user
AU2011338160B2 (en) System, method, and computer-readable program for real-time monitoring of activity
KR101422562B1 (en) Intelligent collection and management system
CN110852870A (en) Virtual resource transfer method, device, equipment and readable storage medium
CN102254260A (en) Scalable billing with de-duplication and sequencing
CN110807699A (en) Overdue event payment collection method and device and computer readable storage medium
CN110889686A (en) Multi-level account data processing method, device, equipment and readable storage medium
US20170344985A1 (en) System and method for account security
CN106934708B (en) Event recording method and device
CN110602215A (en) Resource processing method based on alliance block chain and alliance block chain system
US20150052044A1 (en) One View/Transaction Monitoring
CN111429092B (en) Method, apparatus, device and computer readable medium for paying an accumulation fund
CN111047341B (en) Information processing method, device, server and terminal equipment
KR102169311B1 (en) Subscription method using smart contract based block chain
US9741059B1 (en) System and method for managing website scripts
CN111415263A (en) Data matching method and device
CN110060146A (en) A kind of data transfering method and relevant device
CN110096376A (en) A kind of data transfering method and relevant device
KR101195029B1 (en) Data processing system and method for providing the data processing system
KR100802092B1 (en) Method and system for billing based on the client-server
KR20150030608A (en) Auditing rules optimizer
CN117437045A (en) Cross-border money transfer method, device, equipment and medium

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150720

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

Effective date of registration: 20150720

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

C14 Grant of patent or utility model
GR01 Patent grant