-
Notifications
You must be signed in to change notification settings - Fork 6
/
nom.html
170 lines (170 loc) · 18.9 KB
/
nom.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN" "http://www.w3.org/Math/DTD/mathml2/xhtml-math11-f.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><!--This file was converted to xhtml by LibreOffice - see http://cgit.freedesktop.org/libreoffice/core/tree/filter/source/xslt for the code.-->
<head profile="http://dublincore.org/documents/dcmi-terms/">
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8"/>
<title xml:lang="en-US">Patent process.docx</title>
<meta name="DCTERMS.title" content="Patent process.docx" xml:lang="en-US"/>
<meta name="DCTERMS.language" content="en-US" scheme="DCTERMS.RFC4646"/>
<meta name="DCTERMS.source" content="http://xml.openoffice.org/odf2xhtml"/>
<meta name="DCTERMS.creator" content="Arthur Burkart"/>
<meta name="DCTERMS.issued" content="2014-02-22T23:55:00" scheme="DCTERMS.W3CDTF"/>
<meta name="DCTERMS.contributor" content="Arthur Burkart"/>
<meta name="DCTERMS.modified" content="2014-02-22T23:55:00" scheme="DCTERMS.W3CDTF"/>
<meta name="DCTERMS.provenance" content="" xml:lang="en-US"/>
<meta name="DCTERMS.subject" content="," xml:lang="en-US"/>
<link rel="schema.DC" href="http://purl.org/dc/elements/1.1/" hreflang="en"/>
<link rel="schema.DCTERMS" href="http://purl.org/dc/terms/" hreflang="en"/>
<link rel="schema.DCTYPE" href="http://purl.org/dc/dcmitype/" hreflang="en"/>
<link rel="schema.DCAM" href="http://purl.org/dc/dcam/" hreflang="en"/>
<style type="text/css">
@page { }
table { border-collapse:collapse; border-spacing:0; empty-cells:show }
td, th { vertical-align:top; font-size:12pt;}
h1, h2, h3, h4, h5, h6 { clear:both }
ol, ul { margin:0; padding:0;}
li { list-style: none; margin:0; padding:0;}
<!-- "li span.odfLiEnd" - IE 7 issue-->
li span. { clear: both; line-height:0; width:0; height:0; margin:0; padding:0; }
span.footnodeNumber { padding-right:1em; }
span.annotation_style_by_filter { font-size:95%; font-family:Arial; background-color:#fff000; margin:0; border:0; padding:0; }
* { margin:0;}
.P1 { color:#000000; font-size:11pt; line-height:150%; margin-bottom:0in; margin-top:0in; font-family:Arial; writing-mode:lr-tb; }
.P2 { color:#000000; font-size:11pt; line-height:200%; margin-bottom:0in; margin-top:0in; font-family:Arial; writing-mode:lr-tb; }
.P3 { color:#000000; font-size:11pt; line-height:150%; margin-bottom:0in; margin-top:0in; font-family:Arial; writing-mode:lr-tb; margin-left:0in; margin-right:0in; text-indent:-0.2492in; }
.P4 { color:#000000; font-size:11pt; line-height:150%; margin-bottom:0in; margin-top:0in; font-family:Arial; writing-mode:lr-tb; margin-left:0in; margin-right:0in; text-indent:-0.2492in; }
.P5 { color:#000000; font-size:11pt; line-height:115%; margin-bottom:0in; margin-top:0in; font-family:Arial; writing-mode:lr-tb; margin-left:0in; margin-right:0in; text-indent:-0.2492in; }
.P6 { color:#000000; font-size:11pt; line-height:150%; margin-bottom:0in; margin-top:0in; font-family:Arial; writing-mode:lr-tb; margin-left:0.5in; margin-right:0in; text-indent:0in; }
.P7 { color:#000000; font-size:11pt; line-height:115%; margin-bottom:0in; margin-top:0in; font-family:Arial; writing-mode:lr-tb; }
.P8 { color:#000000; font-size:11pt; line-height:150%; margin-bottom:0in; margin-top:0in; font-family:Arial; writing-mode:lr-tb; }
.Standard { font-size:11pt; line-height:115%; margin-bottom:0in; margin-top:0in; font-family:Arial; writing-mode:lr-tb; color:#000000; }
.ListLabel_20_1 { text-decoration:none ! important; }
.T1 { font-weight:bold; }
.T2 { background-color:#ffff00; }
.T3 { font-style:italic; }
.T4 { font-style:italic; font-weight:bold; }
.T5 { color:#44546a; }
.T6 { color:#ff0000; }
.T7 { color:#1155cc; text-decoration:underline; }
.T8 { color:#222222; font-size:10pt; background-color:#ffffff; }
.T9 { color:#222222; font-size:10pt; background-color:#ffffcc; }
<!-- ODF styles with no properties representable as CSS -->
{ }
</style>
</head>
<body dir="ltr" style="max-width:8.5in;margin-top:1in; margin-bottom:1in; margin-left:1in; margin-right:1in; background-color:#ffffff; writing-mode:lr-tb; ">
<p class="P8">
<span class="T1">What is the goal? </span>
</p>
<ol>
<li>
<p class="P3" style="margin-left:0cm;">
<span class="ListLabel_20_1" style="display:block;float:left;min-width:-0.635cm;">1.</span><span class="T1">Minimize the cost</span> of running a business using an <span class="T1">IaaS/cloud platform</span> by automatically allocating and <span class="T1">deallocating cloud server instances</span> to and from a cloud server network as the ratio of <span class="T2">resource capacity</span> vs <span class="T2">resource demand</span> fluctuates compared to a calculated/configurable <span class="T2">threshold.</span> <span class="odfLiEnd"/>
</p>
</li>
</ol>
<p class="P1"> </p>
<p class="P1"><span class="T1">Field</span>
</p>
<p class="P2">The invention is generally directed toward cloud server network monitoring and management systems, and more <span class="T3">particularly, allocating</span> and deallocating cloud server instances to and from a cloud server network according to a cloud server balancing and consolidation algorithm which <span class="T5">continuously </span>monitors the loads on the cloud <span class="T6">servers </span>and deploys or <span class="T4">releases</span> cloud server instances according to the distribution of workload on server resources across a cloud server <a name="_GoBack"/>network.
</p>
<p class="Standard"> </p>
<p class="Standard"><span class="T1">Background</span> <span> </span>
</p>
<p class="P1">Conventional<a href="https://www.google.com/patents/WO1999032956A3"><span class="T7"> load balancers</span></a> in computer systems “balance the load on a plurality of servers using a load balancing algorithm which continuously examines the loads on the plurality of servers and makes adjustments in the loads accordingly. Among the factors considered in the load balancing are the power of each server relative to other servers, the load on each server relative to the other servers, and a ‘credit’ for each server based on their power and load.”</p>
<p class="P1"></p>
<p class="P1">Conventional load balancing, as defined in the preceding, is helpful when applied to an internal server network, but companies that host their server instances with a cloud service provider are introduced to a new load balancing problem that conventional load balancers cannot address.</p>
<p class="P1"></p>
<p class="P1">“<a href="https://www.google.com/patents/WO2011041101A1"><span class="T7">Cloud service providers offer programs</span></a>, such as infrastructure as a service (IaaS), which use different pricing schemes when charging for use of cloud resources.” While a conventional load balancer may help ensure a company’s cloud server instances operate efficiently in a cloud server network, especially during times of peak usage, a conventional load balancer cannot minimize the cost of using a cloud server network because it balances the load among the cloud servers rather than assessing whether a new cloud server instance should be allocated or an old one deallocated.</p>
<p class="P1"/>
<p class="P1"><span class="T3">Comparable to the way conventional load balancers allocate or deallocate resource demand to or from a server instance, this cloud server network management system allocates and deallocates cloud server instances from the cloud server network</span>. However, resource demand must be allocated differently in this scenario to accommodate efficient allocation and deallocation of cloud server instances. </p>
<p class="P1"> </p>
<p class="P1">Allocation and deallocation of resource demand, for example, could be completed using strategies similar to those found in the patents below:</p>
<p class="P1"> </p>
<p class="P1"><span> <span class="T1">bin packing</span></span></p>
<p class="P6"><a href="https://www.google.com/patents/US20130235416?dq=bin+packing&hl=en&sa=X&ei=IoHXUtz-D8HtoATOhoLIDA&sqi=2&pjf=1&ved=0CEAQ6AEwAQ"><span class="T7">https://www.google.com/patents/US20130235416</span></a></p>
<p class="P6"><span class="T8">“Cloud computing services, such as production services, offer customers many benefits including reduced capital expenditures, scalability, managed upgrades and access to new workflows. Often, Infrastructure-as-a-Service cloud systems rent the use of virtual machines by the hour. Production jobs typically have an associated deadline by which the production job needs to be completed. Accordingly, it is important to schedule production jobs efficiently in order to maximize the use of a virtual machine during a rental period and therefore minimize the production cost.”</span></p>
<p class="P6"> </p>
<p class="P6"><span class="T1">scheduler</span></p>
<p class="P6"><a href="https://www.google.com/patents/US8429659"><span class="T7">https://www.google.com/patents/US8429659</span></a> </p>
<p class="P6">(this patent is also really good for teminology)</p>
<p class="P6"><span class="T8">a method for prioritizing jobs within a </span><span class="T9">cloud</span><span class="T8"> computing environment, comprising: determining a processing capacity of the </span><span class="T9">cloud</span><span class="T8"> computing environment; determining an income, a processing need, a set of service level agreement (SLA) terms for each of a plurality of jobs; and prioritizing the plurality of jobs based on their respective income, processing need, and SLA terms, wherein the prioritizing ensures that the set of SLA terms are met while maximizing the income and without exceeding the processing capacity.</span></p>
<p class="P6"> </p>
<p class="P6"><span class="T1">NOTE: This patent app, written in Chinese, is very similar to this patent </span><a href="https://www.google.com/patents/CN102495759A"><span class="T7">https://www.google.com/patents/CN102495759A</span></a></p>
<p class="P1"> </p>
<p class="P1"><a href="http://www.google.com/patents/US20110264748"><span class="T7">Because </span></a>resource demand often changes, over or under utilization of these resources can be an issue. For example, as a cloud server instance process progresses, resource demand may decrease with the amount of tasks it has left to process. Conversely, resource demand may increase as new tasks are requested. Because conventional systems do not dynamically adapt to changing resource requirements, cumbersome manual intervention may be required to allocate new cloud server instances and increase capacity, or deallocate assigned cloud server instances and reclaim unused resources.</p>
<p class="P1"> </p>
<p class="P1">The pdf diagram shows a high level flowchart of how this idea will work, but processes will need to be described at the server level too.</p>
<p class="P1"> </p>
<p class="P1"><span class="T1">Schedule tasks/resource demand/workload</span></p>
<p class="P1">I don’t think I need to describe this too thoroughly, but I will note that it is very important that tasks be assigned to cloud server instances in such a way that each cloud server instance has minimum surplus resources. </p>
<p class="P1">Although tasks can be assigned in such a way that each cloud server instance has minimum surplus resources, tasks will be completed at different rates and servers will inevitably be left with disparate amounts of surplus resources ranging from 0% to 100%. </p>
<p class="P1"> </p>
<p class="P1"><span class="T1">continuously calculate distribution of tasks/resource demand/workload</span></p><p class="P1">Since the cloud server instances will inevitably have different resource demands on them as processes progress, it will be necessary to continuously monitor each server instance to make sure they are operating at maximum capacity. </p>
<p class="P1"> </p>
<p class="P1"><span class="T1">consolidate resource demand when possible</span></p>
<p class="P1">If cloud server instances are found to not be fully utilized, then measures must be taken to maximize resource demand on cloud server instances. This will usually mean moving tasks from an under-utilized cloud server instance to a cloud server instance that has more tasks to process. However, by moving tasks away from the cloud server instance, the cloud server instance is even more underutilized. When this happens, the system must determine if it is cost-effective to deallocate the underutilized cloud server instance. If it is cost-effective, then the cloud server instance needs to be configured to refuse all future tasks from the cloud scheduler (this is the first time I’ve used this term, I should probably go back and give the scheduling step a name for a part of the system) so it can be deallocated without the risk of negatively impacting the processing of tasks in the cloud server network. </p>
<p class="P1"> </p>
<p class="P1">It is important to note that it may not always be feasible to deallocate a cloud server instance, even when it’s underutilized. For example, tracking historical peak demand for a company’s cloud network may reveal that resource demand will likely increase before the end of the hour. If this is the case, then it may be more cost-effective to extend the contract to run the cloud server instance instead of deallocating it because allocating another cloud server instance to meet the future increased resource demand will cost more money than would be saved by deallocating the underutilized server.</p>
<p class="P1"> </p>
<p class="P1">This system will take these scenarios into account as it manages the cloud server network. In the case described above, the system may need to take into account the pending increase in resource demand and stop consolidating resource demand on the cloud server network in order to more efficiently process jobs. That way the underutilized cloud server instance can still process tasks. </p>
<p class="P1"> </p>
<p class="P1"><span class="T1">When there are surplus computing resources in the cloud server network</span></p>
<p class="P1">If there are surplus resources, then the system should calculate the cost of deallocating as cloud server instance. Depending on the resource cost and savings associated with deallocatng a cloud server instance, the system may or may not deallocate the cloud server instance. There are a lot of factors to take into account:</p>
<ol>
<li>
<p class="P4" style="margin-left:0cm;"><span class="ListLabel_20_1" style="display:block;float:left;min-width:-0.635cm;">1.</span>Time needed to deallocate a cloud server instance<span class="odfLiEnd"/> </p>
</li>
<li>
<p class="P4" style="margin-left:0cm;"><span class="ListLabel_20_1" style="display:block;float:left;min-width:-0.635cm;">2.</span>Time needed to allocate a new cloud server instance when one is needed<span class="odfLiEnd"/> </p>
</li>
<li><p class="P4" style="margin-left:0cm;"><span class="ListLabel_20_1" style="display:block;float:left;min-width:-0.635cm;">3.</span>Cost of deallocating a cloud server instance<span class="odfLiEnd"/> </p>
<ol>
<li>
<p class="P4" style="margin-left:0cm;"><span class="ListLabel_20_1" style="display:block;float:left;min-width:-1.905cm;">a.</span>if a cloud server instance is bid to run for 8 hours and has only ran for 6 hours, how much money is lost?<span class="odfLiEnd"/> </p></li>
<li>
<p class="P4" style="margin-left:0cm;"><span class="ListLabel_20_1" style="display:block;float:left;min-width:-1.905cm;">b.</span>if a cloud server instance is deallocated, how many jobs will not be processed during the cloud server instance’s contract that otherwise could have<span class="odfLiEnd"/> </p>
</li>
</ol>
</li>
<li>
<p class="P4" style="margin-left:0cm;"><span class="ListLabel_20_1" style="display:block;float:left;min-width:-0.635cm;">4.</span>Cost of allocating a new cloud server instance<span class="odfLiEnd"/> </p>
<ol>
<li>
<p class="P4" style="margin-left:0cm;"><span class="ListLabel_20_1" style="display:block;float:left;min-width:-1.905cm;">a.</span>Bidding for new cloud server instances costs money<span class="odfLiEnd"/> </p></li>
</ol>
</li>
</ol>
<p class="P1"> </p>
<p class="P1"> If the underutilized cloud server instance is not deallocated, then the system will continue monitoring and consolidating resource demand as cost-effectively as possible. </p>
<p class="P1"> </p>
<p class="P1"> </p>
<p class="P1"> </p>
<p class="P1"> </p>
<p class="Standard"><a href="https://www.google.com/patents/WO1999032956A3?cl=en&dq=load+balancer&hl=en&sa=X&ei=Z9-9UuztFcbuoASb8oK4BA&ved=0CDcQ6AEwAA"/></p>
<p class="Standard"/>
<p class="Standard"> </p>
<p class="Standard">How to achieve this?</p>
<ol><li>
<p class="P5" style="margin-left:0cm;"><span class="ListLabel_20_1" style="display:block;float:left;min-width:-0.635cm;">1.</span>Calculate resource demand on each cloud server instance<span class="odfLiEnd"/> </p>
<ol>
<li>
<p class="P5" style="margin-left:0cm;"><span class="ListLabel_20_1" style="display:block;float:left;min-width:-1.905cm;">a.</span><span class="odfLiEnd"/> </p>
</li>
</ol>
</li>
<li>
<p class="P5" style="margin-left:0cm;"><span class="ListLabel_20_1" style="display:block;float:left;min-width:-0.635cm;">2.</span>Keep track of resource demand history<span class="odfLiEnd"/>
</p>
</li>
<li>
<p class="P5" style="margin-left:0cm;"><span class="ListLabel_20_1" style="display:block;float:left;min-width:-0.635cm;">3.</span>Calculate<span class="odfLiEnd"/> </p>
</li>
</ol>
<p class="P7"> </p>
<p class="P7"><span class="T1">Calculate Allocation/De-allocation of Cloud Server Instance</span></p>
<p class="P7">Can I use this? <a href="http://technet.microsoft.com/en-us/library/cc181325.aspx">http://technet.microsoft.com/en-us/library/cc181325.aspx</a></p>
<p class="P7"> </p>
<p class="P7">We will have functions called:<br/>double getServerLoadCapacity()<br/>double getServerLoad()<br/>double getServerLoad
</p>
</body>
</html>