U.S. Patent 1
Techniques for providing and consuming web services, including a service library configured to store one or more web services and a host directory connected to service hosts, configured to store data related to the service hosts. The service hosts are a network and adapted to receive and fulfill deployment requests for the web services stored in the service library by instantiating one or more endpoints of one of the web services. A manager is configured to query the host directory and the service library, generate a deployment plan, and transmit deployment requests to the one or more service hosts.
Priority: September 20, 2011
31 Claims (5 Independent)
Issued: US,EU,CN,IN,JP + others
U.S. Patent 2
Techniques for distributed storage using a plurality of computing devices connected to a network can include storing an electronic file in a local storage layer of one of the computing devices. The stored electronic file can be asymmetrically transmitted, in portions, over the network to other computing devices to store the file across the other computing devices in a distributed storage layer. The electronic file can be asynchronously transmitted over the network to a cloud storage layer such that the electronic file is mirrored in the cloud storage layer. The local storage layer of each computing device can store, for each electronic file stored in the distributed storage layer, metadata having pointers to locations of the portions the electronic files stored in the local storage layer and distributed storage layer. The electronic files stored in the distributed storage layer can be displayed as stored in a single logical drive.
Priority: April 10. 2012
24 Claims (3 Independent)
Issued: US,EU,CN,IN,JP + others
ActiveAether: A Next-generation Architecture for Web Services on the Internet
The model belongs to a class of architectures defined by their use of abstraction layers between various stages of the traditional process of Web Service deployment, location, binding and use for the purpose of introducing further functionality or desirable properties, such as reliability and scalability. The presented model takes an end-to-end or ‘holistic’ approach to addressing the previously-identified shortcomings of the traditional Web Services model. It also reduces complexity for participants in the Web Service lifecycle by partitioning the responsibility of providing a Web Service into multiple independent roles, reducing the amount of overlapping domain-specific knowledge required by each actor and lowering the barriers to participation in a distributed Web Services framework. Once decomposed, the tasks and responsibilities are re-structured and assigned to independent and autonomous functional entities, creating a loosely-coupled modular architecture which itself embraces the ideals of service-orientation.
The presented model also represents a break from the traditional approach to Web Service deployment by separating service substantiation from realization. Rather than being deployed explicitly, Web Service implementations are published into the infrastructure – with potentially many implementations of the same service. Hosts register their willingness to host Web Services, describing their available resources and joining a shared pool of latent hosting resources. The reference implementation utilizes this separation by applying the latent hosting resources to dynamically deploy Web Service endpoints as necessary to meet varying levels of demand. When usage levels drop, rarely-used Web Service instances are undeployed automatically in order to re-claim resources; aside from a passive bootstrapping process, an infrastructure with no demand will consume no hosting resources.
Service invocations are performed upon a client-side daemon - an indirection mechanism which transparently locates, binds to, and invokes Web Service operations on behalf of the user. The mechanism programmatically detects and recovers from endpoint failure, requesting a new endpoint from the infrastructure which returns an existing alternate or deploys a new one on demand. The model defines a failure model which, after exerting a ‘best effort’ to fulfill the request, returns users only non-recoverable errors which indicate that it is simply not possible to fulfill the request given the current state of the infrastructure.
ActiveAether eases the creation and publication of Web Services by consuming deployment and management tasks. It eases the use of Web Services by letting clients program against what a service does, not where it is or whether it is currently deployed. It extends the platform-independent ethos of Web Services by providing deployment mechanisms which can be used irrespective of implementation and deployment technology. Crucially, it maintains the Web Service goal of universal interoperability, preserving each actors’ view upon the system so that existing users and hosts can participate without any modifications to service implementation or client application code.