The present invention is generally directed to providing software as a service (SaaS).
Private and personalized computer networks (networks) are capable of providing end users tools, which increase collaboration, communication and overall productivity. Once reserved for large entities capable of affording the expensive hardware and specialized technicians required for supporting local area networks (LANs), the advent of cloud computing, virtual machines, and grid computing, has drastically reshaped the physical infrastructure required to enable network operations. No longer should an individual entity purchase and maintain network hardware. Rather, computing resources can now be pooled through grid computing, remotely accessed through cloud computing, and sold as a service through utility computing.
Typically, a SaaS vendor offers the end user a specific application via the internet. A Web application (Web app) is an application program that is stored on a remote server and delivered over the Internet through a browser interface. SaaS web applications provide a method for businesses to minimize their dependency on traditional LANs. The current model for delivering SaaS applications introduces new concerns for businesses to consider. Several limitations of traditional SasS services include: application independency, security, shared application servers, and limited application customization.
Data in SaaS environments is often stored in the same database and separated only by user name and password controls. Should the service provider run into directory or permission problems, comingling of such information can enable unauthorized users to have access to a SaaS user/client's resources.
Application independency makes integration and information sharing, between multiple applications, difficult or impossible. A user might decide to use services provided by two, or more, different application providers. As applications are often developed independently of each other, they tend to lack a native way for sharing common data (such as a client database). Several third party developers have created tools that can extract data from one application and use that data to populate or synchronize other applications. Some application providers have developed tools to allow similar data sharing with other web applications. These tools depend on users' awareness of their existence and ability to install and configuring them. In addition, as these tools are independently managed from the applications they modify, should one application's configuration be altered, the software communication links between the tools and applications can break. The links will remain broken until the tools are rewritten to accommodate the new application configuration.
Such monolithic application servers often create a single point of failure. Should the application fail, the servers be compromised or any other catastrophic events occur, which affect the application server and users would be affected universally.
Individual user customization, for most SaaS applications, is constrained by the fact that they are served on shared machines. From the traditional SaaS provider's perspective, keeping their application as homogeneous as possible enables them to service the greatest number of customers, while minimizing the amount of maintenance required.
Monolithic SaaS services are primarily designed in this fashion in order to minimize maintenance. In addition to the factors listed above, each server used in providing the application, whether physical or virtual, requires independent maintenance, such as updating, upgrading, etc. By providing only a single application, or uniform set of services, in a monolithic fashion from a collective set of servers, SaaS providers are best able to commoditize their services to reduce management, monitoring, and maintenance costs.
It is therefore seen that there exists a need in the art to overcome the deficiencies and limitations herein and above.
Disclosed herein relates to a computer system for a centralized management of separate and distinct virtual computer networks which comprises a computer data grid comprised of at least one grid processor and a memory device that stores a managing application. The grid includes at least one grid processor and memory device. The managing application comprises a virtualization platform, a grid access security layer, a virtual computer network template system, a plurality of resource distribution tools, and a plurality of monitoring and metering tools. The at least one processor is adapted by the managing application to create, deploy, administer, and manage a plurality of separate and distinct virtual computer networks.
In one aspect, the computer system for the centralized management of separate and distinct virtual computer networks is further comprised of each separate and distinct virtual computer network of a plurality of separate and distinct virtual computer networks. Each separate and distinct virtual computer comprises a plurality of virtual network subcomponents hosted on a plurality of specially designed virtual machines.
In another aspect, the grid access security layer is comprised of an overarching firewall, and wherein a subcomponent, of a plurality of subcomponents, is an individual firewall.
In another aspect, the grid processor is further adapted by the managing application, by way of the virtual computer network template system, to group at least one virtual computer network template subcomponent template into a separate and distinct virtual network template. The at least one virtual computer network subcomponent, of the plurality of virtual network subcomponents, is based on at least one virtual computer network subcomponent template. The plurality of separate and distinct virtual networks is based at least, in part, on the separate and distinct virtual computer network template.
In another aspect, the at least one specially designed virtual machine, of the plurality of specially designed virtual machines, comprises at least one soft point and at least one hard point. The at least one specially designed virtual machine is configured to have at least one soft point stored in an isolated storage medium separate from the at least specially designed virtual machine.
In yet another aspect, the grid processor is further adapted by the managing application, by way of the virtual computer network template system, to make a subcomponent template modification to the at least one virtual computer network subcomponent template, and push the subcomponent template modification to the at least one virtual computer network subcomponent template. The at least one of the at least one hard point, of the specially designed virtual machines hosting the at least one virtual computer network subcomponent is modified.
In yet another aspect, the grid processor is further adapted by the managing application, by way of the virtual computer network template system, to make a network template modification to the virtual computer network template and push the network template modification to the virtual computer network based at least, in part, on the virtual computer network template.
In another aspect, at least one virtual computer network subcomponent is modified independently from the virtual computer network subcomponent template it is based at least in part on.
In yet another aspect, at least one separate and distinct virtual computer network is modified independently from the virtual computer network template it is based at least in part on.
Disclosed herein relates to a method for managing separate and distinct virtual computer networks comprising storing a managing application, providing a virtualization platform, providing a grid access security layer, providing a virtual computer network template system, providing a plurality of resource distribution tools, providing a plurality of monitoring and metering tools, creating a plurality of separate and distinct virtual computer networks, deploying the plurality of separate and distinct virtual computer networks, and administering the plurality of separate and distinct virtual computer networks.
Also disclosed herein relates to a non-transitory computer-readable medium having instructions stored and configured to adapt at least one grid processor to perform the method comprising storing a managing application, providing a virtualization platform, providing a grid access security layer, providing virtual computer network template system, providing a plurality of resource distribution tools, providing a plurality of monitoring and metering tools, creating a plurality of separate and distinct virtual computer networks, deploying the plurality of separate and distinct virtual computer networks, and administering the plurality of separate and distinct virtual computer networks.
The shortcomings of the prior art are overcome and additional advantages are provided through an assembly of virtual machines to create a virtual rendition of a traditional local area network. Virtual machine appliances and servers are combined to provide a user/client with a private and unique system to store files and data, serve web applications, and monitor system services. Each distinct virtual computer network includes multiple virtual servers that are integrated, in order to offer a client/user an array of SaaS applications, as opposed to traditional SaaS delivery systems. Each distinct virtual computer network also has its own unique interface, separate from all other distinct virtual business networks. Ordinarily, such a network requires completely independent management, including updating, upgrading, configuring, provisioning, maintaining, reporting, etc., from all other similar distinct virtual computer networks. This results in savings only in hardware resources, as management of these systems would otherwise be highly duplicative in nature.
Accordingly, an embodiment of the invention is comprised of software designed to be loaded into one or more computers in a computer system, such that when loaded, the software configures the computer system, so that it becomes part of a centralized managing system and method, described within this document, for creating, deploying, administering, and managing a plurality of separate and distinct virtual computer networks on a virtualization platform for offering cloud computing services (SaaS).
Additional features and advantages are realized through the techniques of the present invention. Other embodiments and aspects of the invention are described in detail herein and are considered a part of the claimed invention.
The recitation herein of desirable objects which are met by various embodiments of the present invention is not meant to imply or suggest that any or all of these objects are present as essential features, either individually or collectively, in the most general embodiment of the present invention or in any of its more specific embodiments.
Referring to the figures, which are exemplary embodiments, and wherein the like elements are numbered alike:
Described herein are a centralized management system and a method which utilizes a templating system for creating, deploying, administering, and managing a plurality of separate and distinct virtual computer networks on a computer grid, in order to offer cloud-computing services (SaaS).
Referring to
Referring to
Referring to
Referring to
Referring to
In an embodiment of the invention, the soft points include, but are not limited to, internal grid network address, external network address, disk volumes, databases, memory, CPUs, etc.
Referring to
Referring to
Referring to
Referring to
Referring to
Referring to
Referring to
Referring to
Referring to
Other aspects of the invention of the invention include a computerized method and a non-transitory computer-readable medium having instructions stored thereon, the instructions configured to adapt an at least one grid processor to perform the method for providing a centralized managing system for creating, deploying, administering, and managing a plurality of separate and distinct virtual networks on a virtualization platform.
Benefits include ease of administering SaaS services, increase security for client, and increase flexibility in general.
While the invention has been described in detail herein in accordance with certain preferred embodiments thereof, many modifications and changes therein may be effected by those skilled in the art. Accordingly, it is intended by the appended claims to cover all such modifications and changes as fall within the spirit and scope of the invention.
This application claims priority to U.S. Provisional Application No. 61/791,245, filed on Mar. 15, 2013, which is incorporated herein by reference in its entirety.
| Number | Name | Date | Kind |
|---|---|---|---|
| 7379857 | Piesco | May 2008 | B2 |
| 8255907 | Chiaramonte et al. | Aug 2012 | B2 |
| 8294593 | Behrendt et al. | Oct 2012 | B2 |
| 8335678 | Hughes | Dec 2012 | B2 |
| 8347355 | Mower et al. | Jan 2013 | B2 |
| 8392608 | Miller et al. | Mar 2013 | B1 |
| 8432832 | Zuk | Apr 2013 | B2 |
| 8671176 | Kharitonov | Mar 2014 | B1 |
| 8838764 | Johnston | Sep 2014 | B1 |
| 9027077 | Bharali | May 2015 | B1 |
| 9137121 | Sinn | Sep 2015 | B1 |
| 9851984 | Kennedy | Dec 2017 | B2 |
| 20060155708 | Brown | Jul 2006 | A1 |
| 20070043860 | Pabari | Feb 2007 | A1 |
| 20090044270 | Shelly | Feb 2009 | A1 |
| 20090299920 | Ferris et al. | Dec 2009 | A1 |
| 20110022694 | Dalal | Jan 2011 | A1 |
| 20110071983 | Murase | Mar 2011 | A1 |
| 20120072909 | Malik | Mar 2012 | A1 |
| 20120089666 | Goswami | Apr 2012 | A1 |
| 20120117181 | Patel | May 2012 | A1 |
| 20120209812 | Bezbaruah | Aug 2012 | A1 |
| 20120260250 | Maeda | Oct 2012 | A1 |
| 20120284405 | Ferris | Nov 2012 | A1 |
| 20120284708 | Anderson, III et al. | Nov 2012 | A1 |
| 20130014106 | Imai | Jan 2013 | A1 |
| 20130041987 | Warno | Feb 2013 | A1 |
| 20130124712 | Parker | May 2013 | A1 |
| 20130212576 | Huang | Aug 2013 | A1 |
| 20140010109 | Himura | Jan 2014 | A1 |
| 20140195666 | Dumitriu | Jul 2014 | A1 |
| 20140196032 | Gupta | Jul 2014 | A1 |
| 20140297871 | Iikura | Oct 2014 | A1 |
| 20150365281 | Marino | Dec 2015 | A1 |
| 20170054728 | Hadar | Feb 2017 | A1 |
| Number | Date | Country |
|---|---|---|
| 1682978 | Jul 2006 | EP |
| Number | Date | Country | |
|---|---|---|---|
| 20140280914 A1 | Sep 2014 | US |
| Number | Date | Country | |
|---|---|---|---|
| 61791245 | Mar 2013 | US |