CN101203833A - Split download for electronic software downloads - Google Patents

Split download for electronic software downloads Download PDF

Info

Publication number
CN101203833A
CN101203833A CNA2006800153636A CN200680015363A CN101203833A CN 101203833 A CN101203833 A CN 101203833A CN A2006800153636 A CNA2006800153636 A CN A2006800153636A CN 200680015363 A CN200680015363 A CN 200680015363A CN 101203833 A CN101203833 A CN 101203833A
Authority
CN
China
Prior art keywords
isv
software
download
client
digital content
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2006800153636A
Other languages
Chinese (zh)
Other versions
CN100555221C (en
Inventor
Y·R·赫顿
C·S·布莱克雷
A·希卡
D·G·内奥特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN101203833A publication Critical patent/CN101203833A/en
Application granted granted Critical
Publication of CN100555221C publication Critical patent/CN100555221C/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

Systems and methods for a split download of Electronic Software Download (ESD), in a component based framework via employing a download distribution engine. The download distribution engine enables an independent software vendor (ISV) to download a respective portion of an associated software and/or digital content to a user, while a second ISV can supply another portion of the software and/or digital content.

Description

Be used for the fractionation download that electronic software is downloaded
Background
Be showing improvement or progress day by day (for example, microprocessor speed, memory span, data transfer bandwidth, the software functions etc.) of computer technology generally help the enhancing of computer utility in each industry.More and more strong server system is configured to server array usually, provides them to serve the request of initiating from such as external sources such as for example WWW usually.
Become increasingly complex along with software systems become, download and make up such system from a plurality of objects and file usually.For example, software systems can comprise hundreds of files or object, and wherein making up software or application program system can carry out on one or more structure machines, and is downloaded to intermediate storage.Such structure machine and downloading process can for example compile, collects, link and/or instrument of interpretation or object.Generally, object oriented calculation is based on object model, and the code that wherein is called as " object " comprises data (for example, attribute) and can carry out action (for example, operation) thereon.Object can be by its interface definition, and the wherein feature of a kind of object of interface definition and behavior comprises and can have the operation carried out on the object of this interface and the parameter of each operation.The particular instance of object is identified by the unique identifier that is called as object reference in distributed object system.
Can be at the numerous required files in each stage structure complex software product, the therefore file that needs multiple source and/or generated/set up.The file that may be generated by a part of the process of structure is as the input of one or more other parts of the process of structure, and the structure machine can have the complete copy of source file.For example, if make up machine A spanned file A1, make up machine B spanned file B2, may need file B1 to produce file A2 and make up machine A, making up machine B may need file A1 to produce file B2.
In distributed object system, client computer also can be created as the agency of the object imaging on the server.Generally, the agency is the mirror image of object, and wherein object resides in Different Logic and/or the physical entity (for example, machine, process, network etc.).In distributed system, the agency can be convenient to local the processing to improve efficient.Can be realized first set of one or more interfaces and base class data types by the object of imaging.And such object can require first set of one or more attributes of proxy load and/or method with to this object imaging.When being acted on behalf of by the Object Creation of imaging, interface and base class data types that this object is realized generally are loaded in the client computer automatically.
Make up necessary file distributing give to make up related structure machine be network bandwidth sensitivity finishing software systems, require the bulk information transmission, wherein some may be destroyed even not available during uploading.For example, a structure machine may only need ten files to finish it and make up part, and another structure may need 200 files to finish it to make up part, and the file of a loss or object Ke Yin for example can't correctly load when reading, confirming or carrying out and hinder must application program proper operation.
Simultaneously, the proper operation of application program or program may require the download from a plurality of independent software vendor.Can cause poor efficiency to the streamline develop and field of institute's downloaded software like this.For example, authentication and market transmittance process may affect adversely.And from business policy position, software vendor may expect directly to supply its software to the final user, can visit it and need not another software vendor.And, there is license restrictions in the electronic distribution of such software.In addition, software developers can not be distributed to its work the platform that they think " potential hostile ", for example when having the possibility of swindle, wherein issues license and can not be guaranteed to authorisation device.
Thereby, need overcome the aforementioned exemplary deficiencies that is associated with conventional system and equipment.
Summary of the invention
Below presented the general introduction of simplification of the present invention, so that the basic comprehension to some aspect of the present invention to be provided.This general introduction is not a general survey widely of the present invention.It is not intended to identify the element of key/critical of the present invention, does not describe scope of the present invention yet.Its sole purpose be with the form of simplifying present as after some notion of the present invention of the preamble in greater detail that presents.
The present invention allows to allow each independent software vendor (ISV) that the appropriate section of its software and/or digital content is downloaded to next fractionation of user's download distribution engine via employing and downloads electronic software download (ESD) in based on the framework of assembly.Therefore, download distribution engine can provide the exchanges data between an ISV and the 2nd ISV, so that provide such as following information: will download each several part to the user, user's download so that any additional or supplemental component, licence that true(-)running software still needs require, record keeping process etc. from each ISV in the software.Illustrate in the context of the exchange between an ISV and the 2nd ISV that mainly the present invention does not so limit though be appreciated that description herein, and can be implemented as the part of three or above ISV.In addition, of the present invention aspect some in, an ISV can be the entity identical with the 2nd ISV.
In related fields, download distribution engine also can comprise observes software and/or the download of digital content from an ISV to the user, and provides the supervisor engine of installation from the process of all the other component softwares of the 2nd ISV to the user.For example, after the download from an ISV starts, can in the backstage, transmit token to provide download message (for example to the 2nd ISV, sign, keep accounts, permission requires, version provides, authentication, safety, access rights, Digital Right Management etc.), wherein the 2nd ISV can be prompted to provide the right version of wanting downloaded software (for example, being used for specific geographic position, language etc.).Therefore, client/final user can enjoy seamless experience when downloaded software.The download from an ISV and the 2nd ISV like this can concurrently be carried out or carry out according to predetermined space, or can delay under the situation that sends the prompting announcement to client/final user.And, can enable interrupt capabilities as downloading a part that splits, wherein the state of Xia Zaiing can be logged and/or follow the tracks of based on user's request.
According to another aspect of the invention, download distribution engine of the present invention can comprise that detection need be from the detector module of the loss of the first or the 2nd ISV downloaded software part, and informs that the user goes where to download and lose part and/or obtain about solving additional information with the problem of the loss part correlation connection of institute's downloaded software so that to its notification component of replenishing.General like this correct affirmation and/or the execution of guaranteeing final user institute downloaded software (or digital content).
Thereby product can make up from a plurality of small pieces therein, and in the component driven architecture such as the bag that comprises one group of function, download distribution engine of the present invention can promote downloading process, reduces permission and safety problem simultaneously.Like this, each ISV can safeguard the essential control to its software dispatch.And, can be easy to by correct ISV for corresponding download provide recall, patch etc.In addition, can carry out the distribution of licence bundle, wherein can pass on digital right management tokens to the user.
In another aspect, provide to use and split being used to of downloading and buy system with distributing software.This system comprises a plurality of ISV, record merchant and download manager.Each ISV is configured to provide the part of downloadable software, and wherein each part is provided by independent ISV.The record merchant is configured to handle the order from client's downloadable software.Record merchant also is configured to generate the transaction that is associated with this order and this transaction is offered ISV.Download manager is the client component in client's equipment.Download manager is configured to make up complete software from the each several part of ISV downloaded software and from the part of being downloaded.
In order to finish aforementioned and relevant purpose, then the present invention includes each feature of hereinafter all describing.The following description and drawings are described some illustrative aspect of the present invention in detail.Yet a small amount of in the variety of way that can adopt principle of the present invention only indicated in these aspects.Others of the present invention, advantage and novel feature will be conspicuous after considering in conjunction with the accompanying drawings to describe in detail below of the present invention.
The accompanying drawing summary
Fig. 1 shows the schematic block diagram of download distribution engine according to an aspect of the present invention.
Fig. 2 shows the schematic block diagram based on the environment of assembly of the download distribution engine that has according to an aspect of the present invention.
Fig. 3 shows the exemplary download distribution engine according to an illustrative aspects of the present invention.
Fig. 4 shows the detailed diagram that can supply about the distribution resolver of the information of the loss part of the software/digital content according to a particular aspect of the invention downloaded.
Fig. 5 shows the general block diagram as the supervisory system of the part of according to a further aspect in the invention download distribution engine.
Fig. 6 a and 6b show an ISV and the 2nd ISV arrangement about client and/or final user's machine according to a particular aspect of the invention.
Fig. 7 shows the exemplary sequence of the query steps between an ISV and the 2nd ISV according to an aspect of the present invention.
Fig. 8 shows the example architecture of the ISV of detachable download according to a particular aspect of the invention.
Fig. 9 shows the illustrative methods that splits between an ISV and the 2nd ISV being loaded under the software/digital content to the final user.
Figure 10 shows concise and to the point, the general description of the suitable computing environment that wherein can realize each side of the present invention.
Figure 11 shows the client-server system that can adopt download distribution engine according to an aspect of the present invention.
Figure 12 shows and use to split downloads the example system that is used to buy with distributing software.
Figure 13 shows to be used to handle the instantiation procedure of the order of the software that provides will be provided by fractionation.
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 ".

Claims (20)

1. system that the fractionation of being convenient to digital content is downloaded comprises:
Download distribution engine provides information about the loss part of the digital content downloaded to independent software vendor (ISV); And
The additional digital content that is provided by described independent software vendor is used to make the digital content of being downloaded complete.
2. the system as claimed in claim 1 is characterized in that, described download distribution engine comprises the detector module that detects described loss part.
3. the system as claimed in claim 1 is characterized in that, described download distribution engine also comprises to the user informing where download the described notification component of losing part or obtaining the additional information of the problem that joins about solution and described loss part correlation.
4. the system as claimed in claim 1 is characterized in that, described download engine also comprises providing installs the described watch-dog assembly of losing the process of part.
5. system as claimed in claim 4 is characterized in that, described watch-dog assembly is provided for downloading the described real-time hyperlink of losing part from described ISV.
6. the system as claimed in claim 1 is characterized in that, described download distribution engine also comprises determines the described distribution resolver of losing the download availability of part.
7. system as claimed in claim 6 is characterized in that, described distribution resolver also comprises obtains the metadata reader assembly of losing the information of part about described.
8. method that splits download digital content comprises:
Download the first of described digital content by an ISV; And
Provide information to the 2nd ISV about described download action.
9. method as claimed in claim 8 is characterized in that, also comprises the action that is started the first that downloads described digital content by the final user.
10. system that the fractionation of being convenient to digital content is downloaded comprises:
Be used for providing device about the information of the loss part of the digital content downloaded to ISV; And
Be used for replenishing the device of described digital content.
11. computing equipment that is used to provide downloadable software, described computing equipment is configured to a plurality of independent software vendor (ISV) mutual, each ISV is configured to provide the part of described downloadable software, described computing equipment also is configured to receive the order of buying described downloadable software from client devices, and the transaction that is associated with described order of generation, described computing equipment also is configured to described transaction is offered described ISV, and information is offered described client devices so that download the each several part of described software from described ISV.
12. computing equipment as claimed in claim 11 is characterized in that, each part of described downloadable software is provided by independent ISV, and all described parts all are that the complete software of described client devices structure is necessary.
13. computing equipment as claimed in claim 11 is characterized in that, described client devices is configured to by authorizing the merchant to come with described computing equipment mutual.
14. a system that is used to buy with distributing software comprises:
A plurality of independent software vendor (ISV), each ISV is configured to provide the part of downloadable software, and each part of described downloadable software is provided by independent ISV;
Record merchant is configured to handle the order to described downloadable software from client, and described record merchant also is configured to generate the transaction that is associated with described order and described order is offered described ISV;
With the download manager that described client is associated, described download manager is configured to download from described ISV the each several part of described software, and makes up complete software from the part of being downloaded.
15. system as claimed in claim 14, it is characterized in that, also comprise the transfer management device, the described transaction that it is configured to be generated by described record merchant offers described ISV, described transfer management device also is configured to receive download from described ISV authorizes, and described download mandate is offered the each several part that described client is used for downloading from described ISV described software.
16. system as claimed in claim 14 is characterized in that, it is necessary that all described parts all are that described download manager makes up described complete software.
17. system as claimed in claim 14 is characterized in that, also comprises authorizing the merchant, is configured to as the agency of described record merchant processing from described client's described order.
18. the device-readable medium of one or more use machine executable instructions codings, described instruction comprises:
Receive the order of buying downloadable software from client;
Generate the transaction that is associated with described order;
Identify a plurality of ISV, each ISV provides the part of the described software in the described order, and all described parts all are that the complete software of structure is necessary;
Described transaction is offered described ISV;
Definite purchase and download message that is associated with described transaction; And
Described purchase and download message are offered described client.
19. one or more device-readable medium as claimed in claim 18 is characterized in that, described order receives from described client by authorizing the merchant.
20. one or more device-readable medium as claimed in claim 18 is characterized in that described transaction offers described ISV by the transfer management device.
CNB2006800153636A 2005-05-31 2006-04-21 Be used for the fractionation download system that electronic software is downloaded Expired - Fee Related CN100555221C (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US68636805P 2005-05-31 2005-05-31
US60/686,368 2005-05-31
US11/246,512 2005-10-07

Publications (2)

Publication Number Publication Date
CN101203833A true CN101203833A (en) 2008-06-18
CN100555221C CN100555221C (en) 2009-10-28

Family

ID=39518089

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006800153636A Expired - Fee Related CN100555221C (en) 2005-05-31 2006-04-21 Be used for the fractionation download system that electronic software is downloaded

Country Status (2)

Country Link
CN (1) CN100555221C (en)
ZA (1) ZA200708899B (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102438031A (en) * 2011-03-11 2012-05-02 奇智软件(北京)有限公司 Transmission resuming downloading method and system
CN103270527A (en) * 2010-08-06 2013-08-28 Tapjoy公司 System and method for rewarding application installs
CN104735154A (en) * 2011-03-11 2015-06-24 北京奇虎科技有限公司 Continuously transferring downloading method and system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103270527A (en) * 2010-08-06 2013-08-28 Tapjoy公司 System and method for rewarding application installs
CN103270527B (en) * 2010-08-06 2017-05-10 Tapjoy公司 System and method for rewarding application installs
CN102438031A (en) * 2011-03-11 2012-05-02 奇智软件(北京)有限公司 Transmission resuming downloading method and system
CN104735154A (en) * 2011-03-11 2015-06-24 北京奇虎科技有限公司 Continuously transferring downloading method and system

Also Published As

Publication number Publication date
ZA200708899B (en) 2009-01-28
CN100555221C (en) 2009-10-28

Similar Documents

Publication Publication Date Title
RU2424552C2 (en) Split download for electronic software download
JP6894944B2 (en) Application implementation methods, devices, devices and storage media based on blockchain networks
CN104604201B (en) For providing the infrastructure of cloud service
KR100846530B1 (en) Method and apparatus for providing computer services
US7093247B2 (en) Installation of a data processing solution
US9098555B2 (en) Method and system for health scoring information systems, users, and updates
US8645326B2 (en) System to plan, execute, store and query automation tests
US20210096975A1 (en) Digital twin maturation tracking
CN105027108B (en) Example host is configured
CN1639723A (en) Method and system for processing credit card related transactions
CN104769911A (en) Multi-domain identity management system
CN105359147A (en) Online database migration
CN109636504A (en) Information processing method and device, electronic equipment and storage medium
EP2188740A2 (en) Software marketplace and distribution system
CN109710228A (en) A kind of middleware engine frame system can be applied to electric business B2B transaction platform
CN111782551B (en) Test method and device for block chain item and computer equipment
US8175994B2 (en) Method and system for self-learning issues remediation
CN100555221C (en) Be used for the fractionation download system that electronic software is downloaded
US20020111840A1 (en) Method and apparatus creation and performance of service engagement modeling
US20110113007A1 (en) Flex Computing End-User Profiling
US20060282392A1 (en) Method and apparatus for dynamically controlling the selection and redundancy of web services components
CN115983853A (en) Client side green electricity application service method and system based on block chain and electronic equipment
Yerabolu et al. DeepMarket: An edge computing marketplace with distributed tensorflow execution capability
CN111429216A (en) Online room source locking method and system based on user finite opportunity
US20240111273A1 (en) Performance-based smart contracts in industrial automation

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150519

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

Effective date of registration: 20150519

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20091028

Termination date: 20160421