The detailed description of invention
With reference now to accompanying drawing, describes the present invention, wherein use same reference number to indicate same element in the full text.In the following description, for the purpose of explaining, a plurality of specific detail have been described so that thorough understanding of the present invention to be provided.Yet obviously the present invention can need not these specific detail and realize.In other example, show known configurations and equipment so that describe the present invention with the block diagram form.
As employed in this application, term " assembly " and " system " are intended to refer to computer related entity, or combination, software or the executory software of hardware, hardware and software.For example, assembly can be, but is not limited to, and operates in thread, program and/or the computing machine of process on the processor, processor, object, executable code, execution.As an illustration, application program and the server itself that operates on the server can be assembly.One or more assemblies can reside in process and/or the executory thread, and assembly can be on the computing machine and/or be distributed between two or many computing machines.
With reference to figure 1, show the schematic block diagram of download distribution engine according to an aspect of the present invention at the beginning.Such download distribution engine 100 allows N stand alone software/digital content manufacturer (ISV) 102,104,106 (wherein, N is an integer) that its software and/or the corresponding part of digital content are downloaded to M final user 101,103,105 (M is an integer).Such final user can comprise such as equipment such as palm pilot, personal digital assistant, media player, televisor, computing machines.
In addition, final user 101,103,105 can be the part of network system 107, this network system can be system realm network or other type network, and can comprise the several host (not shown) of the computing machine that can be personal computer, server or other type.Such main frame generally can move or carry out one or more application layers (or client layer) program to initiate I/O request (for example, I/O reads or writes).In addition, network system 107 also can comprise one or more I/O units (I/O unit), wherein such I/O unit can comprise connected one or more I/O controller, and each I/O can be in the I/O equipment of some types any, such as memory device (for example, hard disk drive, tape drive) or other I/O equipment.Main frame and I/O unit and attached I/O controller and equipment thereof can be organized into such as the grouping of trooping, and each is trooped and comprises one or more main frames and general one or more I/O unit (each I/O unit comprises one or more I/O controllers).Main frame can be via the set interconnection of router, switch and the communication link (such as electric wire, connector, cable etc.) that are connected the group node (for example, connecting one group of main frame and I/O unit) in one or more the trooping with the I/O unit.
And network system 107 can be for example ethernet lan, token ring lan or other LAN or wide area network (WAN).And network system 107 can comprise hardwired and/or optics and/or wireless connections path.As will be in following detailed explanation, download distribution engine 100 can be between ISV 102,104,106 the supply data exchange, with supply such as following information: will download to the each several part of user's software, any add-on assemble that user's true(-)running software still needs, permission requirement, bill etc. from each ISV.
More go through below will be again, the download of software bundle can be split to provide higher efficient to software vendor and to the control of its product separately.Single ISV no longer needs to bundle all softwares that are associated with its corresponding product and such software bundle is distributed to client.Software bundle can be given the final user by different entity (for example, the actual production merchant of corresponding software) fractionation and electronic distribution now.By splitting software bundle, can directly provide the final user independently by the manufacturer of second portion with second portion in the software bundle that the first software product ISV is associated.Do manufacturer to second software like this bigger control to product (mode, installation, maintenance, the version of for example, distribution, distribution provides, permits, safety etc.) is provided.
To discuss various situations to such software dispatch in more detail, for example comprise: (1) when from an ISV downloaded software or afterwards points out the 2nd ISV that it is downloaded to the final user with the corresponding software that the software of an ISV is associated---such prompting can from the final user or even an ISV directly carry out; (2) the 2nd ISV also can use an ISV as the agency who downloads its software, perhaps are used as the agency of an ISV and corresponding software thereof; (3) the 2nd ISV also can adopt Digital Right Management and a plurality of licences of its corresponding software are downloaded to the final user; (4) after initial download, the 2nd ISV can modulate about other software/hardware of the software of the Version Control of its software and a maintenance and an ISV and final user concurrent and compatible; (5) distribution of software can be on hardwired and is wirelessly carried out, and adopt any suitable transmission medium and available communication protocol to realize such electronic distribution; (6) most typical although expect that complete electronic distribution becomes, be appreciated that distribution also can be to be divided into two-part (as required), make some part of software by electronic distribution and other parts by physical distribution; (7) can adopt authentication, safety and digital rights management scheme to realize and promote the electronic distribution of software bundle various piece.To aforementioned circumstances and other are discussed herein and/or obtain them from the instruction of this document easily, and all such realizations be intended to fall in the scope of appended claims.
At the beginning with reference to figure 2, show the detector module 203 of loss part that can be by adopt detecting institute's downloaded software and/or digital content and inform where to obtain and lose object and/or obtain the download distribution engine 201 of being convenient to make up application program with the notification component 205 of the additional information of the problem of losing the part correlation connection about solving since the bag (for example, one group of function) that ISV 240 downloads to the user.Therefore, during an ISV downloaded software, download distribution engine 201 can detect any loss part of such software bundle, and allows the user to download the loss part from the 2nd ISV, and/or provides about how solving and the information of correctly downloading and carry out loss part correlation problem from the 2nd ISV.
As shown in the figure, but the related bag of structure application program system that 200 administrative institutes of system download 220 and/or the distribution and the collection of file.And in such component driven architecture environment, general assembly can be considered to the specific function that can visit by the interface of contract appointment.Such assembly can be self-contained and be the pseudo-shadow of describing and/or carry out the identification known of specific function.For example, based on the basic capacity of the system 200 of assembly can comprise on interoperability, different hardware or the software platform of across a network portability and from the ability of management data resource.
System 200 can comprise a plurality of structure machines 202,204,206,208 (1 to L, wherein L is an integer) that are collectively referred to as structure machine 210.Those skilled in the art will appreciate that making up machine 210 can be physical machine (for example, one or more computing machine) and/or virtual machine (for example, operate on one or more computing machine one or more processes).Make up machine 210 and can produce the one or more structure files that adopted in the application program system 220.
Make up machine 210 and one or more source files can be compiled, collect, explain and/or are linked into one or more structure files.Along with a fragment that makes up machine 210 has made up one or more structure files, another fragment that makes up machine 210 can compile announced those and make up the tabulation of the name of file.For example, file publishing can be the file publishing that is listed in the one or more make files that are associated with software systems of just downloading and making up from such download from ISV 240 or application program 220.Make up machine 210 and can send to structure manager 214 with making up the filename tabulation then.A fragment that makes up machine also can be designated as and make up back machine 216, wherein make up manager 214 and can be each fragment that makes up machine then and determine to comprise and make up the tabulation that machine 210 should send to the subclass of the structure filename that makes up back machine 216, this will create the structure file set or collect 218.Make up manager 214 and also can be the tabulation that each fragment that makes up machine 210 determines to comprise the subclass that makes up the filename that machine 210 should receive back from make up back machine 216.Make up after the machine 210 in case will be distributed to the tabulation that makes up the filename that back machine 216 sends and therefrom receive, these files can be transferred into and make up back machine 216 and transmit from making up back machine 216.File transmits for example can be by the fragment that makes up machine 210, structure manager 214, structure back machine 216 or another process initiation.One or more stages that system 200 can experience in the above-mentioned process are finished structure application program system 220 on subscriber set.In one or more stages, system 200 can finish its structure and duplicate to machine 216 after making up at beginning wait structure machine 210 before structure back machine 216 obtains file.Although be appreciated that structure manager 214, structure back machine 216 are independently illustrated, the process that machine 216 is carried out behind structure manager 214 and/or the structure can be carried out on same physics and/or virtual machine.For when running into downloaded software have when losing part can correct execution application program system 220, download distribution engine 201 adopts detection components 203, it detects any loss part after passing to machine wrapping, and the user is allowed to download from suitable ISV and loses part or obtain information about how to deal with problems via notification component 205 subsequently.
Fig. 3 shows the exemplary download distribution engine 301 of the illustrative aspects according to the present invention, and wherein distribution resolver is as the part of notification component 305.Download distribution engine 301 is operated in distributed object system, wherein wraps object 310 and can be used as from the part of ISV downloaded software and be downloaded.After ISV downloads to the various piece of application program on the subscriber set, distribution resolver 303 can need the contact details of the specific ISV of contact to be convenient to provide the loss part of application program by providing about the loss part for correct down load application program, to guarantee the true(-)running to it.Distribution resolver 303 can determine which assembly the download of an ISV has lost, and need obtain which assembly from the 2nd ISV.Such project can be retrieved lastingly and be stored, and wherein distribution resolver 303 can experience the one or many iteration of said process to finish the download of application program.
Turn to Fig. 4 now, showing to provide the detailed diagram of distribution resolver 403 of information of obtaining the ISV of such loss part about the loss of institute's downloaded software part and Ying Xiangqi.Distribution resolver 403 can comprise that one or more subsystems (for example, metadata reader 410, attribute-bit subsystem 420, attribute are filled subsystem 430) are to promote the download distribution ability that download distribution engine 401 provides.Metadata reader 410 can with one or more metadata of wanting resolved one or more loss objects and/or data type to be associated as input.Such metadata can comprise following information, comprise the data type that for example is associated with metadata attribute tabulation (wherein, this tabulation comprises attribute-name, type, size etc.) if, parameter type, parameter size, address etc. and the mutual with it entity of sign expectation do not have then may be utilized information with the mutual one or more classes of this data type of the definition of available data type (for example, parent).
In addition, can comprise about software and object or the loss partial data structure quoted: adoptable array, tabulation, heap, storehouse, table, data-base recording, database table, database and data cube according to the present invention.Thereby, can adopt sign to lose to quote and/or such information of one or more classes of object is come mutual and where determine can be from obtaining such data with data type.Metadata reader 410 operationally links to attribute-bit subsystem 420 and attribute and fills subsystem 430, so that the object of those subsystem identification mismatches or loss and/or data type and/or itself and correct ISV source quoted compares.
In addition, in case distribution resolver 403 has been determined the loss part of reference object via attribute-bit subsystem 420, then can adopt attribute to fill subsystem and come from correct ISV searching value and/or download and lose object.Thereby in the programmed environment based on assembly, the present invention can be convenient to the distributed downloads of carrying out from a plurality of ISV, so that allow correct down load application program and this application program of operation on user's machine.
With reference now to Fig. 5,, shows the general block diagram of supervisory system 510 of the part of download distribution engine according to a particular aspect of the invention.Supervisory system is the application program downloaded of observation post and/or the loss part of object actively, and provides real-time hyperlink to come to download from correct ISV to lose part.Therefore, monitor component 510 can provide the respective objects website corresponding to the web link of the loss that institute's downloaded software and/or digital content can be provided correct ISV partly.
Thereby, when monitor component 510 runs into the loss part of institute's downloaded software and/or object, then can collect or collect about the information of such loss object and with these information transmission and give by link Control Component 520.Link Control Component 520 can be checked from monitor component 510 information transmitted and with itself and one or more link queries of storing 530 and compare.Link queries 530 can comprise a plurality of different inquiry to a plurality of links (for example, hyperlink).For example, to any given link, can be provided with or at least one inquiry of programming by the user.The set that inquiry can comprise the set condition that will satisfy or will carry out link when condition satisfies.Each inquiry can be corresponding at least one hyperlink and the targeted sites that is associated.
And when monitor component 510 was determined to detect the loss part of institute's downloaded software or digital content, it also can notify the user via Object linking assembly 540 (for example, browser).Detect lose quote and/or the example of the notification action during object can comprise the color that changes hyperlink, the title of revising hyperlink solves about the problem of losing application program with indication and content that needs are visited and/or interpolation symbol in hyperlink or therefrom remove symbol.The notification action that other type also might be arranged is such as the highlight hyperlink, in the hyperlink circumscribes and/or add the animation (for example, flicker literal, literal etc. fades in/go out) of certain form to hyperlink.The user also can receive Email or sound notification and quote and/or assembly to have run into to its warning to lose.And the user can sweep hyperlink with reference to the hyperlink watch-list simply, to determine whether rapidly to need the targeted website of contact one correct ISV so that successfully loading is downloaded or the loss part of digital content and/or object.
And, the link that combined with access is correct and/or locate required link so that from the appropriate section of each ISV load software or digital content, the present invention can adopt various artificial intelligence schemes.For example, can promote to be used for explicit or implicit expression study is a pair of as if the process of the website of the ISV that such object or loss quote should be provided by heavy duty or search via automatic classification system and process.Classification can be adopted the action that automatically performs with prediction or deduction user expectation based on the analysis of probability and/or statistics (for example, resolving into analysis utilities and cost).For example, can adopt support vector machine (SVM) sorter.Can adopt other sorting technique of the probabilistic classification model that comprises Bayesian network, decision tree and different stand-alone modes are provided.Classification also comprises the statistical regression that is used to develop models of priority as used herein.
Can be by easily understanding in this instructions, the present invention (for example can adopt explicit training, via common training data) and the implicit expression training is (for example, via observing user behavior, receiving external information) sorter so that sorter is used to determine to return which answer to problem automatically according to predetermined criterion.For example, for the SVM of good understanding, dispose SVM via study in sorter constructor and the feature selection module or training stage.Sorter be with the input attributes vector x=(x1, x2, x3, x4 xn) maps to the function of the degree of confidence of class under this input, i.e. f (x)=confidence (class).As shown in Figure 5, can adopt artificial intelligence (AI) assembly 550 to infer and/or determine when, locate correct ISV where, how so that the loss part of downloaded software and/or digital content.AI assembly 550 can adopt that above combination is convenient to that each side of the present invention describes various suitable based in the scheme of AI any.
Fig. 6 a and 6b show an ISV and the 2nd ISV arrangement about client and/or final user's machine.As shown in the arrangement of Fig. 6 a, ISV
1610 and ISV
2620 can share with one deck client and control.For example, ISV
1610 can provide application program 630 to client/final user 650, and this need be from ISV
2620 Structured Query Language (SQL) (SQL) 640.Such ISV
2620 can directly provide true(-)running institute down load application program required SQL assembly 640 to client 650.Similarly, the arrangement according to Fig. 6 b provides ISV to client computer and the software control in various degree of being distributed.
Fig. 7 shows the ISV that software 1 to m (wherein, m is an integer) is provided
1702 and ISV
2The sequence of the query steps between 704.Communication itself can be carried out via safe lane.ISV
2704 can comprise service side secure network storehouse 710, and it can further comprise, and the IP layer is realized, side TLS, the realization of HTTP storehouse, web service provider interface and web service are realized, served to service side TCP layer.ISV
2704 also can comprise and are used to protect ISV
2704 and ISV
1The Internet Key Exchange of the network service between 702 (IKE) subsystem 708.ISV
2704 can comprise that also policy module 711 is to allow configuration IKE subsystem 708.Policy module 711 also can provide security configuration information to secure network stack 710, and this will transmit via TCP/IP driver 754, thereby allow ISV
2704 and ISV
1Secure network communications between 702.
ISV
2704 can deposit and receive the one group of message that is used for providing to entity digital certificate.For example, at 714 places, buying assembly can be to ISV
2The purchase inquiry of the various software offerings of 704 inquiries.Then, at 716 places, to ISV
2704 pass the inquiry response of various softwares of sign and terms of service back.Subsequently, at 718 places, to ISV
2704 transmit the bill inquiry.Can prepare the response that requires about the various record keeping of providing digital certificate then and it be beamed back ISV at 720 places
1
Then, ISV
1Can select required purchase plan, at ISV
2704 and ISV
1Exchange is bought request to 722 (a) and 722 (b) between 702.Similarly, can be at ISV
2704 and final user's machine between exchange one group polling and response (not shown) with request to the renewal of software and patch etc. is provided.Buy and more new element also can comprise final user's machine or ISV
1702 to ISV
2The mechanism of 704 authentications oneself.
Fig. 8 shows the ISV that download can be provided according to an aspect of the present invention
1The block diagram of 800 systems.This system can comprise can be mutual so that follow the tracks of mandate, safety, affirmation and checking client computer or another ISV with ISV storehouse 814
2The ISV manager 810 that is attached thereto.Also the loading ultimate value that can be provided by ISV manager 810 is to determine whether will begin, suspend, recover and/or stop request and ISV
1Data on any machine of 800 exchanges data transmit so that the processing for example on many machines of balance, and this can reduce the burden of any machine.Generally, when initiation message transmission session (for example, connect), ISV manager 810 can be this session and generates and connect example.Can use and indicate the information of client computer for example, software download, related other ISV, message and/or connection ID (for example, keep alive message) to fill the connection example.Such information can be used for beginning ISV
1With client computer or another ISV
2Between message transmit.And, can use connection ID to follow the tracks of the interior transmission of messages of different machines.
Connecting example can also dynamically update, so that reflect transmission progress and transmission history is provided.For example, can make indication by the mark of any part of successfully transmitting or fail (comprising entire message or software download) be connected example and be associated.Transmission history can comprise with transmission beginning and finish, suspend and recovery, communication activity error level, submit to once more, the relevant information such as change of service-delivery machine.
For example, when calling ISV
1800 connect so that download when giving client computer or final user, and ISV manager 810 can be followed the tracks of machine identity (for example, overall unique identity, i.e. GUID) so that generate into the connection example for such connection.Connect example and can comprise the identity that software download will be given its any machine via systematic parameter as the part in ISV storehouse 814.Such information can be used to locate required machine and verifies required machine and adapter can visit or correctly be deposited.Comprise the indication client computer and/or from the information of the message of other ISV, then such information also can be comprised with connecting example if call.This information can be used for location and checking client computer and institute's downloaded software.In addition, connection ID can be comprised and be used as the key that is connected example with required download parameter, and is used for managing the transmission session by ISV manager 810.Be appreciated that on ISV side or the client-side and can ask to connect, as the part of a plurality of distributed machines more than one machine.For example, during the download session between ISV and the final user, another ISV can add in the existing download session, and the download illustration of retrieval high-speed cache, to observe and/or to participate in such download session.
Fig. 9 illustrates fractionation method for down loading 900 according to an aspect of the present invention.Although illustrative methods is illustrated and is described as representing a succession of frame of each incident and/or action herein, the present invention is not subjected to the sequence limit that illustrates of such frame.For example, according to the present invention some action or incident can by different with the order that illustrates herein occur in sequence and/or with other action or the concurrent generation of incident.In addition, be not the frame shown in all, incident or action all be to realize that the method according to this invention is necessary.And, be appreciated that according to illustrative methods of the present invention and other method and can realize explicitly with the method that illustrates and describe herein and realize explicitly with other system and device not shown or that describe.
At 910 places, the first of software or digital content is downloaded to the final user at the beginning by an ISV.Then, at 920 places, the request of the notice of the download that the 2nd ISV reception is such and the first of additional institute downloaded software.At 930 places, the 2nd ISV downloads the second portion of ISV to the final user subsequently.Like this, the application program that the final user can be downloaded in the true(-)running of 940 places then, this application program is downloaded to split form by first and second ISV.
With reference now to Figure 10,, shows concise and to the point, the general description of the suitable computing environment that can realize each side of the present invention therein.Although described the present invention in the general context of the computer executable instructions of the above computer program that on and/or many computing machines, moves, those skilled in the art will recognize that the present invention also can realize in conjunction with other program module.Generally speaking, program module comprises routine, program, assembly, data structure etc., and they are carried out specific task and/or realize specific abstract data type.And, it will be appreciated by those skilled in the art that, the inventive method can use other computer system configurations to realize, comprise uniprocessor or multiprocessor computer system, minicomputer, large scale computer and personal computer, hand-held computing equipment, based on microprocessor or programmable consumer electronics etc.As previously mentioned, aspect shown in the present can realize in distributed computing environment that also task is carried out by the teleprocessing equipment that links by communication network in distributed computing environment.Yet, even can realize on unit among the present invention that not being all also is aspect some.In distributed computing environment, program module can be arranged in the Local or Remote memory storage device.This exemplary environments comprises: computing machine 1020, computing machine 1020 comprise processing unit 1021, system storage 1022 and system bus 1023.System bus 1023 will comprise that the various system components of system storage are coupled to processing unit 1021.Processing unit 1021 can be any processor that can buy on the various markets.Dual micro processor and other multiprocessor architecture also can be used as processing unit 1021 and use.
System bus can be any in some types of bus structures, the local bus that comprises USB, 1394, peripheral bus and use in the bus architecture that can buy on the various markets any.System storage can comprise ROM (read-only memory) (ROM) 1024 and random-access memory (ram) 1025.Basic input/output (BIOS) includes the basic routine of the information of transmitting between the element when helping such as startup in computing machine 1020, it is stored among the ROM 1024.
Computing machine 1020 also comprises hard disk drive 1027, for example reads and writes the disc driver 1028 of removable dish 1027 and for example read and write CD-ROM dish 1031, perhaps reads and writes the CD drive 1030 of other optical medium.Hard disk drive 1027, disc driver 1028 and CD drive 1030 can be connected to system bus 1023 by hard disk drive interface 1032, disk drive interface 1033 and CD drive interface 1034 respectively.Driver and the computer-readable medium that is associated thereof provide non-volatile memories to data, data structure, computer executable instructions etc. for computing machine 1020.Although hard disk, moveable magnetic disc and CD are mentioned in above description to computer-readable medium, but it should be appreciated by those skilled in the art, the medium of computer-readable other type, such as tape cassete, flash card, digital video disc, Bei Nuli magnetic tape cassette etc., also can in the exemplary operation environment, use, and any such medium can comprise the computer executable instructions that is used to carry out method of the present invention.
A plurality of program modules can be stored among driver and the RAM 1025, comprise operating system 1035, one or more application program 1036, other program module 1037 and routine data 1038.Shown in operating system 1035 in the computing machine can be any basically commercially available operating system.
The user can be by keyboard 1040 and next to computing machine 1020 input commands and information such as the pointing device of mouse 1042.Other input equipment (not shown) can comprise microphone, operating rod, game paddle, satellite dish, scanner etc.These and other input equipment is connected to processing unit 1021 by the serial port interface 1046 that is coupled to system bus usually, but can be connected by other interface, such as parallel port, game port or USB (universal serial bus) (USB).The display device of display monitor central monitoring system 1047 or other type also is connected to system bus 1023 by the interface such as video adapter 1048.Except that display monitor central monitoring system, computing machine generally comprises other peripheral output device (not shown), such as loudspeaker and printer.
Computing machine 1020 can use to one or more remote computer, is connected in the networked environment such as the logic of remote computer 1047 and operates.Remote computer 1047 can be workstation, server computer, router, peer device or or other common network node, and generally comprise a plurality of or whole elements of describing with respect to computing machine 1020, in Figure 10 although memory storage device 1050 only is shown.Logic shown in Figure 10 connects and comprises Local Area Network 1051 and/or wide area network (WAN) 1052.Such networked environment is common in office, enterprise-wide. computer networks, Intranet and the Internet.
When using in the LAN networked environment, computing machine 1020 can be connected to LAN (Local Area Network) 1051 by network interface or adapter 1053.When using in the WAN networked environment, computing machine 1020 generally can comprise modulator-demodular unit 1054, and/or is connected to the communication server on the LAN, and/or has other device that is used for by such as WAN such as the Internet 1052 foundation communications.Modulator-demodular unit 1054 can be internal or external, and it is connected to system bus 1023 by serial port interface 1046.In networked environment, program module or its part described with respect to computing machine 1020 can be stored in the remote memory storage device.It is exemplary that network shown in being appreciated that connects, and can use other means of setting up communication linkage between computing machine.
According to the technician's in computer programming field practice, unless indication is arranged in addition, otherwise the present invention has been described with reference to the action of carrying out such as the computing machine of computing machine 1020 and the symbolic representation of operation.Such action and operation are called as the computing machine execution sometimes.Be appreciated that the action and the operation of symbolic representation comprise that processing unit 1021 his-and-hers watches show that the electric signal of data bit causes the manipulation of conversion that electric signal represents or minimizing and in accumulator system (comprising system storage 1022, hard disk drive 1027, diskette 1 028 and CD-ROM 1031) thus memory location in the maintenance of data bit is reconfigured or changes the operation of computer system and to other processing of signal.The memory location of wherein safeguarding such data bit is the physical location with specific electricity, magnetic or light attribute corresponding to data bit.
With reference now to Figure 11,, shows the client-server system 1100 of the fractionation download that can adopt according to an aspect of the present invention.Client computer 1120 can be hardware and/or software (for example, thread, process, computing equipment).System 1100 also comprises one or more servers 1140.Server 1104 also can be hardware and/or software (for example, thread, process, computing equipment).For example, such clothes machine 1140 can hold by adopting the present invention to carry out the thread of conversion.Client computer 1120 can be communicated by letter according to the form of the data packets for transmission according to the present invention between two or more computer processes with server 1140.As shown in the figure, system 1100 comprises the communication construction of communicating by letter 1180 that can be convenient between client computer 1120 and the server 1140.Client computer 1120 can be connected to one or more client data storages 1110 that can be used to store to the information of client computer 1102 this locality in operation.And client computer 1120 is addressable and upgrade database 1160 on the server computer 140 that is positioned at the runtime server process.In one aspect of the invention, communication construction 1180 can be the Internet, and client process is a Web browser, and server processes are Web servers.Therefore, typical client computer 1120 can be a multi-purpose computer, such as having CPU (central processing unit) (CPU), system storage, being used for that personal computer is connected to the modulator-demodular unit of the Internet or network interface card, display and such as the conventional personal computer of other assemblies such as keyboard, mouse.Similarly, typical server 1140 can be university or company's large scale computer or special purpose workstation etc.
Figure 12 shows and use to split downloads the example system 1200 that is used to buy with distributing software.System 1200 comprises a plurality of ISV 1202 that are configured to provide to the client such as client's equipment 1208 software.Each ISV is configured to provide the part of software.The part that is provided by different I SV is downloaded then and is used to make up complete software.For example, client's equipment 1208 can comprise the download manager (DLM) 1210 of the download that is used for the management software each several part.
As shown in Figure 12, system 1200 also comprises record merchant (MOR) 1204, transfer management device (TM) 1212 and authorizes merchant (AUM) 1206.MOR 1204 is the businessman that are in charge of and support the sale of the software that provided by ISV.MOR 1204 can be configured to handle transaction support, income, pay to ISV 1202 etc.For example, MOR 1204 is configured to receive request so that buy software and generate transaction for buying from client's equipment 1208.MOR 1204 also is configured to upgrade from ISV 1202 receiving software discs.Renewal can comprise periodically Transaction Inquiries, charging information etc.TM 1202 is configured to the control documents request of transmitting and authorizes, and between MOR 1204 and ISV 1202 as the go-between of data transmission and charging information.AUM 1206 is the agencies that represent MOR 1204 action.AUM 1206 can bear any role of the MOR except that the agency of ISV 1202.But AUM is an optional component, and MOR 1204 can be directly and client's equipment 1208 mutual.
Buy in the scene in example software, client's equipment 1208 will comprise that the message 1251 of the order of specific software sends to AUM 1206.Order can comprise identifier, quantity, credit card information, personal information of software etc.AUM 1206 receives order, and will comprise that the message 1252 of the request that is associated with order sends to MOR1204.This request can comprise customer identifier, request identifier, geographic position, order etc.MOR 1204 receives request and generates the transaction that is associated with request.MOR 1204 sends to TM1212 with message 1253 with transaction.Message 1253 can comprise information and the out of Memory in the raw requests, such as the identifier of MOR 1204, transaction identifiers, sequence number, the data that are associated with client, status information etc.MOR 1204 sends to AUM 1206 with the message 1257 that comprises the information relevant with the transaction of AUM 1206.
TM 1212 receives transaction from MOR 1204, and with transaction message 1254 is sent to suitable ISV1202.Generally, TM 1212 sends to transaction the specific ISV of the each several part that the software of just buying is provided.In response, these specific I SV will comprise that the message 1255 of downloading mandate and relevant information sends to TM 1212, and these information can comprise ISV identifier, key, authorization data etc.TM 1212 receives message 1255, and will download mandate and relevant information sends to DLM 1210 in message 1256.MOR 1204 will comprise that the message 1258 about the information of order such as purchaser record, download location, software license etc. sends to client's equipment 1208.The communication that message 1258 can be used as such as any kinds such as Email, s-mail is sent out.DLM1201 sets up with ISV 1202 and communicates by letter 1259 so that download purchase software from the ISV that the software each several part is provided.DLM1201 provides the download mandate that receives from message 1256 to confirm that client is authorized to come downloaded software to ISV.
After download is finished, DLM 1210 will comprise that the message 1260 of affirmation sends to TM 1212.Message 1261 is sent to ISV 1202 to TM1212 and MOR 1204 downloads and finish transaction with affirmation.
Figure 13 shows to be used to handle the instantiation procedure 1300 of the order of the software that provides will be provided by fractionation.Process 1300 can be by the order of the record merchant realization that splits the downloaded software purchase system with process software.At frame 1302 places, receive the purchase order from client.Order can directly receive or receive from authorizing to discuss from client's equipment.At frame 1304 places, generate the transaction that is associated with software order.At frame 1306 places, transaction is sent to the independent software vendor that the software each several part is provided.At frame 1308 places, determine the purchase and the download message of this software.At frame 1310 places, provide purchase and download message to client.For example, information can offer client by Email.Generally, from independent source and obstructed overwriting merchant provides to client and download to authorize.At frame 1312 places, after the ISV downloaded software from client's confirmation of receipt.At frame 1314 places, finish transaction with ISV.
Aspect shown in some illustrates and describes although the invention relates to, and is appreciated that after reading and understanding this instructions and accompanying drawing that those skilled in the art can expect the change and the modification of equivalence.Especially for each function of carrying out by said modules (composite set, equipment, circuit, system etc.), unless indication is arranged in addition, otherwise the term (comprising quoting " device ") that is used to describe such assembly corresponding to any assembly of the function of the appointment of carrying out described assembly (for example is intended to, equivalence on function), even structurally different with the disclosed structure of the function of carrying out the present invention's illustrative aspects shown here.Thus, also can be familiar with, the present invention comprises system, and the computer-readable medium that contains the computer executable instructions that is useful on the action of carrying out each method of the present invention and/or incident.And, with regard to term " comprise ", " comprising ", " having ", " having " with and modification or in the detailed description or with regard on the employed meaning in claims, it is comprising property that these terms are intended to be similar to mode that term " contains ".