CN1639714A - A highly redundant, high-reliability and high-performance platform logging/billing generation and collection subsystem - Google Patents

A highly redundant, high-reliability and high-performance platform logging/billing generation and collection subsystem Download PDF

Info

Publication number
CN1639714A
CN1639714A CN 03805547 CN03805547A CN1639714A CN 1639714 A CN1639714 A CN 1639714A CN 03805547 CN03805547 CN 03805547 CN 03805547 A CN03805547 A CN 03805547A CN 1639714 A CN1639714 A CN 1639714A
Authority
CN
China
Prior art keywords
client
recorded information
module
information
clients
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
CN 03805547
Other languages
Chinese (zh)
Inventor
杰里米·S·德博内特
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.)
Idetic Inc
Original Assignee
Idetic Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US10/342,113 external-priority patent/US7073178B2/en
Application filed by Idetic Inc filed Critical Idetic Inc
Publication of CN1639714A publication Critical patent/CN1639714A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • G06F11/3072Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3495Performance evaluation by tracing or monitoring for systems
    • 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/02Marketing; Price estimation or determination; Fundraising

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Mathematical Physics (AREA)
  • Development Economics (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Computer Hardware Design (AREA)
  • Game Theory and Decision Science (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Marketing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Business, Economics & Management (AREA)
  • Computer And Data Communications (AREA)
  • Debugging And Monitoring (AREA)
  • Hardware Redundancy (AREA)

Abstract

Systems and methods for selectively distributing logging information for a system to a plurality of clients to achieve improved reliability and performance. One embodiment comprises a system in which a logging subsystem monitors transactions of a transaction system, compares the transactions to criteria specified for one or more clients, and delivers logging information for transactions that meet the specified criteria to the respective clients. In one embodiment, the logging subsystem is implemented in a network proxy server. The logging subsystem is configured to receive subscription information from each client, wherein the subscription information specifies the criteria for selecting logging information to transmit to the corresponding client. The subscription information may also specify the level of detail of the long information to be transmitted to the client.

Description

The platform of highly redundant, highly reliable and high performance record/charging generation and collection subsystem
The cross reference of related application
The present invention requires the right of priority of following application: submitted on January 18th, 2002 by Jeremy S.de Bonet, name is called the U.S. Provisional Patent Application No.60/349 of " highly redundant; the platform of highly reliable and high performance record/charging generation and collection subsystem ", 420, submit on January 18th, 2002 by people such as deBonet, name is called the U.S. Provisional Patent Application No.60/349 of " supporting the data conversion of various protocols simultaneously; storage and the network proxy platform of handling ", 424, submit on January 18th, 2002 by people such as de Bonet, name is called the U.S. Provisional Patent Application No.60/349 of " modularization plug-in type transaction processing architecture ", 344, their full text is hereby incorporated by.In addition, submit on January 14th, 2003 by people such as de Bonet, name is called the U.S. Patent application No.__ of " using shared resource and different application to finish transaction method and system ", be hereby incorporated by, state at this in full as it.
Technical field
The present invention relates generally to report record data from computer system.The present invention is especially a kind of can be with the method that is used to create subsystem of software or hardware mode realization, and this method allows selectivity dissemination system to record a plurality of networking machines.
Background technology
In most of large scale system, be necessary to utilize auxiliary body to come performance, activity and the behavior of the major function of supervisory system.In this technology, use a kind of method that is called as record usually.
Usually, this recording method comprise produce a series of corresponding to occurring in the transaction in this system or the recording messages of incident.These recording messages typically use certain formal structure or form, and purpose is to make things convenient for the other system information extraction, but seldom construct them in some system.
High performance transaction system produces the magnanimity recorded information.Because the speed of the quantity of information and the information of generation is recovered this recorded information and can greatly be increased the weight of the burden of these systems, and limits its overall performance.Yet, importantly can recover this information, because in many application, use it for such as the purposes that produces charge information.Thereby speed and reliability are very important.
Because the speed height of the big and information of generation of the quantity of recorded information is handled very difficulty of this information in these high performance transaction systems.Or rather, except simply recorded information being dumped to a single output unit, do that anything is all very difficult usually.As a result, prior art is only done---recorded information is dumped to a single output unit, as a control desk demonstration, a text, a database or a printer.Recording messages is not filtered, selects, distributes or other processing.After recorded information being dumped to a single output unit, do further processing again.
Yet the mode of this processing recorded information may have problem.At first, here, the problem that has aftertreatment.Because only output record information of register system must utilize other system to carry out aftertreatment.These systems must coordinate with register system, and coordinate mutually possibly, so that obtain redundancy, load balance, filtration or other processing of recorded information.Utilize these other systems need increase the development time, increase hardware resource and more maintainer.
Another problem is the risk of losing recorded information.Put because information all is dumped to a unit because the fault of destination device or even at the bottleneck that information is forwarded in the destination device, this may take risks.Web server, network agent etc. are being produced in the situation of recorded information, and bottleneck problem is particularly relevant, because may be restricted at the available bandwidth of this information of transmission over networks.
Summary of the invention
Above one or more problems of summarizing can solve by various embodiment of the present invention.In a broad sense, the present invention includes the recorded information that is used for a kind of system and optionally be distributed to a plurality of clients to obtain the system and method for improved reliability and performance.
One embodiment of the present of invention comprise a kind of system, the transaction of recording subsystem monitoring trading system in this system, with this transaction with the standard of one or more client defineds is compared, and the recorded information of the transaction of standard up to specification is sent to each client.In one embodiment, recording subsystem is to realize in the network agent server.Recording subsystem is configured to receive subscription information from each client, and wherein subscription information has stipulated to select recorded information to be transferred to the standard of corresponding client.Subscription information can also stipulate to be transferred to the long letter breath Level of Detail of client.
One embodiment of the present of invention comprise a kind of method, and the transaction in the transaction system is monitored in the method, and is distributed to one or more clients selectively corresponding to the recorded information of this transaction.In one embodiment, the subscription standard with each recordable transaction and each client compares.For each client, determining concludes the business meets or does not meet the standard of defined.If the standard of not meeting, the just recorded information that should not conclude the business to client transmissions.If conformance with standard just produces the recorded information of this transaction.The standard of the desired Level of Detail of client produces recorded information according to the rules.Then, send the recorded information that produces to client.Repeat this process for each client, handle next recordable transaction then in an identical manner.
In one embodiment, for one group of client, the subscription standard is identical.As a result, same recorded information is sent to each of these clients.Transmit the effect that this redundant information plays increases system reliability to each client.In another embodiment, for the subscription standard code of one group of client to the mutual exclusion subclass of each client records information.System realizes that load balance can improve system performance.In another embodiment, the subscription standard of client plays the filtrator effect to this recorded information, and therefore, the recorded information that need not or not expect can not send client to.This has reduced the loading in the system, thereby has reduced bandwidth demand, and has improved performance.
An alternative embodiment of the invention comprises software application.This software application package is drawn together in computer-readable medium, as floppy disk, CD-ROM, DVD-ROM, RAM, ROM, database schema or the like.Computer-readable medium comprises instruction, and this instruction is configured so that carry out the aforesaid method that is generally such as the computing machine of network agent server.Should be noted that computer-readable medium can comprise other storeies of RAM or component part computer system.Thus, can make computer system carry out method, and computer system is considered to be in additional according within claims scope according to present disclosure.
Also may also have many additional embodiments.
Description of drawings
Read following detailed description and can be readily appreciated that other purposes of the present invention and advantage with reference to accompanying drawing.
Fig. 1 shows the web-based system according to one embodiment of the present of invention.
Fig. 2 shows the ingredient according to the client and server computing machine of one embodiment of the present of invention.
Fig. 3 shows the basic architecture according to the register system of one embodiment of the present of invention.
Fig. 4 is the top-level flow figure according to the method for one embodiment of the present of invention.
Fig. 5 is the process flow diagram according to the method for one embodiment of the present of invention.
The present invention has various modifications and alternative forms, and specific embodiment wherein will provide as the example in accompanying drawing and subsidiary detailed description the in detail. Yet, should be understood that accompanying drawing and describe in detail not to be defined as the present invention is limited to described specific embodiments. On the contrary, present disclosure is contained all modifications, equivalent and the substitute that is within the scope of the invention that defines such as the appended claims book.
Embodiment
The following describes the preferred embodiments of the present invention.Should be noted that this or any other embodiment described below is typical embodiment, purpose is explanation the present invention rather than limits.
In a broad sense, the present invention includes and be used for a system log (SYSLOG) information is distributed to a plurality of clients selectively to obtain the system and method for improved reliability and performance.
In one embodiment, the present invention includes the system of the record transaction that is used for network environment.This system comprises a transaction system and the recording subsystem of realizing such as Web server or network agent in transaction system.This recording subsystem is configured to the transaction in the supervisory system and recorded information (or subclass wherein) is distributed to one or more clients of subscribing to this recording subsystem.
Though should be pointed out that present disclosure the embodiments of the invention of record transaction have been described in such as the transaction system of Web server or network agent, but logout can take place in the system of any kind of recording events in optional embodiment therein.In fact such system comprises any software systems, but also has the almost mechanical system of any electronic monitoring.Therefore, term " transaction system " should be from broadly being interpreted as comprising any such system, and term " transaction " but should be interpreted as comprising any such recording events.
Recording subsystem is according to the request distributed recorder information of the client of subscribing to.The information type that the client regulation is desired and the mode of register system report information.Such as, client can only be asked certain type message, perhaps can ask a subclass of all message.This client can ask register system that recording messages is provided, and this recording messages provides seldom the details about the transaction of correspondence, and a large amount of details perhaps is provided.
This system is by using one or more problems that can solve prior art systems to the suitable subscription of register system.Such as, can provide the redundant storage of recorded information by making two or more client subscriptions phases recorded information on the same group.So, when in the system transaction taking place, the recording messages of correspondence is sent to each of these clients.The mutual exclusion subclass of subscribing to recorded information by each that makes a plurality of clients can realize load balance.Such as, a client can be subscribed to the recording messages collection of all even-numbereds, however second client can be subscribed to the recording messages collection of odd-numbered.May have some other change.
With reference to Fig. 1, the figure shows web-based system according to one embodiment of the present of invention.As shown in FIG., transaction system 16 and recording subsystem 18 move together.Transaction system 16 and recording subsystem 18 are connected to network 14.A plurality of clients 12 also are connected to this network.Recording subsystem 18 serves as the server that recorded information is provided to client 12.The specific recorded information that offers each client is by the subscription standard of each client regulation is determined.
Should be pointed out that for the disclosure content identical entry among the figure can be followed the same reference numerals indication of lowercase by the back, as 12a, 12b or the like.Only just can be referred to as this at this by this Reference numeral.
Should be pointed out that in the network configuration shown in Fig. 1 be Typical Disposition.But other embodiment can use arrangement.Such as, if transaction system 16 comprises a Web server, it can be connected to the Internet, so that provide service to the Web client.The client of recording subsystem can be connected directly to recording subsystem, perhaps is connected to recording subsystem by separated network.Explanation once more, this only is that an example is not to limit.
With reference to Fig. 2, the figure shows ingredient according to the client and server computing machine of one embodiment of the present of invention.As shown in FIG., client computer 20 and server end computing machine 40 are by the two-way network 30 that is connected to.Network 30 can be an internal network or as the external network of the Internet.
Client computer 20 can comprise that common bench computing machine, laptop computer or any other can communicate by letter and handle the device of the recorded information that (as receiving and showing) receive from server computer 40 on network 30.Server computer 40 also can be any of device of many suitable calculating, as common bench computing machine, specialized designs as computing machine of server or the like.
Client computer 20 can comprise central processing unit (" CPU ") 22, ROM (read-only memory) (" ROM ") 24, random access memory (" RAM ") 26, hard disk drive (" HD ") or storer 28 and input/output device (" I/O ") 29.I/O29 can comprise keyboard, monitor, printer, electronics fixed-point apparatus (as mouse, tracking ball, recording pointer etc.) or the like.Equally, server end computing machine 40 can comprise CPU42, ROM44, RAM46, HD48 and I/O49.
Each computing machine among Fig. 2 can have more than CPU, a ROM, RAM, HD, I/O or other nextport hardware component NextPort.For simplicity, each computing machine all is illustrated as one of them with each nextport hardware component NextPort.Should be noted that Fig. 2 is the typical hardware configuration of simplifying.Have some other optional hardware configuration, and be known to the those of skill in the art.
Computing machine 20 and 40 each all be an example of data handling system.ROM24 and 44, RAM26 and 46 and hard disk drive 28 and 48 can be enough other can replace by the medium that CPU22 and 42 reads.Each of these class storeies all is the readable medium of data handling system (" computer-readable medium "), wherein can comprise software application.These storeies can be the inside of computing machine 20 and 40 or outside.
The described method of part can realize with the appropriate software code herein, and software code can reside in ROM24 or 44, RAM26 or 46, hard disk drive 28 or 48 or intrasystem other computer-readable mediums.Software code also can be contained on the separable data storage device such as portable hard drive.As selection, instruction can be stored in movably on the computer-readable medium, as DASD array, tape, flexible plastic disc, light storage device or the like as software code.In one embodiment, software code can comprise the C that the number row compiled ++,, Java or other language codes.
In above hardware configuration, various component softwares can reside on the combination of single computing machine or any separate computer.Also can use other configuration.Such as, the function of any one of them computing machine can be finished by being different from the computing machine shown in Fig. 2.In addition, computer program or software section with such code can be included among more than one data handling system computer-readable recording medium in the more than computing machine.For simplicity, for each client computer 20 and server end computing machine 40 individual system is shown.In optional embodiment, some or all of software sections can reside on the same computing machine.Such as, one or more software sections of server end computing machine 40 can reside on the client computer 20, and vice versa.
Utilize electricity, light, radio frequency or other signals can be implemented in communication between the computing machine among Fig. 2.Such as, when a user is in client computer 20, the form that client computer 20 can be understood the conversion of signals received from server end computing machine 40 adult, and the formal transformation that input can be understood from the people can be become suitable electricity, light, radio frequency or other signals that will use by server end computing machine 40.Equally, when the operator is in server end computing machine 40, server end computing machine 40 is in the form that this conversion of signals adult can be able to be understood when the operator sends information, and the formal transformation that input can be understood from the people can be become suitable electronics, light, radio frequency or other signals that will be used by client computer 20.
With reference to Fig. 3, the figure shows basic architecture according to the register system of one embodiment of the present of invention.As shown in this Fig, executive logging subsystem 200 in transaction system 100.When in transaction system 100 transaction taking place, by recording subsystem 200 monitoring tradings.When detecting recordable transaction, recording subsystem 200 determines whether this transaction is in the recording messages set of any subscription client (410,510,512,514,610,612,614) request.If in these set, will not produce recording messages.If in these set,, and on network abstraction layer 300, it is transferred to the client of request with the recording messages that produces corresponding to this transaction.Network abstraction layer 300 comprises the network path between register system and the client in fact.
Single client 410 can be subscribed to all or some subclass 400 of recording messages.One group of client (510,512,514) can be united the same subsets (500,502,504) of subscribing to record, and they are handled respectively, thereby realizes that high level redundance prevents the fault of any one client process.Another group client (610,612,614) can be united the different subclass (600,602,604) of subscribing to record.Each of these clients is handled its subclass in the mode identical with other clients.By this way, the neither one client need be handled all recorded informations alone, and can obtain high level performance, and the neither one client can be collapsed.
With reference to Fig. 4, the figure shows method according to one embodiment of the present of invention.In this embodiment, one or more clients can be subscribed to recording subsystem so that obtain recorded information.Therefore, in the first step of this method, the client subscription recording subsystem.Client has been determined transaction to the subscription of recording subsystem, will distribute the recorded information of this transaction and the form of recorded information to client.After recording subsystem was finished the subscription of client, the subscription standard of client was to being filtered by each transaction of recording subsystem monitoring.If any transaction all meets these standards, will produce the recording messages of this transaction to distribute to client.The subscription of client can determine to be included in the Level of Detail of recording messages.Can only point out the particular transaction that taken place such as, recording messages, perhaps point out other information such as exchange hour etc.If no longer need client receiving record information, the client recording subsystem that can cancel subscriptions.
In one embodiment, the transaction system that is connected with recording subsystem comprises a webserver.Submit on January 14th, 2003 by Jeremy S.de Bonet, Todd A.Stiers and Phillip Alvelda VII, name is called the U.S. Patent application No.__ (attorney No.IDET 1130-1) of " being used for using shared resource and different application to finish transaction method and system " and describes a typical webserver in detail, it is incorporated herein by reference, as stating that at this it in full.
The webserver is realized register system and transaction system.The webserver is accepted the connection from the client of recording subsystem, and according to the subscription filter record information of each client.Therefore, server is configured to accept subscription information, subscription information is included as the standard to the client distribution will be concluded the business or the recorded information filtration is used.Can the service regeulations expression formula, numeral relatively, the mode of string coupling or other filter record information stipulates these standards.Server also is configured to keep the information about client communication, filter criteria be connected, so, can with the expectation recorded information be distributed to each client.
Network server can be accepted the connection from a plurality of clients.Each of these clients can be stipulated the subscription standard of oneself.Based on subscription standard separately, the webserver can be distributed same recorded information collection, information set, exclusive message collection or combination in any wherein overlapping but inequality to client.Thus, system is by selecting the feasible feature that can have such as redundant recording and load balance of suitable subscription standard for each client.
In one embodiment, the record client can be dynamically subscribed to and is cancelled subscriptions to recording subsystem.When recording subsystem moves continuously, monitoring trading and when handling these transaction according to client subscription, client subscription itself can change.When recording subsystem brings into operation, can there be client subscription.After the subsystem operation, two clients can be subscribed to, such as, each client receives the recorded information (load balance between two clients is provided thus) of half.After, can be desirably between three clients and carry out load balance, therefore, two clients at first can cancel subscriptions, and subscribe to again then to receive 1/3rd recorded informations.The 3rd client also will be subscribed to receive 1/3rd recorded informations.As selection, system can stipulate to cancel subscriptions to revise the subscription standard.
With reference to Fig. 5, the figure shows process flow diagram according to the method for one embodiment of the present of invention.In this embodiment, in recording subsystem, realize this method.This method comprises that in fact detection can produce the incident of recorded information, then, each client is determined whether client expects the recorded information of this incident, and if the expectation record, will produce suitable recording messages and recording messages is sent to client.
In this embodiment, on the basis of incident one by one, realize this method.That is to say that when each incident took place, recording subsystem detected this incident and begins to determine for that incident distributed recorder information how in system.At first, recording subsystem determines whether that any record client has subscription.If do not have the client of subscription, will not produce or distributed recorder information.If have the client of subscribing to,, handle this incident one by one then for each client to recording subsystem.
Subscribe to client for each, at first this incident and subscription standard corresponding to this client are compared.For given client, if this incident with that standard of that client defined is complementary, then produce recording messages corresponding to this incident.Therefore, according to the subscription standard filter record information of client.Recording subsystem is according to the demand formatted record message of that specific client subscription.Then, the recording messages that produces is sent to that client.Client for each subscription repeats this process.
As implied above, as typical embodiment, method of the present invention can realize in the network agent server.In such embodiments, client can communicate by Internet Protocol and recording subsystem.The preferred HTTP (HTML (Hypertext Markup Language)) that uses still also can use other agreement.
Though embodiments of the invention described herein mainly concentrate in the based on network realization, this client that needs not to be recording subsystem and it is by the situation of network detach.In an optional embodiment, each can be the assembly of the system that is recorded for recording subsystem and client.In another optional embodiment, some clients can be the assemblies of system, yet other clients can reside among the system with this system independence.Also has some other change.
Above-mentioned embodiments of the invention " are pulled out " information from recording subsystem.That is to say that recording subsystem offers client in response to the request to this information with recorded information.Such as, client subscription recording subsystem (that is, the request recorded information), and recording subsystem offers client in response to subscribing to (request) with information.In certain embodiments, client can be thought the lasting request of the information of pulling out to the subscription of recording subsystem from subsystem, yet client can be asked in other embodiments to recorded information individually.Push information the prior art systems of corresponding destination to from recording subsystem though this special characteristic (pulling out recorded information) is different from, should be noted that some embodiments of the present invention can be configured to push recorded information to client.Such as, an embodiment can be configured to recorded information is filtered and it is distributed to a large amount of clients and does not consider the request that client is sent.In such embodiment, recording subsystem can be configured to by only (supposing n client arranged for each client here the distribution of information of every n incident, and the subclass of recorded information is offset, and makes their mutual exclusions) between all available client ends, carry out load balance.
Though the expection embodiments of the invention can make client can avoid causing collapse by too much recorded information, might given client be difficult to catch up with the message number that is distributed to it.Therefore, what may expect is to implement a buffer zone, can be accepted by client until this information with stored record information.In one embodiment, buffer zone can be finished in recording subsystem.Buffer zone can be lined up recorded information for clients corresponding, makes through this information being transmitted after the configurable delay.Such buffer zone also can be used for cumulative record information, so, can with this information in force rather than patch transfer to client, reduced expense thus.
In some embodiments of the invention, recording subsystem is configured to provide unique identifier to the recorded information that sends client to.Finish at configuration-system under the situation of load balance, this may be particularly useful.When the subclass of the recorded information that will be transferred to different clients makes up, use unique identifier that duplicate message is eliminated.
Various embodiment of the present invention can provide many aspects that are better than the prior art register system.As mentioned above, prior art systems only identified event and the recorded information that all are corresponding is dumped to single storage unit.Destination device collapses because of the mass data that sends it to and is not uncommon in such system.Attempting to obtain all info class at single destination device is similar to and attempts to drink water from fire hose---and a part wherein can be lost usually.Therefore, usually some is unreliable for these register systems, and the performance that has is lower than desired performance.Various embodiment of the present invention can provide the ability of obtaining any high level reliability and performance, and needn't change the recording subsystem of bottom.This mainly is to finish by the ability of finishing load balance and the enough information of redundant recording.
In a kind of environment, can be configured to distribute same recorded information this recording subsystem to a plurality of clients.This can finish by the same subsets that each that makes these clients is all subscribed to recorded information.The redundancy of information is collected and is minimized because intrasystem fault causes the possibility of drop-out.Such as, if one of them client experiences fault and loses some recorded informations, probably one of them of other clients do not experience fault and therefore obtains the information that another client is lost.The reliability of total system can be brought up to any rank (reliability) by increasing the client terminal quantity that receives redundant information as 99.9999%.
In a kind of environment, can be configured recorded information being divided into the mutual exclusion subclass this recording subsystem, and each subclass is sent to different clients.System can realize the load balance between the client by this way.Reduce the possibility that information that any one client is received is collapsed by the load between the balance client (that is distributed recorder information).Moreover, this cause fault and/the lower possibility of loss of data, cause higher reliability again.The load that reduces also allows each client with higher performance class operation.Recording subsystem itself also can have the performance of improvement, because it needn't be concerned about that client catches up with the ability of recorded information.
Should be pointed out that the present invention can be reduced in the upward bandwidth demand relevant with transmission log information of network connection by the information of filtering to each client distribution except improve the reliability and the performance of system by redundance and load balance.Because each client only receives the information that meets the standard of that client defined, network between this client and recording subsystem connects, with as carried out in the prior art all recorded informations be transferred to single destination compare, can reduce bandwidth demand.Even distribute all recorded informations, typically it is distributed to a plurality of clients, so, if give single client with all information transmission, will be littler in the load that any one network to these clients connects.Therefore, might eliminate as in network bottleneck problem that prior art met with.
Filter record information not only under the situation of redundant and load balance, and under the situation of the unwanted data of elimination, all is useful.In some instances, though can expect to write down each incident (as the transaction that can charge), normally do not need the situation of partial record information.Such as, can be configured to write down certain class incident system in case always need this information, still there is no need to have all the time this information.This information can be useful to diagnostic uses, if but normal this information of system's operation can be unnecessary.Embodiments of the invention can allow certain useful at that time class recorded information of client-requested, and abandon other current unnecessary recorded information.Equally, client can be selected the Level of Detail of recorded information because some the time some details useful and other details are useless.Just avoided collecting and storing the problem of unnecessary information, and the letter sorting recorded information is with the problem of sign useful part and nonuseable part like this.This can improve system performance fully.
More than described about specific embodiment can be by benefit provided by the invention and advantage.These benefits and advantage and any element that may cause them to take place or become clearer and more definite or restriction will can not be interpreted as the feature of key, the essential or essence of any or all claims.As used herein, term " comprises ", " comprising " or its any other the distortion, be interpreted as non-element or the restriction of following those terms that exclusively comprise.Therefore, comprise that system, method or other embodiment of one group of unit is not limited to only be those assemblies, but comprise other unit that embodiment that clearly do not list or required for protection is intrinsic.
Though invention has been described with reference to specific embodiment, be to be understood that embodiment is illustrative, and invention scope is not limited to these embodiment.The above embodiments are carried out some changes, revised, add and improve is possible.Expect that these changes, modification, interpolation and improvement drop on as in the invention scope that describes in detail in following claims.
Appendix
Network proxy platform and uses thereof
The exemplary embodiments of detailed grid of reference agent platform and its purposes, example wherein describes in the accompanying drawings.As possible, in whole accompanying drawing, make the same Reference numeral of usefulness is indicated same or similar parts (unit).
A kind of method and system can comprise and allows different application with identical or different communication protocols and the interior interactional software architecture of shared resource of computing machine.Or rather, can write the code that is used for computer program and more than a kind of application program or communication protocol are connected with the quantity of the code of (promptly sharing), and reduce the quantity of the code of the action of handling application-specific or specific protocol with increase.In one embodiment, transaction can be divided into one group of discontinuous action.Discontinuous action can be included as more than a kind of web application public function.These functions can be carried out by shared resource.
For each action, the function call of shared resource function is write by peculiar agreement or the specific code of application program can be used as the utilization of part software plug-in module.Each software plug-in module can equally be operated by the biconditional operation manager in fact, and wherein public task gives that shared resource is finished and this module is carried out and becomed privileged function.One group of software plug-in module that each agreement can have oneself is used for discontinuous action.New application program and support for New Deal can be by developing one group of new plug-in module rather than writing brand-new program and add.New application program for same protocol can be by developing as few replacement or editor with plug-in module of different application exploitation of same protocol.Software architecture can reduce the development time, improves new application program and develops very soon with less change from the existing application program, and more multi-protocols will obtain suitable support, and the burden that reduces the hardware and software resource.
Several terms are defined or illustrate to help to understand following description.Network be included in that public usable medium (as the Internet) is gone up or inner (enterprise has) system on the one group of server end and the client computer that interconnect.User at client computer utilizes Network Access Provider can insert this network.ISP (" ISP ") is a public class Network Access Provider.
As used herein, non-proprietary comprising contained in term " comprises ", " comprising ", " includes ", " including ", " has ", " having " or its any other distortion.Such as, it only is those unit that method, process, clause or the equipment that comprises a series of assemblies needn't be defined in, but can comprise other unit of clearly not listed or this kind method, process, article or equipment are intrinsic.In addition, unless clearly be expressed as reverse situation, " perhaps (or) " refer to " or " and do not refer to distance.Such as, condition A or B satisfy by following any one: A is that true (or existence) and B are false (or not existing), A is that false (or not existing) and B are true (or existence), and A and B are very (or existence).
Term " component software " refers at least a portion computer program (that is software application).An example comprises software plug-in module etc.Different component softwares can reside in the same computer program on the identical computing machine or on the different computing machines or in the various computing machine program.
Before the embodiment that network proxy platform is discussed, will be to describing for the typical hardware architecture of using network proxy platform.Fig. 1 shows such exemplary hardware architecture, and comprises client computer 120, Agent Computer 140 and server end computing machine 160.With client computer 120 and the Agent Computer 140 two-way networks 11 that are connected to, and with Agent Computer 140 and the server end computing machine 160 two-way networks 13 that are connected to.Network 11 and 13 each can be internal network or external network (as the Internet).In one embodiment, network 11 and 13 can be a consolidated network, as the Internet.Computing machine 140 and 160 can two-wayly respectively be connected to database 14 and 16.
Client computer 120 can comprise desk-top computer, laptop computer, personal digital assistant, cell phone or other the device that can communicate almost on network 11.Other client computer (not shown) also can two-wayly be connected to network 11.Agent Computer 140 can be the server end computing machine, and may be client computer in another embodiment.Other the server end computing machine (not shown) that is similar to server end computing machine 160 can two-wayly be connected to network 13.
In an optional embodiment, each Agent Computer 140 and server end computing machine 160 can be replaced by a large amount of computing machine (not shown) that interconnects each other on a network or combinational network.For simplicity, each Agent Computer 140 and server end computing machine 160 are illustrated individual system.
Client computer 120 can comprise central processing unit (" CPU ") 122, ROM (read-only memory) (" ROM ") 124, random access memory (" RAM ") 126, hard disk drive (" HD ") or memory 128 and input/output device (" I/O ") 129.I/O129 can comprise keyboard, monitor, printer, electronics fixed-point apparatus (as mouse, tracking ball, recording pointer etc.) or the like.Agent Computer 140 can comprise CPU142, ROM144, RAM146, HD148 and I/O149, and server end computing machine 160 can comprise CPU162, ROM164, RAM166, HD168 and I/O169.
Each computing machine in Fig. 1 can have more than CPU, a ROM, RAM, HD, I/O or other nextport hardware component NextPorts.For simplicity, each computing machine is shown to have one of them of each nextport hardware component NextPort, even used a more than nextport hardware component NextPort.Notice that Fig. 1 is the simplification of exemplary hardware configuration.Some other optional hardware configuration is possible and for known to the technician.
Computing machine 120,140 and 160 each all be the example of data handling system.ROM124,144 and 164; RAM126,146 and 166; HD128,148 and 168; And database 14 and 16 can comprise CPU122,142 or 162 media that can read.Therefore, each of these type memories comprises the medium that data handling system is readable.These storeies can be the inside or the outsides of computing machine 120,140 or 160.
Part method described herein can realize with the appropriate software code, software code can reside in ROM124,144 or 164, RAM126,146 or 166 or HD128,148 or 168 in.Instruction among the embodiment can be contained on the data storage device as HD148.Fig. 2 shows the software code components 204,206 and 208 of the combination on the HD148, and they are contained in the data handling system computer-readable recording medium 202.As selection, instruction can be stored on DASD array, tape, flexible plastic disc, light storage device or other suitable data disposal system computer-readable recording mediums or the memory storage as software code components.
In illustrative embodiment, computer executable instructions can be compilation, C, the C that the number row compiled ++,, Java or other language codes.Can use other architecture.Such as, the function of any one of them computing machine can be finished by the various computing machine shown in Fig. 1.In addition, having the computer program of such code or its component software can be contained in the more than data disposal system computer-readable recording medium in the more than computing machine.
In the superincumbent hardware configuration, various component softwares can reside on the combination in any of single computing machine or stand-alone computer.In optional embodiment, some or all component softwares can reside on the identical computing machine.Can reside on client computer 120, server end computing machine 160 or both such as, one or more component softwares of Agent Computer 140.In another embodiment, if will incorporate in client computer 120 or the server end computing machine 160, can not need Agent Computer 140 and database 14 by the function that Agent Computer 140 is finished.In such embodiments, client computer 120 can two-wayly be connected to identical network (not shown in Fig. 1) with server end computing machine 160.
Communication between any computing machine in Fig. 1 can utilize electricity, light, radio frequency or other signals to realize.Such as, when a user is in client computer 120, client computer 120 is in the form that conversion of signals adult can be able to be understood when the user sends information, and the formal transformation that input can be understood from the people can be become will be by computing machine 140 or 160 suitable electricity, light, radio frequency or other signals that use.Equally, when the operator is in server end computing machine 160, server end computing machine 160 is in the form that conversion of signals adult can be able to be understood when the operator sends information, and the formal transformation that input can be understood from the people can be become will be by computing machine 120,140 or 160 suitable electricity, light, radio frequency or other signals that use.
Be primarily focused on now for method according to the software development software architecture of an embodiment.This method can comprise transaction is divided into one group of discontinuous action.For transaction being divided into the used actual definition of discontinuous action is variable, and can be selected in the most suitable their mode of particular transaction, hsrdware requirements and software requirement by the technician.This method also can comprise determines to organize at this which function is publicly-owned to a more than application program in discontinuous action.The code quantity of application-specific can reduce because more shared resource obtains sign, and the quantity of shared resource can improve.Therefore, the technician is subjected to encouraging from many different extraction ranks software being checked, with the potential shared resource of finding not so may be missed.
This method can also comprise for discontinuous action generation component software.One group of software plug-in module can be corresponding to the different discontinuous action of transaction.Each application program can have the software plug-in module group of oneself.If appropriately finish the sign of shared resource, should keep the code quantity in each software plug-in module few relatively.With regard to the code of current non-existent any shared resource, should produce the code of shared resource, will be with maximization by the ability of some more as far as possible different software plug-in module uses.
At least wherein two the software plug-in modules that are used for different application programs, no matter they use identical still different agreement, can carry out function call to any or a plurality of shared resource.For the different application program of using same protocol, only solicit operation plug-in module, content operation plug-in module or both can be only change modules.Therefore, producing new application program for identical agreement can simplify, because other the plug-in module that is used for application program can copy from other the application program of use same protocol.These other plug-in module can be in fact the same section between the application program.By replacing or edit requests operation plug-in module, content operation plug-in module or both, the application program that can very fast exploitation makes new advances.
About using the application program of different agreement, each agreement can have the module of finishing same operation in fact because for other agreements arbitrarily or all similar modules be can be preferred, although by merging publicly-owned functional this duplicated code that reduced.
Be primarily focused on software architecture now according to the software of an embodiment.Software architecture illustrates in Fig. 3 and Fig. 4, and it is at the electronic transaction that can finish on network.The basic thought that proposes this architecture is that the programming code that allows to be used for shared resource is generally used by some more as far as possible heterogeneous networks application program institutes.Notice that all resources can or cannot be shared by all application programs.In any application program of supporting for shared resource, the programming code that is used for the plug-in module of each application-specific can comprise the code that connects input information.By the code in the restriction plug-in module, the user of software architecture can reduce the development time, improve the possibility that will correctly be supported (especially can by computing machine or the employed proprietary protocol of user) with the more multiple utility program of identical or different agreement only for determined number, and because of the burden on the hardware and software resource that only can use few relatively plug-in module to reduce to be used for different application.
In Fig. 3, each row 3200,3400 of frame and 3600 different applications of representing with identical or different agreement.Such as, row 3200 can be represented first application program of using HTTP, and row 3400 can be represented the different application of using HTTP, and row 3600 can be represented the Another Application program of different agreements such as use such as POP, SNMP, WAP.Notice that series of points between the row 3400 and 3600 indicates the application program that can have some other the identical or different agreement of use.In addition, can be configured to allow to increase application program in the future architecture.This software architecture is easy to support at least three different and potential some more agreements.
With reference to row 3200, the different phase (action) that each frame 3202 representative by 3214 can take place during electronic transaction.Such as, on behalf of request, frame 3202 can receive plug-in module, frame 3204 can be represented the mandate plug-in module, frame 3206 can be represented the solicit operation plug-in module, frame 3208 can be retrieved plug-in module by represent content, frame 3210 can be operated plug-in module by represent content, and frame 3212 can transmit plug-in module by represent content, and frame 3214 can be represented response back communication plug-in module (as notice, charging etc.).Each module can be in response to one or more discontinuous actions.Details about single plug-in module describes in this standard after a while.Notice that except being designed for the frame of different application, other row 3400 and 3600 comprises the corresponding frame that is used in fact with generic operation.Or rather, frame 3402 representative is used to use the input message sink plug-in module of the different application of same protocol, and 3602 representatives are used to use the input message sink plug-in module of comparing the Another Application program that is different agreement with frame 3202 because frame 3202 is with frame.
Utilize the new application program of the agreement of having been supported to develop least arduously.This finishes by producing newline, and this row utilization is used in specific protocol plug-in unit of another row and with them and other plug-in units combinations of developing for application-specific at hand.It can be in fact identical that some plug-in modules are used the different application of same protocol for some.Utilize different agreement, one of them a little plug-in module that is used for different application can provide identical functions in fact, can be different although the code in those plug-in modules is compared with the similar module that is used for other agreements.
In this software architecture, shared resource is illustrated as plane 3102,3104 and 3106, and these planes are positioned under each of row 3200,3400 and 3600.With reference to Fig. 4, can accomplish the interface of each shared resource for each plug-in module.Say that clearly with reference to frame 3214, function connectedness 4102 has connected module 3214 and shared resource 3102.Equally, function connectedness 4104 has connected module 3214 and shared resource 3104, and function connectedness 4106 has connected module 3214 shared resources 3106.Can realize by function call connecting 4102,4104 and 4106 to shared resource.The example of shared resource can comprise content cache memory, parameter cache memory, connection pool, name server cache memory, clock, counter, database, global variable space (as database of record) etc.The potential shared resource of one row almost is unlimited.Notice that not every shared resource can be connected to all modules along row.Such as, module 3202 and 3204 can not need to insert content cache memory, because they cannot receive or handle the content of being returned for request.Can be subjected to independent processing at the thread of oneself from each connection of client.Yet in other embodiments, thread still less or single thread can be used to move all connections to the particular row of supporting application-specific or agreement.Unless be expressed as reverse situation, the angle from Agent Computer 140 illustrates this method below.
Fig. 5 comprises the process flow diagram that carries out corresponding to the method for the electronic transaction of the plug-in module that follows arbitrary row of 3200,3400 and 3600.Notice that not every module all needs, and the function of some modules can merge (can be the part of handling initial request as authorizing) with the function of other module.To carry out brief description to this processing flow chart, afterwards each module will be elaborated.
This method can comprise utilizes request to receive the request of plug-in module (piece 502) reception from client computer, and utilizes and authorize plug-in module (piece 504) to authorize.This method also can comprise utilizes solicit operation plug-in module (piece 512) operation requests.This method can also comprise utilizes content recovery plug-in module (piece 522) to recover content.This method can also comprise utilizes content operation plug-in module (piece 532) that the content of returning is operated, and utilizes content to transmit plug-in module (piece 534) and will revise content and be sent to client computer.This method can also comprise the communication after utilization response back insertion type module (piece 542) processing response.
Note not everyly all needing, can not need the qualification in the specific activities, and can also carry out further activity except those diagram activities in the activity described in the processing flow chart.Moreover the some of them activity can be carried out between other active stages in fact simultaneously.After finishing watching this standard, the technician can determine can what activity can be used for their specific needs.
Be primarily focused on now on the specific protocol plug-in module of row 3200,3400 and 3600, and how they get in touch with setting up in the activity shown in Fig. 5.Although discuss, can provide similar functionality along other respective modules of going at row 3200.In addition, in following example, when client computer 120 carried out the content requests transmission to Agent Computer 140, server end computing machine 160 carries out content in response to this request to be provided.Information flow may be opposite direction (server end computing machine 160 is searched information from client computer 120).
This method can comprise utilizes request to receive the request of plug-in module 3202 (piece 502 among Fig. 5) reception from client computer 120.When the request from client computer 120 is received or visits by Agent Computer 140, can utilize request to receive plug-in module 3202.Module 3202 can produce associative array at first from the part header of request.This associative array partly or entirely can be by being used with other modules in the delegation.It can be that partial function to shared resource calls that this associative array can provide.Any or all data (comprising associative array) can be sent to the arbitrary or whole plug-in module subsequently (as module 3204,3206,3208,3210,3212 or 3214) in the delegation from existing arbitrary plug-in module (as module 3202).
This method can also comprise utilizing authorizes plug-in module 3204 (piece 504) to authorize.Authorizing plug-in module 3204 is optionally, and can be used to determine whether the user at client computer 120 has correct mandate.Authorization module can be based on Internet Protocol (" IP ") address or title and password.Module 3204 can send to shared resource to determine whether to allow this user capture with IP address or title and password.
This method can also comprise utilizes solicit operation plug-in module 3206 (piece 512) that request is operated.Can utilize solicit operation plug-in module 3206 to revise, replace or request is operated in other mode.Such as, Agent Computer 140 can have code in the different URL of request makes URL change direction.Or rather, Agent Computer 140 can utilize the URL that is asked that those shared resources are carried out function call.This shared resource can be passed different URL back module 3206.Module 3206 can have logic different URL is placed correct agreement, so it will be understood by the computing machine that can receive the request that changes direction.
This method can also comprise utilizes content recovery plug-in module 3208 (piece 522) to recover content.Content recovery plug-in module 3208 (piece 522) can be used for sending request, and receives or accessed content in response to initial request or operation requests.Or rather, the request that comes from client computer 120 can be handled by Agent Computer 140 before server end computing machine 160 receives.Request in response to from the processing of Agent Computer 140 will utilize module 3208 to handle from the content of server end computing machine 160.Be similar to module 3202, code can become the content resolution from server end computing machine 160 header portion and content part, and this information is appended on the associative array of previous generation.
This method can also comprise utilizes content operation plug-in module 3210 (piece 532) to operating from the returned content of server end computing machine.Before content is sent to client computer 120, can utilize content operation plug-in module 3210 that it is increased or revise.Or rather, Agent Computer 140 can will be increased in the content that is provided by server end computing machine 160 from third-party advertisement or side information.In optional embodiment, can delete or replace the part or all of content that comes from server end computing machine 160 with other guide.
This method can comprise that utilizing content transmission plug-in module 3212 (piece 534) will revise content is sent to client computer 120.After operation,, can utilize content to transmit plug-in module 3212 content is sent to client computer 120 by a certain route if want.Module 3212 is when client computer 120 sends output contents, can utilize the some of them information in the associative array that is produced when the initial request of handling from client computer 120.
This method can also comprise the communication after utilization response back insertion type module 3214 (piece 542) processing response.Response back insertion type module 3214 can be used to reply, charge or other purposes.Such as, with content after module 3212 successfully sends to client computer 120, so module 3214 can be collected this tranaction costs to the user credit card.As selection, module 3214 can be sought and serve or from the signal of client computer 120, perhaps server end computing machine 160 just is terminated for current transaction.As fruit product or service is incomplete, or defective, or has correctly reflected the tie-time of transaction, and such response aftertreatment meeting helps avoiding invoice or other bills to send to user at client computer 120.
Along similar row, one of them plane as shown in FIG. 3 can comprise the global space variable, and the global space variable can require to be used by other shared resources, Agent Computer 140 or plug-in module.System statistics is about can be at the example of the information in the global variable space.For Agent Computer 140 or other computing machines as client computer 120 or server end computing machine 160, this information helps monitor activities.This statistics can be included in just to be handled trading time period by Agent Computer 140 and has how many computing machines to be connected to Agent Computer 140, and each of those computing machines is connected to the time quantum of Agent Computer 140, the time quantum that is consumed, or the like.
Can use these global variables in conjunction with module as authorization module 3204.If current have too many user to be recorded in the Agent Computer 140, have correct secure license even attempt to connect the computing machine of Agent Computer 140, also can deny authorizing.After stopping, the signal from module 3214 can be sent to the register system within shared resource by another transaction that another client computer carried out.After the connection that stops from other transaction, new client computer can be provided by the visit to the service that is provided by Agent Computer 140 now.
Being primarily focused on more the specific activities that can be finished by particular module and this particular module now utilizes on how specific application program can interact with other modules for identical transaction.Utilization is in the explanation of processing flow chart shown in Fig. 6-8 some of them specific activities.In addition, unless be expressed as reverse situation, mainly the angle from Agent Computer 140 illustrates this method.
In order to help to understand the method in Fig. 6-8, utilize specific example and sometimes it is carried out sidenote.In this example, input information can be from client computer 120 send to Agent Computer 140 for Www.yahoo.comRequest.Client computer 120 utilizes HTTP, uses Netscape TMBrowser (of AOL Time Warner, Inc.of NewYork, New York) communicates, and has MacOS X TMOperating system (of AppleComputer, Inc.of Cupertino, California).
With reference to figure 6, this method can comprise the reception input information for application-specific (piece 602).This information can comprise request, message or other forms of information.This information can be sent by client computer 120, and is received or visit by network 11 by Agent Computer 140.The input information of at least a portion can be visited or read to Agent Computer 140, and be identified for the application-specific of this information.In this embodiment, input information can be from client computer 120 send to Agent Computer 140 for Www.yahoo.comRequest.This input information also can be included in other interior information of header of request.In this embodiment, other information can comprise the browser and the operating system of client computer 120.
After being identified for the application program of this information, Agent Computer 140 can be determined in the row of row 3200,3400,3600 or other row or plug-in module which is used for this transaction.On this point in the method, Agent Computer 140 can activate arbitrary or whole plug-in modules for the row corresponding to application-specific.In one embodiment, the plug-in module in every row only just can activate when using first.With reference to this embodiment, this request is the application program that is used for corresponding to row 3200.Therefore, can activate plug-in module 3202.If this information is to be used for the Another Application program, can activate plug-in module 3202 for this application-specific.
This method can also comprise for application-specific (piece 604) input information is sent to the first software plug-in module by a certain route.Because the input request utilizes the application program corresponding to row 3200, Agent Computer 140 can send to request receiving software plug-in module 3202 by a certain route with request.
This method can comprise input information is decomposed into header portion and content part (piece 622).Decomposition can be finished by piece 3202, to obtain information from request.
This method can also comprise utilizes the information that is included in header portion (piece 624) to produce associative array.This associative array can comprise almost any a limited number of row.Every row can comprise a key word and a value.Key word can comprise a parameter in the header portion, and value can comprise the value that is used for this parameter.In a word, header portion can comprise a delegation or a multirow by the order of ordering independent variable to be followed.Order can be a key word, and the order independent variable can be the respective value that is used for this key word.This associative array can be searched for by key word or value.
Be used for each agreement and the agreement that is used for the header of those agreements of input information by understanding, the formation of this associative array can not need complicated coding and finish.This associative array is flexibly on line number, and allows the associative array of different size is used for different agreement.
For HTTP, the wherein delegation in the header can comprise having " User-Agent:Mozilla/5.0 (Macintosh; U; PPC Mac OS X; En-US; Rv:1.1) Gecko " row.Key word will be " User-Agent ", and value will be " Mozilla/5.0 (Macintosh; U; PPC Mac OS X; En-US; Rv:1.1) Gecko ".For POP, row can comprise " RETR27 ", and wherein 27 is object identities, is the particular term that will be resumed.Key word will be " COMMAND ", and value will be " RETR ".Utilize key word " ARGUMENT " and value " 27 " to form second inlet.For SNMP, delegation can comprise " get 47.12.112.38 ", and wherein 47.12.112.38 is corresponding to object identity.Key word will be " COMMAND ", and value will be " GET ", and second inlet will have key word " ARGUMENT " and value " 47.12.112.38 ".
Content can be also can not be the part of this associative array.If content is the part of this associative array, this associative array can comprise the whole contents data block of key word " CONTENT " and conduct value.For piece image, content can be very big data volume.As selection, this associative array can be right with the data pointer composition that points to data block, rather than directly value is incorporated in this associative array.
By example, associative array can comprise the information as shown in following Fig. 1.What use is descriptive name rather than actual name, to help to understand associative array.Equally, associative array can comprise some more multirows.Because associative array can be searched for by key word or value, so the order of row is unimportant.
The typical associative array of table 1.
Key word ??? Value
Request ??GET? http://www.yahoo.com?HTTP/1.0
The request document ?? http://www.yahoo.com
The user agent ??Mozilla/5.0(Macintosh;U;PPC?Mac?OS?X; ??en-US;rv:1.1)Gecko
Browser ??Netscape
Operating system ??MacOS?X
This method can also comprise that the data of utilizing in the associative array (piece 702 among Fig. 7) produce the function call to one of them shared resource.In this example, Agent Computer 140 can generate the function call to shared resource, more clearly says so to generate function call to clock (shared resource) and register system (another shared resource) beginning of concluding the business with acquisition time and record.Recorded information can comprise time and transaction ID.Notice that the some information in the associative array may send with the function call to shared resource.
This method can also comprise reception data from function call (piece 704).In this example, transaction ID can be returned to module 3202.This module also can comprise the data of processing from the function call with other codes in first software module (piece 706).Module 3202 can concentrate on more to be handled input information rather than handles the data of returning from function call.Data processing other modules as content transmission plug-in module 3212 can be finished.Note the processing of application-specific,, can occur in before the function call of generation to shared resource if want, among, or afterwards.
Can determine whether the first software plug-in module is last software plug-in module (rhombus 722).If it is last, can finish this method.Otherwise this module will continue, and any or all data (comprising associative array) are passed to next software plug-in module (piece 802 Fig. 8) from existing software plug-in module.In this example, next software plug-in module is an authorization module 3204.Authorization module 3204 can utilize some information of being collected or being produced by module 3202.Transmission information reduces negative on the hardware takes a blame by information is sent to another computing machine (as client 120) from Agent Computer 140, or generates same or similar function call to shared resource for identical information.
This method can also comprise that the data of utilizing in the associative array (piece 822) produce the function call to one of them shared resource.Authorization module 3204 can generate the function call to parameter system, if determining that the user possesses correct mandate, but whether granted access (whether the number of users that is currently connected to Agent Computer has surpassed restriction), connect right of priority etc.Module 3204 can be passed through username and password when the function call that generates register system.Module 3204 can also generate the function call of sharing piece to obtain the running time.
This method can also comprise reception data from function call (piece 824).These data can comprise about the user at client computer 120 whether having secure license, whether can connect, connect the information of right of priority etc.This method can also comprise the data of processing from the function call with other codes in the current software plug-in module (piece 826).Whether an example can comprise information is sent to client 120 from Agent Computer 140 set up thereby notify the user to connect.As selection, can not utilize module 3204 to further process.
Can determine whether current software plug-in module is last software plug-in module (rhombus 824).If it is last, can finish this method.Otherwise this module will utilize piece 802 to continue, and carry out until arriving last software plug-in module with repetitive mode.
Some function calls that can generate for the operation in the Understanding Module better and those modules will explanation finish the example transaction along the residue module of row 3200.Can utilize the amount doesn't matter module.Equally, these modules can generate more, still less or different function calls.
Data can be sent to solicit operation software plug-in module 3206.Can generate function call, to determine whether request should change to shared resource.It is right that this function call can be transmitted about receiving or visiting Www.yahoo.comInformation requested.Shared resource can comprise usefulness Www.google.comReplace the logic of initial client-requested.Associative array can change to use Www.google.comReplace Www.yahoo.com, perhaps additional dated operated request is Www.google.com
Module 3208 can be finished content recovery.Can generate function call at Agent Computer 140 places, be used for to determine whether content cache memory comprises to content cache memory (shared resource) Www.google.comWebpage, for having Netscape TMBrowser and MacOS X TMOperating system is to this webpage ad hoc arrangement form.Attention browser and operation system information can be obtained from associative array.If content cache memory has webpage, this webpage can be sent to module 3208.Otherwise module 3208 can clearly be explained the HTTP request to server end computing machine 160, and request is used for the webpage of the particular browser and the operating system of client computer 120.After server end computing machine 160 obtained correct webpage, module 3208 can be to sending to the function call in the content cache memory of Agent Computer 140, with this webpage of caches at Agent Computer 140.Correct webpage and other information of before having collected can send to module 3210.
The content in some or whole correct webpages that return can be deleted, adds or be replaced to content operation module 3210.Such as, when receiving or having access to correct Google webpage, module 3210 can be added in advertisement the edge of webpage.Can generate function call, to determine to add which advertisement to shared resource.Register system can follow the tracks of just adding which advertisement, whose advertisement it is and has added advertisement several times in current metering period.Register system, as shared resource, access counter (another shared resource) automatically.In other operations, some or whole shared resources can be interact with each other, and do not need the application specific software plug-in module to get involved.Operated content and other information can send module 3212 to.
Content transmits the software plug-in module and can obtain for Netscape from module 3210 TMBrowser and MacOS X TMOperating system is carried out Google webpage and the advertisement that form is arranged, and utilizes the HTTP ready message.This information can send to client computer 120 from Agent Computer 140.Can form function call, to indicate actual content and the transmitting time that sends to client computer 120 to register system.Any or all of information of being collected and being produced by module 3202-3212 can send module 3214 to.
Response back communication module 3214 can be used for following the tracks of to be used or charge information.When closing the transaction, module 3214 can generate the function call of clock determining the current time, and generates another function call of register system to determine that how long and write down any charge information trading time period consumption.This charge information can be in the shared resource by the clearing division management.Charge information the user of client computer 120 can send module 3214 to from one of them shared resource, and module 3214 can be returned the some information the user of client computer 120.Agent Computer 140 can be to client computer 120 transmission information, as " connection is 2.1 minutes, your cost Shi $1.27.Thanks use ".As selection, can not send message, can stop this method then.
Notice that the activity described in the not every processing flow chart in Fig. 6-8 all needs, the qualification in the specific activities can not need, and except illustrated those activities, can finish further activity.In addition, some activities can be carried out between other active stages in fact simultaneously.After finishing watching this standard, the technician can determine that what activity can be used for their specific needs.
Utilize process flow diagram and an example among Fig. 9 can understand the new application program of ability create to(for) same protocol better.In one embodiment, the user for the different priorities of a website can produce different application programs.Communication protocol can be used HTTP.This method can comprise that exploitation is used for first group of plug-in module of first application program (piece 902).This group can and be directed to the superfine user of website corresponding to row 3200.
Domestic consumer for the website can need the development of new applications program.This communication protocol also can be used HTTP.This method can comprise duplicates first group of plug-in module to form second group of plug-in module (piece 922).
For new application program, only replacement request is operated plug-in module or content operation plug-in module, and perhaps the both replaces.Remaining plug-in module can be constant, thereby identical with all the other plug-in modules that are used for first application program in fact.
This method can comprise with the second solicit operation plug-in module that is used for second application program (piece 924) replaces the first solicit operation plug-in module.Such as, superfine user can visit the webpage that some domestic consumers can not visit.If domestic consumer asks superfine webpage, the second solicit operation plug-in module can guide this domestic consumer to have another webpage of correct access right to this domestic consumer.
This method also can comprise with the second content operation plug-in module that is used for second application program (piece 926) replaces first content operation plug-in module.Superfine user's window can only have 10% to be taken by advertisement, and the window of domestic consumer has 50% and taken by advertisement.The second content operational module can be rearranged form to allow more advertising space to recovering content.The second content operational module can also access shared resources to obtain advertisement and to follow the tracks of and used which advertisement.The webpage optimization that device (desk-top computer to cell phone etc.) is relevant can realize by inserting a module, and being provided with that this module utilization initiates that the special device of initial request develops carried out code conversion to content.
After one or two of replacement request operational module and content operation module, this method also can comprise utilizes second group of plug-in module (piece 942) to carry out second application program.
Though notice that these embodiment concentrate on more and replace particular module, in other embodiments, those modules can produce by the code that editor is used in the respective modules in first group of first application program.
After finishing watching this standard, the technician can understand and utilize the identical network agreement, only in the solicit operation position, content requests position or this two kinds of positions all insert new plug-in module and can develop diverse application program.
In other embodiments, this method and system can be used for almost any other network service.For instance, client computer 120 can be initiated request to the information of the database that is positioned at server end computing machine 160.This request can be handled with the request mode that is similar to webpage.If the user does not possess the appropriate permission to the information in all requests, the solicit operation module can only ask the user to have the proprietorial information of visit, and perhaps the content operation module is added information, and the statement user does not possess the proper right to use to some or all information.
In another embodiment, multi-protocols software architecture and plug-in module can be installed in client computer 120 or server end computing machine 160.Module in the not all Agent Computer 140 all is that client computer 120 or server end computing machine 160 are required.Authorization module 3204,3404 and 3604 can not use or encode and allow to authorize (always being authorized to) at client computer 120.Content operation module 3210,3410 and 3610 can be can't help server end computing machine 160 and be used.After finishing watching this standard, the technician can determine which module is required and which module is can remove or circuitous (module exist but do not carry out by this information any other is effectively movable).
Component software can be designed to the ability of maximization use shared resource when minimizing the code quantity that is used for the application-specific operation.Therefore, relatively little plug-in module (than shared resource) can be used to visit the shared resource shown in the plane under this module.By this way, than the art methods that writes or copy and revise whole procedure for specific protocol, for new agreement needs code still less.For the application program with same agreement, specific coding requires can be still less.In addition, because coding requirement reduces, agreement more may be supported, therefore, can produce agreement for have the agreement of lacking the user relatively than other agreements.Than handling some current art methods with the problem of the different application of identical or different agreements, this method and system is all more effective on practice and cost.
More than with regard to specific embodiment the solution of benefit, other advantages and problem has been described.Yet, can cause the solution of the generation of any benefit, other advantages, solution or these benefits that become clearer and more definite, other advantages, problem and key, essential or essential characteristic or the unit that any or all claim will not thought in any unit.

Claims (29)

1. system comprises:
A recording subsystem;
Wherein said recording subsystem is arranged to monitor event;
Wherein said recording subsystem is arranged to according to the pairing standard of one or more clients and filters described incident; And
Wherein said recording subsystem is arranged to according to described standard the recorded information of the incident of filtering is transmitted to described one or more client.
2. system according to claim 1 further comprises:
A network agent server, wherein said recording subsystem comprise an assembly of described network agent server, and are arranged to the incident of the described network agent server of monitoring;
A network that is connected to described network agent server; And
Described one or more client, wherein said client is connected to described network, the relative set of each described client wherein with described standard, and wherein for each described client, described recording subsystem is arranged to according to the described standard set relevant with client described incident is filtered, and resultant recorded information is transmitted to described client.
3. system according to claim 1, wherein said recording subsystem is arranged to response the respective request of recorded information is offered client with recorded information.
4. system according to claim 1, wherein said recording subsystem is arranged to recorded information is pushed to client.
5. system according to claim 1 further comprises a network agent server, and wherein said register system is connected to described network agent server, to monitor the incident in the described network agent server.
6. system according to claim 5, wherein said recording subsystem comprises an assembly of described network agent server.
7. system according to claim 1, the Level of Detail that wherein said recording subsystem is arranged to by described client regulation is transmitted to each client with recorded information.
8. system according to claim 1, wherein said recording subsystem is arranged to each client is filtered in utilization by described client specified standard recorded information.
9. system according to claim 8, wherein two or more described clients are given for the identical standard of filtering described recorded information, and described recording subsystem sends the redundant subclass of recorded information to described two clients based on described identical standard.
10. system according to claim 8, wherein two or more described clients are given for the standard of filtering described recorded information, wherein said standard code the mutual exclusion subclass of described recorded information, and described recording subsystem sends the recorded information subclass of load balance to described two clients based on described standard.
11. system according to claim 8, wherein at least one described client is given for the standard of filtering described recorded information, a subclass of the incident of wherein said standard code available types.
12. system according to claim 8, wherein at least one described client is given for the standard of filtering described recorded information, every n the incident of wherein said standard code.
13. system according to claim 1, wherein said record server is arranged to dynamic realization from the subscribe request of client and the request of cancelling subscriptions.
14. system according to claim 1, further comprise described client and be connected described recording subsystem and described client between a network, wherein said recording subsystem is arranged to by network and connects the subscribe request that receives from described client, and by the network connection recorded information is transmitted to described one or more client.
15. a method that is used for recording events comprises:
To one or more clients each, provide corresponding standard set; And
To each of a plurality of incidents,
Detect described incident, and
To each of described one or more clients,
Determine whether described incident meets the described standard set corresponding to described client, and
If the described standard set of described event matches then will be transmitted to described client to the recorded information of described incident.
16. method according to claim 15, wherein in the network proxy server that is connected to described one or more clients by network, realize described method, and wherein transmit recorded information and comprise by described network described recorded information is sent to described clients corresponding.
17. method according to claim 15 is wherein transmitted recorded information and is comprised described recorded information is pushed to described clients corresponding.
18. method according to claim 15 is wherein transmitted recorded information and is comprised in response to the request to described recorded information described recorded information is sent to described clients corresponding.
19. method according to claim 15 wherein will be forwarded to the Level of Detail of the described recorded information of described first client corresponding to the described standard set identification of first client.
20. method according to claim 15, wherein said one or more client comprises more than first client, wherein the described standard set corresponding to this more than first client is identical, and the described recorded information that wherein sends to each client of this more than first client is redundant.
21. method according to claim 15, wherein said one or more client comprises more than first client, and wherein stipulate the mutual exclusion subclass of described recorded information, and the described recorded information that wherein sends to each client of this more than first client is a load balance subclass of described recorded information corresponding to the described standard set of this more than first client.
22. method according to claim 15 is wherein corresponding to the incident of the selected type of described standard set sign of first client.
23. method according to claim 15, wherein the described standard set corresponding to first client identifies every n incident.
24. method according to claim 15, wherein provide the described standard set corresponding to described one or more clients to comprise the subscribe request of acceptance from described client, wherein said subscribe request comprises the described standard set corresponding to described client.
25. method according to claim 24 further comprises to described recording subsystem one or more clients of dynamically subscribing to or cancel subscriptions.
26. method according to claim 15, wherein the described standard set corresponding to first client identifies all incidents.
27. method according to claim 15, wherein the described standard set sign corresponding to first client comprises an incident subclass that is less than all incidents.
28. a software product comprises many instructions that are embodied in the readable medium of data processor, wherein said instruction is configured to make described data processor to carry out the following stated method, and described method comprises:
For one or more clients each, keep corresponding standard set; And
For each of a plurality of incidents,
Detect described incident, and
To each of described one or more clients,
Determine whether described incident meets the pairing described standard set of described client, and
If the described standard set of described event matches then will be transmitted to described client to the recorded information of described incident.
29. software product according to claim 28, wherein said instruction is configured to make the incident in the described data processor monitor network acting server, connect the described standard set that receives from described client by network, and described recorded information is sent to described corresponding client by described network connection.
CN 03805547 2002-01-18 2003-01-16 A highly redundant, high-reliability and high-performance platform logging/billing generation and collection subsystem Pending CN1639714A (en)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
US34942002P 2002-01-18 2002-01-18
US34942402P 2002-01-18 2002-01-18
US34934402P 2002-01-18 2002-01-18
US60/349,344 2002-01-18
US60/349,424 2002-01-18
US60/349,420 2002-01-18
US10/342,113 2003-01-14
US10/342,113 US7073178B2 (en) 2002-01-18 2003-01-14 Method and system of performing transactions using shared resources and different applications

Publications (1)

Publication Number Publication Date
CN1639714A true CN1639714A (en) 2005-07-13

Family

ID=27617815

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 03805547 Pending CN1639714A (en) 2002-01-18 2003-01-16 A highly redundant, high-reliability and high-performance platform logging/billing generation and collection subsystem

Country Status (4)

Country Link
EP (1) EP1474762A2 (en)
CN (1) CN1639714A (en)
AU (1) AU2003236530A1 (en)
WO (1) WO2003062993A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106060063A (en) * 2016-06-24 2016-10-26 武汉斗鱼网络科技有限公司 Filtering method and device for internet website front end logic entries

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100353709C (en) * 2004-01-16 2007-12-05 英业达股份有限公司 Platform event filtering system and method
EP2611109B1 (en) * 2011-12-29 2015-09-30 Amadeus System for high reliability and high performance application message delivery
CN110119411A (en) * 2019-05-14 2019-08-13 张良 A kind of technique transfers platform intelligent search method and system
US11720550B2 (en) 2021-05-28 2023-08-08 Microsoft Technology Licensing, Llc Transaction log validation in a database transaction log service
EP4348440A1 (en) * 2021-05-28 2024-04-10 Microsoft Technology Licensing, LLC Transaction log validation in a database transaction log service

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106060063A (en) * 2016-06-24 2016-10-26 武汉斗鱼网络科技有限公司 Filtering method and device for internet website front end logic entries
CN106060063B (en) * 2016-06-24 2019-04-23 武汉斗鱼网络科技有限公司 A kind of filter method and device for internet site front end logic entrance

Also Published As

Publication number Publication date
WO2003062993A2 (en) 2003-07-31
WO2003062993A3 (en) 2004-03-04
EP1474762A2 (en) 2004-11-10
AU2003236530A1 (en) 2003-09-02

Similar Documents

Publication Publication Date Title
Cooley et al. Discovery of interesting usage patterns from web data
CN102957712B (en) Site resource loading method and system
CN101689210B (en) Aggregating and searching profile data from multiple services
US7073178B2 (en) Method and system of performing transactions using shared resources and different applications
CN1279475C (en) Method for searching and analying information in data networks
CN1290028C (en) Network system allowing the sharing of user profile information among network users
US6898597B1 (en) Event log
US8972850B2 (en) Tag aggregator
CN103210386B (en) Method, system and the equipment of conglomeration search
US10719769B2 (en) Systems and methods for generating and communicating application recommendations at uninstall time
CN1559040A (en) Selection of content in response to communication environment
CN1650263A (en) Method and system for problem determination in distributed enterprise applications
CN1976352A (en) Method and system for providing supporting of long-distance software application
CN1489736A (en) Method and system for maintaining and distributing wireless applications
CN1783132A (en) Synchronization of runtime and application state via batching of workflow transactions
CN1451131A (en) Information processing method information terminal support server collaboration system and storage medium stockage an information processing program
CN1856790A (en) Information access using ontologies
CN1344088A (en) Information transfer system and information transfer method
CN1647058A (en) Collaboration server, collaboration system, session management method thereof, and program
CN102208991A (en) Blog processing method, device and system
CN1591444A (en) System and method for integrating management of resources between application services and applications
CN102122281A (en) Method, device and system for generating page form
CN104881438A (en) Network hospital platform, specialist platform, method for requesting emergency specialist consultation based on specialist platform
US20130152102A1 (en) Runtime-agnostic management of applications
CN1617103A (en) Terminal, system and method of managing log data

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication