[go: up one dir, main page]

MX2007013603A - Split download for electronic software downloads - Google Patents

Split download for electronic software downloads

Info

Publication number
MX2007013603A
MX2007013603A MXMX/A/2007/013603A MX2007013603A MX2007013603A MX 2007013603 A MX2007013603 A MX 2007013603A MX 2007013603 A MX2007013603 A MX 2007013603A MX 2007013603 A MX2007013603 A MX 2007013603A
Authority
MX
Mexico
Prior art keywords
software
download
isv
isvs
digital content
Prior art date
Application number
MXMX/A/2007/013603A
Other languages
Spanish (es)
Inventor
R Hutton York
S Blackley Christopher
Sikka Ajay
G Neault Danial
Original Assignee
Microsoft Corporation
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 Corporation filed Critical Microsoft Corporation
Publication of MX2007013603A publication Critical patent/MX2007013603A/en

Links

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

SCA GA DE DI ISION FOR ELECTRONIC SOFTWARE DOWNLOADS BACKGROUND I Increasing advances in computer technology (eg, microprocessor speed, memory capacity, broadband data transfer, software functionality, and similar) have generally contributed to the improved computer application in several industries. More powerful server systems, which are often configured as a server order, are commonly provided to serve requests that originate from external sources such as the Great World Network, for example. Although software systems become more complicated, it has become common to download and build such systems from a plurality of objects and files. For example, a software system may include hundreds of files or objects, wherein the building software or application system (s) may undertake one or more construction machines, and download to an intermediate storage facility. Such construction machines and download procedures can collect, assemble, link, and / or interpret files or objects, for example. Typically, object-oriented computation is based on the object model, where pieces of code called "objects" contain data (for example, example, attributes) and may have actions (for example, operations) performed on it. An object can be defined by its interface, where the interface defines the characteristics and behavior of an object class, which includes the operations that can be performed on objects of that interface and the parameters for each operation. A specific case of an object identified within an object system distributed by a unique identifier called an object reference. Many of the requisite files in the completed software product can be constructed in several stages, thus a plurality of sources and / or generated / constructed files are required. The files generated by a part of the construction procedure may be required as inputs to one or more other parts of the construction procedure, and the construction machines may have complete copies of the source files. For example, if a construction machine A generates an A1 file, and a construction machine B generates a B2 file, the building machine a may need the B1 file to produce an A2 file, and building machine B may need the file A1 to produce the B2 file. In a distributed object system, a client can also create a Proxy (substitute) that makes images of an object in a serviclor. Typically, a proxy is an image of an object where the object resides in a different logical and / or physical entity (eg, machine, procedure, network, and the like). In systems distributed, proxies can facilitate local processing to improve efficiency. The object from which images were created can first implement a group of one or more interfaces and data types [of base class. In addition, such objects may require the Proxy to load a first group of one or more attributes and / or methods to image the object. When the Proxy is created from the object from which images are formed, the interface and the types of base data implemented by the object are typically automatically loaded into the client (the distribution of files necessary to complete the construction of the software system at the construction machines involved in the intensive network broadband, requires large transfers of information, some of which can run or even become unavailable during a load.For example, a construction machine can only need ten files to complete its portion of construction, while another construction machine may need two hundred files to compile your portion of the construction, and even a missing file or object may prevent proper operation of a requisition application, for example when failing to load properly during reading, validation or execution, at the same time, downloading s of a plurality of independent software vendors may be required for proper operation of an application or program. Such can create inefficiencies in directing the development and deployment of software descajrgado. For example, the certification and delivery procedure for marking may be adversely affected. In addition, from a business policy point of view, a software vendor may wish to supply its software directly to an end user, without another software vendor gaining access to it. In addition, software developers will not distribute their work to platforms they consider "potentially hostile," for example, when there is a possibility of fraud, where no guarantee is available that a license is issued to an authorized device. Therefore, there is a need to overcome the illustrative deficiencies mentioned above associated with conventional systems and devices.
BRIEF DESCRIPTION OF THE INVENTION The following presents a simplified compendium of the invention in order to provide a basic understanding of some aspects of the invention. This compendium is not an extensive review of the invention. It is not intended to identify key / critical elements of the invention or to delineate the scope of the invention. Its purpose is to present some concepts of the invention in a simplified form as a prelude to the more detailed description that is presented later. The invention in question provides a division discharge of Electronic Software Download (ESD) in a component-based structure, through the use of a cjescarga distribution machine that allows each independent software vendor (ISV) to download a respective portion of its software and / or digital cjontenido for a user. As such, the download distribution machine can provide data exchange between a first ISV and a second ISV, to provide information such as: portions of the software to be downloaded from a user of each ISV, any additional or supplementary component that he The user still requires to download for proper operation of the software, licensing requirements, billing procedures and the like. It will be appreciated that even though the description is examined here mainly in a context for an interaction between the first ISV and the second ISV, the invention in question is not so limited and can be implemented as part of three or more ISVs. Furthermore, in some aspects of the invention in question the first ISV may be the same entity as the second ISV. In a related aspect, the distribution machine may further include a monitoring component to observe the download of software and / or digital content from the first ISV to the user, and provide a procedure for installing the remaining software components of the second ISV to the user. For example, with the initiation of the first ISV download, a signal can be passed to the ISV segulndo in the background to provide download information (for example, identification, billing, license requirement, version, authentication, security, access rights, digital rights management, and the like), where the second ISV can be propelled to supply the appropriate version of the software to be downloaded (by example, for a particular geography, language, and the like). In this way, the consumer / end user can enjoy a uniform experience when downloading the software. Such discharge of the prtimer ISV and the second ISV may occur concurrently or in predetermined intervals, or be deferred to a later time with remaining news sent to the consumer / end user. In addition, interrupt capabilities can be allowed as part of the download division, where a download status can be recorded and / or tracked based on a user request. According to another aspect of the invention in question, the download distribution machine of the invention in question may include a detector component, which detects a missing portion of the software it needs to download from the first or second ISV, and a notification component that notifies a user where to download the missing portion and / or obtain additional information about resolving problems associated with the missing portion of the downloaded software for a supplement thereof. Such can typically ensure proper validation and / or execution of software (or digital content) downloaded by the end user. Therefore, in architectures driven by component Where a product can be constructed from a plurality of small parts, such as packages containing a group of functionalities, the discharge distribution machine of the invention in question can facilitate the unloading procedure, while mitigating problems with a license. and security issues. As such, each ISV can maintain requirement control in its software distribution. In addition, reminders, groups and the like can easily be provided by the appropriate ISV for the respective discard. Additionally, a distribution of group licenses can occur, where the digital right management signals can be converted by users. In another aspect, a system for purchasing and distributing software using split download is provided. The system includes multiple ISVs, a registry merchant and a download administrator. Each ISV is configured to provide a portion of downloadable software where each portion is provided by a separate ISV. The record merchant is configured to control an order for a client's downloadable software. The record merchant is also configured to generate a transaction associated with the order and to provide the transaction to the ISVs. The download manager is a clientje component in the consumed device. The download manager is configured to download portions of the ISVs software and to build the complete software of the unloaded portions.
For the realization of the above and related purposes, the invention, then. Understand the features here more fully described. The following description and the accompanying drawings mention in detail certain illustrative aspects of the invention. However, these aspects are indicative of a few in various ways in which the principles of the invention may be employed. Other aspects, advantages and novel features of the invention will be apparent from the following detailed description of the invention when considered in conjunction with the drawings. i BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 illustrates a schematic block diagram of a discharge distribution machine according to an aspect of the invention in question. Figure 2 illustrates a schematic block diagram of a component-based environment with a discharge distribution machine according to an aspect of the invention in question. Figure 3 illustrates an illustrative discharge distribution machine according to an illustrative aspect of the invention in question. Figure 4 illustrates a detailed block diagram of a distribution resolver that can provide information about missing parts of downloaded software / digital content from agreed with a particular aspect of the invention in question. Figure 5 illustrates a general block diagram of a monitoring system as part of a discharge distribution machine according to another aspect of the invention in question. Figures 6a and 6b illustrate provisions of a first ISV and a second ISV, in relation to customers, and / or end-user machines, according to a particular aspect of the invention in question. Figure 7 illustrates an illustrative sequence of consililta steps between a first ISV and a second ISV according to an aspect of the invention in question. Figure 8 illustrates an illustrative architecture for an ISV that can download by division according to a particular aspect of the invention in question. Figure 9 illustrates an illustrative methodology of dividing a software / digital content download to an end user between the first ISV and a second ISV. Figure 10 illustrates a brief general description of a suitable computing environment in which the various aspects of the invention in question can be implemented. Figure 11 illustrates a client-server system that can operate a discharge distribution machine in accordance with an aspect of the present invention. Figure 12 shows an illustrative system for buying and distributing software using split download. 1 or Figure 13 shows an exemplary procedure for processing an < j > rden so that the software is provided by download of DETAILED DESCRIPTION OF THE INVENTION The invention will now be described with reference to the drawings, where similar reference numbers are used to refer to similar elements herein. In the following description, for purposes of explanation, numerous specific details are mentioned in order to provide a complete understanding of the intention in question. It may be evident, however, that the invention can be practiced without these specific details. In another case, the well-known structures and devices shown in block diagram form in order to facilitate describing the invention. As used in this application, the terms "component" and "system" are intended to refer to a computer-related entity, whether hardware, a combination of hardware and software, software, or sofa in execution. For example, a component can be, but is not limited to, a procedure that runs a procreator, a processor, an object, an executable, an execution row, a program, and / or a computer. By way of illustration, both an application running on a server and the server can be a component. One or more components can . I residijr within a procedure and / or row of execution, and a component can be located in a computer and / or distributed deliveries or more computers. Referring initially to Figure 1, a schematic block diagram of a discharge distribution machine according to one aspect of the invention is illustrated. Such a download distribution machine 100 allows N independent software vendor / content (ISV) 102, 104, 106 (where N is an integer) to download a respective portion of its software and / or digital content to M user (s) end 101, 103, and 105, (M is an integer). Such end users may include devices such as palm pilots, personal digital assistants, media players, television sets, computers, and the like. In addition, the end user (s) 101, 103, 105 may be part of a network system 107 that may be a system area network and another type of network, and may include several hosts, (not shown), which may be personal computers, servers or other types of computers. Such a guest may generally be able to run or execute one or more application-level programs (or level of I user), as well as initiate an I / O request (for example, readings or I / O writer). In addition, the network system 107 may further include one or more input / output units (l / O units), wherein such l / O units may include one or more I / O controllers connected thereto, and each of them / Or it can be any of several types of I / O devices, such as storage devices (for example, a hard disk drive, tape drive) or other d i s p oís i t i v o l / O. Guests and I / O units and their controllers and I / O devices can be organized into groups such as groupings, with each group including one or more guests and one or more I / O units (each unit I / O includes one or more I / O drivers). Guests and I / O units can be interconnected through a collection of routers, switches and communication links (such as cables, connectors, cables, and the like) that connects a group of nodes, for example, connects a group of unit guests l / O) of one or more groupings. In addition, the network system 107 may be, for example, an Ethernet LAN, a signal ring LAN, and another LAN, or Wide Area Network (WAN). Also, the network system 107 may include routes; of wired and / or optical and / or wireless connections. As will be explained in detail below, the download distribution machine 100 can provide data exchange between the ISV 102, 104, 106, to provide information such as: portions of the soft-ware to be downloaded from a user of each ISV, any additional components that the user still requires to properly run the software, license requirements, billing and similjares. As will be discussed in more detail below, downloading software groups can be divided to offer softvyare providers greater efficiencies and control in their respective products.
An individual ISjv no longer needs to group all the software associated with the respective product and distribute that group of software to consumers. Software groups can now be divided and distributed electronically to end users when firing entities (for example, actual producers of the respective software). When dividing a software chip, second portions of a software group associated with a first software product ISV can be independently provided to the end user directly by the manufacturer of the second portions. Doing so provides the manufacturer with a second major software control (eg distribution, distribution form, installation, maintenance, version, license, security, etc.) on the product. Several scenarios will be discussed in greater detail for such software distribution including, for example: (1) while or after software is downloaded from a first ISV, a second ISV is activated to download to the end user its respective software associated with the software of the first ISV. First ISV, such activation can occur directly from the end user or even the first ISV; (2) the second ISV may also use the first ISV as a Proxy to download its software, or alternatively serve as the Proxy for the first ISV and its respective software; (3) the second ISV can also use digital rights management and download multiple licenses for its respective software to the end user; (4) After the initial download, the second ISV may moderate the version control with respect to its software as well as maintain concurrent and compatible with the software of the first ISV and the other end user software / hardware; (5) the distribution of the software can be done in the wiring as well as wirelessly and employ any means of transfer as well as communication protocol available to perform such electronic distribution; (6) Although the complete electronic distribution is expected to be very typical, it is appreciated that the distribution can also be branched (if desired) so that certain portions of the software are distributed electronically and other portions physically distributed; (7) Authentication, security, and digital rights management schemes can be used to perform and facilitate electronic distribution of respective portions of the software group. The above and more scenarios will be discussed here and / or will be readily apparent from the teachings of this document and all such implementations are intended to fall within the scope of the appended claims to this. Referring initially to Figure 2, there is illustrated a download distribution machine 201 that can facilitate building a packet application (e.g., a group of functionalities) downloaded from ISVs 240, by employing a detector component 203 that detects a missing part of downloaded software and / or digital content, and a notification component 205 that notifies a user where to obtain the missing and / or obtain additional information on resolving problems associated with the missing part. As such, during download software of the first ISV the download distribution machine 201 can detect any missing part (s) of such software group, and allows a user to download the missing part of an ISV security, and / or provide information on how to resolve the Asuntas related to the appropriate discharge and execution of the missing portions of the second ISV. As illustrated, the system 200 can handle the distribution and collection of downloaded packets and / or files involved in building an application system 220. Furthermore, in such a component-driven architecture environment, typically the components can be referred to as one piece. specific functionality that can be accessed through a contractually specified infer. Such components can be self-contained and clearly identifiable artifacts that describe and / or perform specific functions. For example, the basic capabilities of the component-based system 200 may include nterd (viability through networks, portability in different hardware or software platforms, and ability to self-manage data resources.) System 200 may include a plurality of construction machines 202, 204, 206, 208 (1 to L, where L is an integer) collectively referred to as construction machines 210. It will be appreciated by one skilled in the art that the construction machine 210 can be physical machines (for example, one or more computers), and / or virtual machines (for example one or more procedures on one or more computers), and / or virtual machines (for example one or more procedures running on one or more computers). The building machine 210 can produce one or more building files used in the application system 220. [The building machines 210 can collect, assemble, interpret, and / or link one or more source files in one or more files of building. While one segment of the building machine 210 builds one or more files, another segment of the building machine 210 can collect lists of the names of those construction files that are published. For example, a published file may be one that is listed in one or more manufacturing files associated with the software system or application 220 that is downloaded from the ISVs 240 and constructed from such a download. The building machine 210 can then transmit the lists of the construction file names to a construction manager 214. A segment of the building machines can also be designated as a post construction machine 216, wherein the building administrator construction 214 can then determine, for each segment of the construction machines, a list containing a subgroup of construction file names that the building machine 210 should determine to the post construction machine 216, which creates a collection or group 218 of construction files. The construction manager 214 can also determine, for each segment of the building machine 210, a list containing a subset of the file names that the building machine 210 should receive again from the post-construction machine 216. Once the lists the names of the files to transmit To, and receive from, the post-build machine 216 were distributed to the building machines 210, the files can be transferred to and from the post-construction machine 216. File transfers can be initiated, for example, by a segment of the construction machine 210, the construction manager 214, the ppst construction machine 216, or another method. The system 200 may be subjected to one or more steps of the procedures described above to complete the construction of the application system 220 on a user machine. In one or more stages, the system 200 can wait for the construction machines 210 to complete their construction and copying to the post construction machine 216 before starting acquisition files of the post construction machine 216. It will be appreciated that although the construction manager 214, and post construction machine 216, are illustrated independently, the procedures executed by the construction manager 214, and / or the post construction machine 216, can be executed on the same machine or physical and / or virtual machines . In order to properly execute the application system 200 when it finds a missing portion of downloaded software, the download distribution machine 201 employs a detector component 203 that when loading packets into a machine, detects any missing part, and subsequently a user is enabled to download the missing part of the appropriate ISV, or obtain information on how to resolve the matter, through the notification component 205. Figure 3 illustrates an exemplary discharge distribution machine 301 in accordance with an illustrative aspect of the invention in question, wherein a distribution resolver 303 operates as part of the notification component 305. The discharge distribution machine 301 operates in a distributed object system, wherein packet objects 310 can be downloaded as part of a software download of an ISV. With the download of a respective part of an application from an ISV to a user machine, then the distribution resolver 303 can facilitate supplying a missing application † tion by providing context information about the particular ISV that needs to be contacted for a download appropriate of the missing portion of an application, to ensure proper operation of it. The distribution resolver 303 can determine which of the components is missing from a first ISV download, and which needs to be obtained from a second ISV. Such articles may be persistently recovered and stored, wherein the distribution resolver 303 may be subjected to one or more repetitions of the procedures described above, to complete the download of the application. Turning now to Figure 4, a diagram of detailed block of a 403 distribution resolver that can provide information about the missing part of the downloaded software, and the ISV from which such missing part must be obtained. The distribution resolver 403 may include one or more subsystems (for example, a metadata reader 410, an attribute identification subsystem 420, an attribute filling subsystem 430) to facilitate the download distribution capabilities provided by the machine Dispatch distribution 401. The metadata reader 410 may take as inputs one or more metadata piezals associated with one or more failing objects and / or data types that are resolved. Such metadata may contain t information that includes, for example, a list of attributes in a data type associated with the metadata (where the list includes attribute names, types, sizes, and the like), parameter types, parameter sizes , addresses and the like), and information that identifies one or more classes that can be used to interact with the data type if the entity with which an interaction is desired does not have the definition of the data type (for example, a parent class) available. In addition, the data structures related to the missing portion of the software and objects or references include: an order, a list, an accumulation, a stack, a table, a data base record, a database table, a base of data and a data cube that can be used according to the invention in question. Accordingly, such information that identifies one or more classes of Missing e ects and / or objects can be used to interoperate with the type of data and to determine where such data can be obtained. The metadata reader 410 can be operatively linked to the attribute that identifies subsystem 420 and the attribute that fills the subsystem 430, to facilitate those subsystems that identify and / or compare objects and / or type of unequal or missing data, for ISV source references appropriate. Further, once the distribution resolver 403, through the attribute identifying the subsystem 420, determined that the missing portion of the reference objects, then the subsystem filling attribute 430 can be used to retrieve values and / or download the missing objects of the appropriate ISV. Accordingly, component-based programming environments, the invention in question can facilitate distributed downloads of a [plurality of ISVs, to allow an appropriate download and operation of an application on a user machine. Referring now to Figure 5, a general block diagram of a monitoring system 510 is illustrated as part of the discharge distribution machine according to a particular aspect of the invention in question. The monitoring system can actively observe the missing part of a downloaded application and / or objects and provide hyperlinks in real time to download the missing portion of the appropriate ISV. As such, the monitoring component 510 can provide a respective target site corresponding to an appropriate ISV web link that You can supply the missing portion of the software downloaded and / or digital content. [Accordingly, when a missing part of a downloaded software and / or object is found by the monitoring component 510, then information about such missing objects can be gathered or collected by and communicated to a link control component 520. The link control component 520 may examine the reported information of monitoring component 510 and compare it to one or more stored link queries 530. Link inquiries 530 may comprise a plurality of different queries of a plurality of links (for example, hyperlinks). For example, for a given link, a user query can be established or scheduled for menols. The query may include a group of conditions to be satisfied or actions to be performed on the link when the condition (s) is satisfied. Each query can correspond to the menois to a hyperlink and the associated target site. furtherWhen the monitoring component 510 determines that a missing part of a downloaded software or digital content has been detected, it can also notify a user through a 540 target link compiler (eg browser). Examples of notification actions when a missing reference and / or object is detected can include changing the color of a hyperlink, modifying the hyperlink title to indicate that the content needs to be accessed to resolve issues that are relate to the missing application, and / or add a symbol to or remove a symbol from the hyperlink. Other types of notification actions are possible as well as such highlighting of the hyperlink, drawing a line around the hyperlink, and / or adding some form of animation to the hyperlink (eg, blinking text, appearance / fading text, etc.) . The user can also receive an email or sound notification to alert them that they have found a missing reference and / or component. In addition, the user can simply refer to the hyperlink monitor list to observe the hyperlinks, to quickly assess whether a target website of an appropriate ISV needs to be contacted for successful loading of the missing portions of the downloaded program or content and / or digital objects. . Also, in connection with accessing an appropriate link and / or locating the links required to load respective portions of a software or digital content of a respective ISV, the invention in question may employ various artificial intelligence schemes. For example, a procedure for explicitly or implicitly learning whether an object should be reloaded, or searching for an ISV website that provides such an object or missing references, can be facilitated through a classification system and procedure. automatic. Classification can employ a prob- ielistic and / or statistical basis analysis (for example, factoring utilities and analysis costs) to forecast or infer an action that a user wants to be performed automatically. For example, you can use a support vector machine classifier (SVM). Other classification approaches include Bayesian networks, decision trees, and probabilistic classification models that provide different patterns of independence. The classification as used here is also inclusive of statistical regression that is used to develop priority moderates. As it will be easily appreciated from the specific specification, the subject in question may employ classifiers that are trained explicitly (for example, through generic training data) as well as implicitly trained (for example, through observing user behavior, receive extrinsic information) so that the classifier is used to automatically determine according to a predetermined criterion that solves a question in turn. For example, with respect to SVMs that are well understood, SVMs are configured through a learning or training phase within a classifier constructor and feature selection module. A classifier is a function that delineates an input vector of input, x = (x1, x2, x3, x4, xn), to a confidence that the input belongs to a class - that is, f (x) = co / 7 / 7th class (class). ? As shown in Figure 5, an artificial intelligence component (Al) 550 can be used to facilitate inferring and / or determining when, where, how to locate the appropriate ISV to download a missing portion of the software and / or digital content. He Al component 550 may employ any of a variety of suitable Al-based schemes as described above in connection with facilitating various aspects of the invention in question. Figures 6a and 6b illustrate provisions of a first ISV and a second ISV with respect to clients, and / or end-user machines. As illustrated in the layout of Figure 6a, ISV! 610 and ISV2 620 can share the same level of consumer control. For example, ISV, 610 can supply an application 630 to a consLjidor / end user 650, which requires a Structured Query Language (SQL) 640 of the ISV2620. Such ISV2 620 can supply the SQL 640 component required for proper operation of the: application downloaded directly to the consumer 650. Similarly, an arrangement according to Figure 6b provides a different degree of control by the ISVs in the client and distributed softwjare. Figure 7 illustrates a sequence of inquiry steps between an I SlV n 702 offering 1 a m software, where m is an integer, and an IS iV2 704. The communication itself can be done through a secure channel. ISV2 704 may include a secure side service network stack 710 that further includes an IP layer implementation, a service-side TCP layer implementation, a service-side TLS, an HTTP stack implementation, a vendor interphase web service and a web service. The ISV2 704 may also include an Internet Key Exchange (IKE) subsystem 708 to secure network traffic between ISV2 704 and the ISVi 702. The ISV2 704 may also include policy modules 711 to allow configuration of the IKE 708 subsystems. The policy module 711 may also provide security configuration information to the secure network stack 710, which is I communicate through the TCP / IP 754 controller, which allows the secure network traffic between the ISV2 704 and the ISV! 702. The ISV2 704 can register and receive a group of messages to issue a digital certificate to an entity. For example, in 714 a purchase component can consult the ISV2 704 for a purchase inquiry of the various software offers. Afterwards, and at 716 a query response identifying the various software, and service terms are again communicated with ISV2 704. Subsequently and at 718, a billing account is transferred to ISV2 704. A response can then be prepared and return to the IS! 702 regarding the various billing requirements to issue a digital certificate. Afterwards, ISVi can select a desired plan to buy, with a request / response pair of purchase 722 (a) and 722 (b) exchanged between ISV2 704 and ISVT 702. Similarly, a query and response group (not shown) can be exchanged between ISV2 704 and the end-user machine (s) to request software updates and provide groups and similjares. The purchase and update acts also include a mechanism for the end-user machines or the I S V 1 702 to authenticate with the ISV2 704.
Figure 8 illustrates a block diagram of an ISVT | 800 system that can deliver a discharge according to an aspect of the invention in question. The system can include an ISV 810 administrator who can interact with an ISV 814 library, to track an authorization, security, validation and to verify connection of a client or another ISV2 thereof. A load threshold can be provided by the ISV 810 administrator, to determine whether to start, pause, resume and / or stop data transfer on any machine requesting data exchange with the ISVi 800, for example, to balance processing through multiple machines, which can then mitigate load on any machine. Typically, when a message transfer session is initiated (for example, a connection), the ISV 810 administrator can generate a connection case for the session. The connection case can be filled with information indicating the client, the software download, other ISVs involved, message (s), and / or a connection ID (for example, a live message), for example. Such information can be used to start message transfer between; the ISVT and a client or another ISV2. In addition, the connection ID can be used to track message transmission within different machines. The connection case can additionally be updated dynamically to reflect transmission progress and provide transmission history. For example, indicative indications of any of the portions (that include the complete message or software download), which was successfully transmitted or failure may be associated with the connection case. The transmission history may include information related to beginning of transfer and term, pauses and summaries, the level of communication activity errors, resends, changes in the service machine, and the like. For example, when the ISV1 800 is invoked to establish a connection for a download to a client or end user, the ISV 810 administrator can trace machine identity (for example, a globally unique identity, or GUID), to generate a case of connection for such connection. The connection case can include the identity for any of the machines to which the software is to be downloaded, through the system parameters as part of the ISV 814 library. Such information can be used to locate the desired machine and verify that the desired machine and adapter were provided with access or were properly registered. If the invocation includes information indicative of the client and / or the message of other ISVs, such information includes information may be additionally included with the connection case. This Information can be used to locate and verify the client and the downloaded Software. In addition, the required connection ID and load parameters can be included and used as a key for the connection case, and also by the ISV 810 administrator to make the transfer session. It should be appreciated that more than one machine on the ISV side, or on the client side can request connection, as part of a plurality of distributed machines. For example, during a download session between an ISV and an end user, another ISV can join the existing download session, and retrieve cache download history, to observe and / or dock in such a download session. (Figure 9 illustrates a methodology 900 of one of a division discharge according to one aspect of the invention in question While the illustrative method is illustrated and described herein as a series of blocks representative of various events, acts present invention is not limited by the illustrated order such blocks For example, some acts or events may occur in different orders and / or concurrently with other acts or events, apart from the order illustrated here, in accordance with the invention.Also, not all the illustrated blocks, events In addition, it will be appreciated that the illustrative method and other methods according to the invention may be implemented in association with other systems and apparatuses not illustrated and described. , a first portion of a software or digital content is downloaded by a first ISV to an end user. 920 a second ISV receives notice of such download, and a request to supplement the first portion of the downloaded software. Subsequently, and at 930, the second ISV downloads the second portion of the ISV to the end user. As such, the end user can then properly run the application downloaded at 940, which was downloaded in a split form by the first and second ISV. Referring now to Figure 10, a brief general description of an adequate computing environment is illustrated wherein the various aspects of the invention in question can be implemented. While the invention was described above in the general context of computer executable instructions of a computer program running on a computer and / or computers, those skilled in the art will recognize that the invention can also be implemented in combination with other program modules. Generally, program modules include routines, programs, components, data structures, etc. that perform particular tasks and / or implement particular abstract data types. In addition, those skilled in the art will appreciate that the inventive methods can be practiced with other computer system con fi gurations, which include individual processor or computer systems of the processor, mini-printers, microcomputers, as well as personal computers, portable computing devices. , microprocessor based or programmable consumer electronics, and the like. As explained above, the illustrated aspects of the invention can also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. However, some, if not all aspects of the invention they can be practiced on individual computers. In a distributed computing environment, the program modules can be located in both local and remote memory storage devices. The illustrative example includes a computer 1020, which includes a processing unit 1021, a system memory 1022, and a common system conductor 1023 that couples various system components that include the system memory to the processing unit 1021. The processing unit 1021 may be any of several commercially available processors. Dual microprocessors and other processor architectures m ú 11 i fp I e can also be used as the 1021 i processing unit The common system conductor can be any of several common conductor structure types that includes a 1394 USB, a common peripheral driver, and a local common driver that uses any of a variety of commonly available common conductor architectures. The system memory can include read-only memory (ROM) 1024 and random access memory (RAM) 1025. A basic input / output system (BIOS), which contains the basic routines that help transfer information between elements within the system. computer 1020, such as during startup, is stored in ROM 1024. Computer 1020 further includes a hard disk drive 1027, a magnetic disk unit 1028, for example, for reading from or writing to a removable disk 1027, and a optical disk drive 1030, for example, to read from or write to a CD-ROM disk 1031 or to read from or write to other optical media. The hard disk drive 1027, magnetic disk unit 1025, and optical disk unit 1030 are connected to the common system conductor 1023 by a hard disk interface 1032, a magnetic disk interface 1033, and an interphase of optical unit 1034, respectively. Units and their associated computer-readable media provide non-volatile data storage, data structures, computer executable instructions, etc. for the computer 1020. Although the description of computer readable media above refers to a hard disk drive i, a removable magnetic disk and a CD, it should be appreciated by those skilled in the art that other types of media can also be used. are readable by a compiler, such as magnetic cassettes, flash memory cards and digital video discs, Bernoulli cartridges, and the like, may also be used in the illustrative iterative environment, and furthermore that any such means may contain computer executable instructions for performing the methods of the invention in question. A number of program modules can be stored in the units and RAM 1025, which includes an operating system 1035, one or more application programs 1036, other program modules 1037, and program data 1038. Operating system 1035 in the illustrated computer it can be substantially any system operatively available commercially, a user may enter commands and information into the computer 1020 through a keyboard 1040 and a device and signaling, such as a mouse 1042. Other input devices (not shown) may include a microphone, a joystick, a game pad, a satellite dish, a scanner, or similesires. These and other input devices are often connected to the processing unit 1021 through a serial port interface 1046 which is coupled to the common system conductor, but can be connected by other interfaces, such as a parallel port, a port of games or a common universal serial driver (USB). A monitor 1047 or other type of display device is also connected to the common conductor 1023 through an interface interface, such as a video adapter 1048. In addition to the monitor, computers typically include other peripheral output devices (not shown) , such as speakers and printers. The computer 1020 can operate in a networked environment that uses logical connections to one or more remote computers, such as a remote computer 1047. The remote computer 1047 can be a workstation, a server computer, a router, a device pair or another common network node, and typically includes many or all of the described elements relating to the computer 1020, although only one memory store 1050 is illustrated in Figure 10. The logical connections illustrated in Figure 10 may be include an area network local (LAN) 1051 and a wide area network (WAN) 1052. Such networked environments are commonly located in offices, extended computer networks in business, Intranets and Internet. When employed in a LAN environment, the computer 1020 can be connected to the local network 1051 through a network interface or adapter 1053. When used in a WAN network environment, the computer 1020 can generally include a 1054 modem , 1 and / or connects to a communications server on the LAN, and / or has other means to establish communications on the wide area network 1052, such as the Internet. The modem 1054, which can be internal or external, can be connected to the common system bus 1023 through the serial port interface 1046. In a networked environment, the illustrated program modules relative to the 1020 computer, or portions thereof, may be stored in the remote memory storage device. It will be appreciated that the network connections shown are illustrative and other means may be employed to establish a communications link between the computers. In accordance with the practices of those skilled in the art of computer programming, the invention in question was described with reference to acts and symbolic representations of operations performed by a computer, such as computer 1020, unless otherwise indicated in another way. Such acts and operations are sometimes referred to as being executed by computer. It will be appreciated that the acts and symbolically represented operations include manipulation by the processing unit 1021 of electrical signals representing data bits that causes a resultant transformation or reduction of the electrical signal representation, and maintenance of data bits in memory locations in the memory system (which includes system memory 1022, hard drive 1027, floppy disks 1028, and CD-ROM 1031) thereby reconfiguring or otherwise altering the operation of the computer system, as well as other signal processing. The memory locations where such data bits are maintained are physical locations that have particular electrical, magnetic, or optical properties that correspond to the data bits1. Referring now to Figure 11, there is illustrated a server-server system 1100 that can employ a split download in accordance with an aspect of the invention in question. The client (s) 1120 can be hardware and / or software (e.g., rows, procedures, computing devices). The system 1100 also includes one or more server (s) 1140. The server (s) 1140 may also be hardware and / or software (e.g., rows, procedures, computing devices). For example, such servers 1140 may host rows to perform transformations by employing the present invention. The client 1120 and the server 1140 can communicate, in the form of data packets transmitted according to the present invention, between two or more computer procedures.
As illustrated, the system 1100 includes a communication structure 1180 that can facilitate communications between the client (s) 1120 and the server (s) 1140. The client (s) 1120 is operably connected to one or more storage (s). ) clientje data 1110 that can store local information to client (s) 1120. Additionally, client 1120 can access and update databases. 1160 located on a server computer 1140 running a server procedure. In one aspect of the present invention, the communication structure 1180 may be the Internet, with the client procedure being a Web browser and the server procedure which is a Web server. As such, a typical client 1120 can be a general-purpose computer, such as a conventional personal computer having a central processing unit (CPU), system memory, a modem network card to connect the personal computer to a computer. Internet, and a presentation as well as other components such as a keyboard, mouse, and the like. Similarly, a typical server 1140 may be university or corporate microcomputers, or dedicated work stations, and the like. Figure 12 shows an exemplary system 1200 for purchasing and distributing software when using split download. System 1200 includes multiple ISVs 1202 that are configured to provide to consumers, such as consumer device 1208. Each ISV is configured to provide a portion of software. The shares provided by the different ISVs are downloaded and Despijones are used to build the complete software. For example, customer device 1208 can include download manager (DLMj) 1210 to manage the download and portions of the software. As shown in Figure 12, system 1200 also induces registry merchant (MOR) 1204, i transfer manager (TM) 1212, and authorized merchant (AUM) 1206. MOR 1204 is the merchant responsible for handling and supporting the sale of software provided by ISVs 1202. MOR 1204 can be configured to control transaction support, returns, stop I ISVs 1202, or similar. For example, MOR 1204 is configured to receive requests from the consumer device 1208 to purchase softwage and to generate a transaction for the purchase. MOR 1204 tambjén is configured to receive registration updates of ISVs 12021 Updates may include periodic transaction query, billing information, and the like. TM 1212 is configured to control request for transfer of control file and authorization and for corridor data transfer and billing information between MOR 1204 and ISVs 1202. AUM 1206 is an agent that acts in benefit of MOR 1204. AUM 1206 can take any of the MOR 1204 papers except as the agent of ISVs 1202. AUM is an optional component and MOR 1204 can interact directly with the client device 1208. In an illustrative software purchase scenario, the consumer device 1208 sends message 1251 to AUM 1206 that includes an order for a particular piece of software. The order it may include an identifier for the software, amount, credit card information, personal information, and the like. AUM 1206 receives the order and sends message 1252 to MOR 1204 which includes a request associated with the order. The request can include an identifier for the consumer, an identifier for the request, a geographical location, the order and the like. MOR 1204 receives the request and generates a transaction associated with the request. MOR 1204 sends the transaction to TM 1212 with message 1253. The message 1253 may include information in the original application as well as other information, such as an identifier for MOR 1204, a transaction identifier, a serial number, data associated with f? consumer, status information, and the like. MOR 1204 sends message 1257 to AUM 1206 which includes information related to the transaction to AUM 1206. TM 1212 receives the transaction from MOR 1204 and sends messages 1254 with the transaction to the appropriate ISVs 1202. Typically, TM 1212 sends the transaction to the specific ISVs that provides lots for the software that is purchased. In response to the messages sent from specific ISVs 1255 that include downloading authorization and information related to TM 1212, which may include an ISV optimizer, password, authorization data, and the like.
TM 1212 receives message 1255 and sends the following download authorization and information related to DLM 1210 in message 1256.
MOR 1204 sends message 1258 to the consumer device 1208 that includes information about the order, such as a record of purchase, download location, software license, and the like. The message 1258 can be sent as any type of communication, such as email, regular mail, etc. DLM 1201 jestablece 1259 communications with ISVs 1202 to download the purchase software of the ISVs that provide portions of the software. DLM 1201 provides the download authorization received from message 1256 to the ISVs to establish that the consumer is authorized to download the software. (After the download is completed, DLM 1210 sends message 1260 which includes a confirmation to TM 1212. TM 1212 sends! 1261 messages to ISVs 1202 and MOR 1204 to confirm the termination and to complete the transaction. illustrative 1300 for processing an order for the software to be provided by split download The 1300 procedure may be implemented by a record merchant for a division download software purchase system to process an order for software. 1302, a purchase order is received from a consumer The order can be received directly from the consumer device or from the authorized merchant In block 1304, a transaction associated with the software order is generated. The transaction is sent to the independent software vendors that provide portions of the software.In block 1308, purchase and download information is determined for In the block 1310, purchase and download information is provided for the consumer. For example, the information can be provided to the consumer by email. Typically, the discard authorization is provided to the consumer from a separate source, without going through the registry merchant. In block 1312, consumer confirmation is received after the ISVs software has been downloaded. In block 1314, the transaction is completed with the ISVs. Although the invention was shown and described with respect to certain illustrative aspects, it will be appreciated that alterations and equivalent modifications will occur for those skilled in the art when reading and understanding this specification and the accompanying drawings. In particular to the various functions performed by the components described before (assemblies, devices, circuits, systems, etc.), the terms (which include a reference to a "medium") used for | describe such components claim to correspond, unless otherwise indicated, to any component that performs the specific function of the described component (e.g., ie, equivalent functionality), even though it is not structurally equivalent to the structure described, which performs the function in the illustrative aspellets illustrated here of the invention. With respect to this, it will be recognized that the invention includes a system as well as a computer readable medium having instructions executable by a bomputer to perform the acts and / or events of the various methods.two of the invention. In addition, to the extent that the terms "include", "that includes", "has", "that has", and variants of the they are used in the detailed description or claims, these! terms are intended to be inclusive in a manner similar to the term "comprising").

Claims (2)

1. - A system that facilitates a split download of a digital content comprising: a download distribution machine that provides information about a missing portion of a downloaded digital content, an independent software vendor (ISV), and supplementary digital content supplied by the independent software vendor to complete the downloaded digital content. 2 - The system according to claim 1, wherein the discharge distribution machine includes a detector component I that detects the missing portion. 3. The system according to claim 1, wherein the download distribution machine further comprises a notification component that notifies a user where to download the missing portion or obtain additional information on solving problems associated with the missing portion. 4. - The system according to claim 1, wherein the discharge distribution machine further comprises a monitor compient that provides a method for installing the missing portion. 5. - The system according to claim 4, wherein the monitor compton provides real-time hyperlinks to download the missing portion of the ISV. j6.- The system according to claim 1, wherein the discharge distribution machine further comprises a distribution resolver that determines an availability of the missing portion for a download. 7. The system according to claim 6, wherein the distribution resolver further comprises a metadata reader component to obtain information about the missing portion. 8. A method of downloading a division of a digital content comprising: downloading a first portion of the digital content for a first ISV; and provide information regarding the act of downloading an ISV tracking. 9. The method according to claim 8, further comprising initiating the act of downloading the first portion of the digital content by an end user. 10. - A system facilitating a split download of a digital content comprising: means for providing information about a missing portion of a downloaded digital content, to an ISV; and means to supplement the digital content. 11. - A computing device for providing discoverable software, the computing device is configured to interact with a plurality of independent software vendors (ISVs), each llSV configured to provide a portion of the downloadable software, the computing device also configured to receive an order to purchase downloadable software from a client device and to generate a transaction associated with the order), the computing device further configured to provide the transaction to the ISVs and to provide information to the client device to download portions of the softw re of the ISVs. 1
2. The computing device according to claim 11, wherein each portion of the downloadable software is provided by a separate ISV and all portions are necessary to build the complete software by the client device. 13 - The computing device according to claim 11, wherein the client device is configured to interact with the computing device through an authorized server. 14. A system for buying and distributing compliant software: a plurality of independent software vendors (ISVs), each ISV configured to provide a portion of downloadable software, each portion of the downloadable software being provided by a separate ISV; a registry merchant configured to control an order for the downloadable software of a customer, the merchant register also configured to generate a transaction associated with the order and to provide the order to the ISVs; A download manager associated with the client, the download administrator is configured to download portions of the ISVs software and to build the complete software of the downloaded portions. 15. - The system according to claim 14, further comprising a transfer manager configured to provide the transaction generated by the registry merchant to the ISVs, the transfer manager also configured to receive discharge authorization from the ISVs and to provide discharge authorization to the client for use with portions of the ISVs software download. 16. - The system according to claim 14, wherein all the portions are necessary to build the compiled software by the download manager. 17. - The system according to claim 14, further comprising an authorized merchant configured to act as an agent for the registry merchant for processing the customer's order. 18. - One or more device-readable media encoded with executable instructions per device: receive an order from a customer to purchase a downloadable software; generate a transaction associated with the order; identify a plurality of ISVs, each providing a software solution in the order, all portions of softwire being necessary to build the complete software; provide the transaction to the ISVs; 'determine purchase and download information associated with the transaction; and send the purchase and download information to the consumer. 19. - One or more means readable by device according to claim 18, wherein the order is received from the consumer through an authorized merchant. 20. - One or more means readable by device according to claim 18, wherein the transaction is provided to the ISVs through a transfer manager.
MXMX/A/2007/013603A 2005-05-31 2007-10-30 Split download for electronic software downloads MX2007013603A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US60/686,368 2005-05-31
US11246512 2005-10-07

Publications (1)

Publication Number Publication Date
MX2007013603A true MX2007013603A (en) 2008-10-03

Family

ID=

Similar Documents

Publication Publication Date Title
AU2006252906B2 (en) Split download for electronic software downloads
US20250220403A1 (en) The Internet of Things
US12265849B2 (en) Use of nested hypervisors by a resource-exchange system to enhance data and operational security and to facilitate component installation
US8275827B2 (en) Software-based network attached storage services hosted on massively distributed parallel computing networks
US11368517B2 (en) Secure automated resource-exchange system
Hu et al. A review on cloud computing: Design challenges in architecture and security
US10269025B2 (en) Monetizing network connected user bases utilizing distributed processing systems
US6847995B1 (en) Security architecture for distributed processing systems and associated method
Sehgal et al. Cloud computing
JP2021526751A (en) Secure consensus endorsement for self-monitoring blockchain
US20110173247A1 (en) Massively Distributed Processing System Architecture, Scheduling, Unique Device Identification and Associated Methods
EP2380079B1 (en) Parallel tasking application framework
CA2584269A1 (en) Distributed processing system
JP2008033644A (en) Application service providing system and application service providing method
US20090222508A1 (en) Network Site Testing
CN101167072A (en) Supplementary trust model for software licensing/commercial digital distribution policy
US20040025157A1 (en) Installation of a data processing solution
KR20080070636A (en) Obtaining server usage information
Bennett et al. Software services and software maintenance
US9922198B2 (en) Methods, apparatus and computer systems that enable hardware module use rights owned by one server to be claimed for use by another server in a common share group
CN100555221C (en) Be used for the fractionation download system that electronic software is downloaded
US20060117064A1 (en) e-Business on-demand for design automation tools
CN113377666B (en) Cloud server-based testing method, system, client and cloud server
White et al. Autonomic computing: Architectural approach and prototype
MX2007013603A (en) Split download for electronic software downloads