Abstract:
A software distribution mechanism evaluates network addresses of requesting clients to determine a location for each client. The clients from a particular location are grouped together and a fraction of those clients in a particular group are recipients of a software distribution. The faction is adjusted to enable more or fewer clients to download, thus effectively throttling the amount of bandwidth consumed by a mass distribution event. The fraction may be adjusted for particular geographical locations and the time of day to make more effective use of network bandwidth.
Abstract:
A hierarchical software update distribution system and method for distributing software updates is presented. The update distribution system includes a root update service node and at least one update service node. In an update distribution system, each update service node, except the root update service node, has one parent update service node. Each update service node may function as a parent update service node to child update service nodes.
Abstract:
Performing software installation activities. A method may be practiced for example in a network computing environment including one or more targetable entities organized into target groups. The method includes beginning a rollout including installation activities to a first set of one or more target groups. At least a portion of the installation activities are evaluated in the first set of one or more target groups. A rollout, including installation activities, to a second set of one or more target groups is begun if the installation activities in the first set of one or more target groups meet predetermined criteria.
Abstract:
Distributed caching and download of file. A method is described that includes building a peer list comprising a listing of potential peer servers from among one or more networked computers. The peer list includes no more than a predetermined number of potential peer servers. Potential peer servers in the peer list are queried for a file or portion of a file. A message from a peer server in the peer list is received indicating that the peer server has the file or portion of a file available for download. The computer system downloads the file or portion of a file from the peer server.
Abstract:
A system and method by which content, such as a software update, is downloaded in a controlled manner to clients so as to reduce peak demands, by modulating the number of clients that can request (e.g., automatically) to download content. To this end, before any download is requested, each client receives information that the client uses to determine whether to request the content now, or back off and retry the download process later. In one implementation, the information is provided via a download regulation file, comprising acceptance percentage and time window parameters that are occasionally varied based on current network load-related statistics. Clients generate a random number that is evaluated against the acceptance percentage (probability threshold) to determine whether to download or back off. The time window specifies how long downloading clients are allowed to download, or how long backed-off clients need to wait before restarting the regulated download process.
Abstract:
A system and computer-readable media are provided for transferring data over a network. In accordance with one aspect of the invention, the system includes a monitoring component, which monitors the level of actual network bandwidth utilization. The system also includes an identification component, which operates to identify a maximum monitored level of actual utilization. A calculating component then calculates a block size of data to transfer as a function of the maximum monitored level of utilization. The block size may be bounded between a maximum threshold value and a minimum threshold value. A receiving component then operates to receive the block size portion of the set of data over the network at one or more intervals. In another aspect of the invention, the block size is not bounded, and the system includes an interval adjustment component, which increases the size of the intervals when the block size is below a minimum threshold and decreases the size of the intervals when the block size exceeds a maximum threshold.
Abstract:
Context-aware systems and methods, location-aware systems and methods, context-aware vehicles and methods of operating the same, and location-aware vehicles and methods of operating the same are described. In various embodiments, a context or location service module, implemented in software, determines a vehicle context or a vehicle location based upon information that it receives from various context providers or location providers respectively. Software executing on a vehicle's computer can then cause one or more applications that are associated with a vehicle computer to be modified in a manner that changes their behavior. The behavior modification is based on the current context or location of the vehicle and thus provides a context-specific or location-specific user experience. The context or location can be ascertained through the use of one or more hierarchical tree structures that comprises individual nodes. Each node is associated with a context or location. The nodes are traversable by the vehicle's software to ascertain a more complete context or location.
Abstract:
Context-aware systems and methods, location-aware systems and methods, context-aware vehicles and methods of operating the same, and location-aware vehicles and methods of operating the same are described. In various embodiments, a context or location service module, implemented in software, determines a vehicle context or a vehicle location based upon information that it receives from various context providers or location providers respectively. Software executing on a vehicle's computer can then cause one or more applications that are associated with a vehicle computer to be modified in a manner that changes their behavior. The behavior modification is based on the current context or location of the vehicle and thus provides a context-specific or location-specific user experience. The context or location can be ascertained through the use of one or more hierarchical tree structures that comprises individual nodes. Each node is associated with a context or location. The nodes are traversable by the vehicle's software to ascertain a more complete context or location.
Abstract:
The subject disclosure relates to techniques for monitoring contextual and performance information of a device for anticipatorily sending update information to the device. An interface component can receive, from the client, contextual information indicating an operating environment of the client and performance information that is associated with one or more operations being performed by the client based on the operating environment, and send, based on correlation information, update information to the client. Further, a service component can to infer a relationship between the contextual information and the performance information to obtain the correlation information. In other embodiments, a client can populate a cache with portion(s) of the contextual information to obtain cached information, and send at least a portion of the cached information to a system including one or more aspects of the service component.
Abstract:
Data management techniques are provided for handling information resources. A data management process can account for attributes of information resources by analyzing or interpreting the workspace location, source, channel and device associated with an information resource, and effectuating policies, based on the attributes. Rules govern the attribute determination and policies for access restriction to the information resource. The attributes and policies determined are tagged to the information resource and is dynamically updated based on the attributes related to the information resource within different workspaces, such as a corporate workspace and a personal workspace.