存储即服务的个性化支付

存储即服务的个性化定价机制

存储即服务的个性化支付

1. 引言

目前,无论是学术研究还是亚马逊网络服务和微软Azure等所有主要提供商的产品,云存储定价的最新技术都是由存储运营商提供每千兆字节的固定价格(或在某些情况下为固定数量的数据),且随着客户购买量增加,单位价格递减。例如,亚马逊 S3为其标准存储服务提供如下合同:客户每月前1TB数据支付每 GB 0.03美元,接下来的49TB/月支付每GB 0.0295美元,再接下来的450TB/月支付每GB 0.0290美元,以此类推。通过提供此类合同,存储运营商只能获得其客户如何使用存储以及将使用多少吉字节数据的非常有限的信息。事实上,即使价格随使用情况而变化,也无法提前获知客户的未来消费情况;到月底时,客户的定价层级才根据其当月实际使用的资源确定。这种信息的缺乏使得存储运营商难以预测资源的使用情况,从而难以规划存储活动。此外,由于客户的实际需求未被考虑在内,因此无法针对客户进行个性化服务,例如所提供的存储类型或每千兆字节的价格。

我们的观点是,当前状况代表了服务提供商未能充分获取客户信息的机会。客户掌握着大量有助于存储运营商的信息,但目前尚无途径来表达这些信息。例如,是否有产品发布或从开发到发布的变更?您预计访问数据的频率如何?如果无法及时访问数据,您的业务是否会受到影响?为了理解这些信息可能带来的影响,可以考虑一个新客户的情况。她需要被分配到某个物理存储机架。一种选择是将她分配到现有的机架上,但如果使用量超过机架容量,则需要将某些客户的数据迁移到其他机架或拆分到多个机架。另一种选择是为她分配一个新的机架,但这需要购买额外的硬件。

硬件,同时未充分利用现有存储资源。对于存储而言,如果这些选项并非针对特定客户需求的最佳选择,则任何一种方案都将带来高昂成本。由于缺乏客户信息,存储运营商只能依赖粗略的统计平均值和经验法则来决定采用哪些选项。这只是信息不足导致问题的众多例子之一。其他例子包括:了解是否有足够的存储带宽满足客户需求,若不足,应优先服务哪些客户,以及哪些数据是热数据或冷数据。因此,关于客户意图的信息越充分,存储资源就能被组织得越高效,从而降低运营成本,提升社会效益,并为客户带来更低的价格或为存储运营商增加收入。

在这项工作中,我们朝着存储支付的个性化迈出了第一步。具体而言,我们的目标是学习未来存储使用的概率分布,以便存储运营商能够相应地管理资源。我们可以使用评分规则[5],的技术来获取完整的分布信息,但假设客户能够提供此类信息是不合理的。另一方面,客户可以更容易地估计该分布的一些简单统计量,例如其下限和上限;而运营商则可利用这些界限,结合关于客户行为的内部模型和历史数据,将界限转化为对未来使用的合理分布。这一观察促使我们要 求每位客户报告其所使用的存储单元的下限和上限,其中存储单元可以是例如千兆字节。为简便起见,在本文中我们假设客户必须为下限和上限精确指定千兆字节的数量。然而,正如第5节所讨论的,这一假设可以轻松放宽为粗略估计,而不会对存储运营商造成有意义的信息损失。

为了鼓励客户准确提供所需信息,我们应该给予他们奖励,使得更准确的信息带来更优惠的价格。除了直接影响付款外,错误报告还会对存储产生负面影响。事实上,完全没有信息也比基于不准确信息来规划存储活动更好。考虑之前描述的例子,即需要将新客户分配到某个物理存储机架。正如所讨论的,存储运营商面临多个选项,在没有信息的情况下,他必须使用例如统计平均值来决定选择哪一个。然而,不准确的信息可能会对存储运营商的选择产生更糟糕的影响,使其在相信所选为最佳选项的同时,实际上却选择了最差的选项。

鉴于此,根本问题在于为客户提供适当的激励,以准确报告其信息。为了理解我们所解决的技术挑战,假设一个客户报告她将使用5到15吉字节,但她自己知道实际会使用10到 20吉字节。我们永远不会观察到她使用少于10的情况,因此必须制定价格,使她无法通过报告5而获益。我们仅能概率性地观察到她使用超过15的情况。但关键是,即使我们确实观察到这种情况,也无法得知她的真实上限是20还是200。因此,我们需要设计出在期望意义上能够抑制这种行为的惩罚。

在本研究中,我们考虑两种用于个性化付款的合同类型:灵活合同和固定合同。灵活合同沿用了当前定价模式,客户在合同期末为其实际存储消耗进行支付。然而,与当前实践不同的是,在我们的研究中,每存储单位价格会根据客户提供的信息进行定制。因此,当客户选择灵活合同时,存储运营商将立即计算个性化的每存储单位价格,客户在合同期末支付的最终价格等于该每存储单位价格乘以其实际使用的存储单元数量。通过这种方式,我们能够在最小干扰的情况下获得额外信息带来的好处。

固定合同是在当前定价模型中不可用的一种选项,但在我们设想的方法中却非常自然。当客户选择此合同时,需预先支付所需服务的总费用。由于在合同开始时无法获得实际存储使用量的信息,因此在计算最终支付金额时,将使用存储运营商基于客户报告的信息及其历史记录等做出的估算值,而非客户的实际消耗量。因此,与之前一样,存储运营商会计算每存储单位的个性化价格,但最终支付金额等于该价格乘以客户预估将使用的存储单元数量。我们指出,引入固定合同尤其具有优势,因为它能够满足现有定价机制未能满足的客户需求。假设您(或一家公司或政府机构)有一个研究项目,该项目将在2年内产生数据,之后需要保留8年,并且希望从当前即将在3年内到期的拨款(预算)中一次性预付费用完成此事。在现有的合同选项下,使用云存储并不可行,因为第三年后您将没有资金继续支付费用,最终您不得不选择成本更高的方案,即自行购买硬件。而通过我们提出的固定合同类型,云存储将成为一种可行且更便宜的选择。

总之,我们的贡献如下: 1. 存储运营商如何利用额外信息的模型;2. 设计个性化的付款和惩罚机制,以激励客户披露其信息;3. 引入一种新型合同,即固定合同,其中支付在事前完成。

2. 模型

在本节中,我们描述存储运营商如何使用客户提供的信息。我们首先介绍一个简单的示例,该示例将在整篇论文中用于展示我们的结果。随后,这些内容将在第5节中进行推广。

假设时间被划分为从1到 T的若干时段,并且客户使用的存储单元数量不会随着时间减少,即对于所有 t ∈ [1, T−1],在 t时使用的存储单元数量小于或等于客户在 t+1时使用的数量。我们认为这一假设是合理的,因为我们研究的问题相关对于云存储(而非云计算),客户更倾向于将服务用于长期文件存储,因此在此类设置中存储的数据量会随着时间的推移而增加。

设 l表示客户使用的存储单元数量的下限,u表示上限。l的最小值为 lmin,u的最大值为 umax。(l, u)是客户的私有信息,我们的目标是将其揭示出来,即获得$\hat{l}=l$和$\hat{u}=u$,其中$\hat{l}$和$\hat{u}$分别为报告的下限和上限。根据这些报告的界限,存储运营商可以估计客户在每个时间段 t将使用的存储单元数量。本质上,我们假设存储运营商知道随机变量 $R_t$的概率分布,该随机变量表示在时间 t相对于报告下限的存储单元数量的增量。需要注意的是,由于目标是激励客户如实报告,我们假设 $R_t \in [0, u−l], \forall t \in [1, T]$。因此,存储运营商可以估计客户在 t将使用的存储单元数量,我们将表示此数量的随机变量定义为 $S_t = l + R_t$。令 $S = \frac{\sum_{t \in {1…T}} S_t}{T}$为相关时间窗口内的平均使用量的估计值。用 $r_t$表示 $R_t$的实现值,$s_t = l + r_t$表示 $S_t$的实现值,s 表示S的实现值。(通常,我们用大写字母表示随机变量,用小写字母表示其实现值。)

直观上,存储运营商在每个时间段 t为客户分配恰好等于客户预期使用数量的存储单元(即 $E[S_t]$)可能并不符合其最佳利益。实际上,为了有足够的灵活性来应对客户行为预测的波动,在 t时刻,存储运营商应分配比 $E[S_t]$更多的存储单元。例如,通过分配更多空间,存储运营商可以允许客户在未来时间段内增加使用量,而无需拆分或迁移客户的数据。当然,保留存储资源作为备用并非免费,因此存储运营商应在额外分配的数量上保持审慎。这就是为什么我们不考虑一种简单的模型,即在时间 t1为客户一次性分配其请求的全部存储空间。用 $q_t(\hat{l},\hat{u})$表示一个函数,该函数根据报告的上下限,定义在 t时刻为某一客户分配多少存储单元,并令 $q(\hat{l}, \hat{u}) = \frac{\sum_{t \in {1…T}} q_t(\hat{l},\hat{u})}{T}$。本文中,我们将时间周期 t为客户预留的存储空间建模为报告的下限加上预计她在 t+1时刻将使用的存储单元数量。形式上,$q_t(\hat{l}, \hat{u}) = \hat{l} + E[R_{t+1}]$。当然,在时间t,客户实际使用的存储量可能会多于或少于$q_t(\hat{l},\hat{u})$。然而,如果有多个客户共享同一存储资源且他们的使用行为相互独立,则总体差异趋于平均化。因此,为每位客户分配其预期的存储单元作为一个简单模型是合理的,当然也可以额外保留一些存储空间而不显著影响我们的分析。为了说明这一思路,我们考虑一个特定示例,其中 T= 2。在接下来的章节中,我们将分析此示例,并进一步讨论其推广性。

EXAMPLE 1.

我们将时间划分为两个阶段:t1和 t2,并假设$q_t(\hat{l},\hat{u})$按上述方法计算得出。因此,$q_{t1}(\hat{l},\hat{u}) = \hat{l} + E[R]$且 $q_{t2}(\hat{l},\hat{u}) = l + r$,因为 t2 = T,并且在最后一个时间段,存储运营商只需分配客户实际使用的存储单元。为简便起见,我们使用$R = R_T$ 和 $r = r_T$。

我们假设存储运营商使用的模型是在 t1 时刻恰好使用了 l 个单位。从 t1 到 t2 的存储增量被假定为在 $R \sim U(0, u−l)$ 范围内均匀随机抽取。因此,$E[R] = \frac{\hat{u}−\hat{l}}{2}$, $E[S] = \frac{1}{2} (\hat{l}+\hat{l}+E[R]) = \frac{3\hat{l} + \hat{u}}{4}$,且 $q(\hat{l},\hat{u}) = \frac{1}{2}(\hat{l} + E[R] + \hat{l} + E[R]) = \frac{\hat{l} + \hat{u}}{2}$。

t 已使用 预测 $E[S_t]$ 分配 $q_t(\hat{l}, \hat{u})$
t1 l $\hat{l}$ $\hat{l} + E[R]$
t2 $l + r$ $\hat{l} + E[R]$ $l + r$

请注意,我们的运行示例在某种程度上是退化的,因为实际上 l不存在不确定性。此外,我们假设区间是从均匀分布中抽取的。这些假设使得我们初步分析能够在不增加复杂性的情况下揭示结果的主要直觉。在第5节中,我们将放宽这些假设。

3. 灵活合同

当客户选择灵活合同时,在签订合同时必须指定其在合同结束前将使用的存储单元的下限$\hat{l}$和上限$\hat{u}$。根据此信息,存储运营商将估算客户所需支付的每存储单位价格 $p(\hat{l},\hat{u})$,前提是客户未违反所申报的任一界限。该价格是合同的一部分。实际支付在合同到期时进行,即在时间 T结束时,因为支付金额取决于客户实际使用的存储单元数量。实际上,客户的支付 $P_{\text{flex}}(\hat{l},\hat{u})$等于每存储单位价格乘以客户实际使用的存储单元数量。

如前一节所述,在每个时间段 t,存储运营商可能会决定分配比其预测客户将使用的更多的存储单元。虽然分配额外的存储单元可确保为客户提供更高效的服务,但存储提供商不希望因采用此种分配模式而造成损失。因此,客户也应承担额外分配存储单元的成本。这意味着应设定每存储单位价格 $p(\hat{l},\hat{u})$,以补偿总体已分配存储单元的成本。需要注意的是,向客户收取额外存储费用是一种常见做法。然而,与我们所提出的方案不同,通常这种收费是基于经验规则,并直接内嵌在所收取的价格中。

正式地,表示客户支付的随机变量是

$$
P_{\text{flex}}(\hat{l}, \hat{u}) = \sum_{t \in T} s_t \cdot p(\hat{l}, \hat{u}) = T \cdot s \cdot p(\hat{l}, \hat{u})
$$

其中 $p(\hat{l},\hat{u})$ 是一个函数,根据报告的边界计算客户将为每个存储单元支付的支付金额。客户在签署合同时计算的预期支付金额为

$$
E[P_{\text{flex}}(\hat{l}, \hat{u})] = \sum_{t \in T} E[S_t] \cdot p(\hat{l}, \hat{u}) = T \cdot E[S] \cdot p(\hat{l}, \hat{u})
$$

我们现在正式描述如何计算给定客户每存储单位价格。为了确保客户的支付也覆盖额外分配的存储单元的成本,在计算 $p(\hat{l}, \hat{u})$时,单个存储单元的成本 c(例如,一个存储架的成本除以其存储单元数量)会增加一个因子 $\rho(\hat{l},\hat{u})$。注意,c 与客户申报的信息无关,并且它是常数,因为规模经济已被计入1中。形式上,

$$
p(\hat{l},\hat{u}) = \rho(\hat{l},\hat{u}) \cdot c
$$

其中

$$
\rho(\hat{l}, \hat{u}) = \frac{q(\hat{l},\hat{u})}{E[S]}
$$

因此,$\rho(\hat{l}, \hat{u}) \cdot c \cdot E[S] \cdot T = c \cdot q(\hat{l}, \hat{u}) \cdot T$。例如,$\rho(\hat{l},\hat{u}) = \frac{2\hat{l}+2\hat{u}}{3l+u}$,且 $P_{\text{flex}}(\hat{l}, \hat{u}) = T \cdot S \cdot \frac{2\hat{l}+2\hat{u}}{3l+ \hat{u}} \cdot c$。

3.1 激励

在本节中,我们研究客户在何种情况下没有动机报告与实际值不同的界限。在计算支付时,唯一受客户信息影响且可能被操纵的参数是 $p(\hat{l},\hat{u})$。因此,当我们想要探讨客户是否有动机以及如何被激励去报告不同于 l和 u的界限$\hat{l}$和$\hat{u}$时,我们只需关注 $p(\hat{l}, \hat{u})$。

如果客户的支付在 $\hat{l} = l$ 和 $\hat{u} = u$ 时最小化,则她没有动机虚报边界。因此,当 $\rho(l, u) \leq \rho(\hat{l}, \hat{u})$ 时,她没有动机虚报 $(\hat{l}, \hat{u})$。正如我们在下述定理中所观察到的,当 $\hat{l} < l$ 和 $\hat{u} > u$ 时,该条件成立。所有定理的证明均载于论文的完整版本中。

THEOREM 1. 在示例1描述的场景中,客户没有动机报告$\hat{l} < l$或$\hat{u} > u$。

然而,客户可能仍有动机报告$\hat{l} > l$或$\hat{u} < u$。为解决此问题,存储运营商可在每次观察到违反任一界限时向客户收取违约金,下节将对此进行讨论。

3.2 惩罚

在本节中,我们将描述如何计算对报告$\hat{u} < u$的客户所收取的惩罚。为了确保客户如实报告,只要她在每次违反合同时被收取无限惩罚就足够了。然而,我们的目标是计算出更精确的惩罚,并证明可以定义一个与具体问题实例无关的合理上限。这一点非常重要,因为没有实际客户会接受包含无限惩罚的合同。

我们省略了关于如何计算$\hat{l} > l$惩罚的讨论,因为在我们的示例中,对$\hat{l}$不存在不确定性,因此对错误报告进行惩罚是显而易见的。请注意,这一限制是由于所考虑的示例所致,而非本文提出模型本身的限制。在第5节中,我们将论证,当存在关于$\hat{l}$的不确定性时,可以采用一种与本文所提方法对称的方案。

THEOREM 2. 在示例1描述的场景中,为了确保报告$\hat{u} < u$的客户所支付的期望支付高于她通过报告 u所获得的支付,存储运营商可以将其总支付设置为

$$
\rho_{\text{max}} \cdot c \cdot \sum_{t \in [T]} s_t + 2 \cdot N_{\text{flex}} \cdot (s_T - \hat{u})
$$

其中$N_{\text{flex}}$ 是客户通过虚报所能获得收益的上限,而 $\rho_{\text{max}}$ 是 $\rho$可能达到的最高值。

4. 固定合同

在上一节中,我们研究了一种类似于当前合同的形式,即根据客户使用的存储单位数量按单位价格进行报价。在本节中,我们将探讨另一种方式,即客户可以事先获得一个固定价格的报价,而无需考虑其实际使用量(只要使用量在其申报的上限范围内)。如前所述,在我们的示例场景中,不确定性仅存在于上限$\hat{u}$。因此,基于 $l$(该存储)运营商可以轻松验证)以及$\hat{u}$,即存储运营商估计客户需支付的每存储单位价格,即$ p(l, \hat{u})$,以及客户将使用的存储单元数量,即$ E[S]$。这两者的乘积即为客户签订合同时需支付的价格。正式地:

$$
P_{\text{fix}}(l, \hat{u}) = T \cdot E[S] \cdot p(l, \hat{u})
$$

与之前一样,由于分配的存储单元多于实际使用量,因此计算价格$ p(l,\hat{u})$时需确保客户的支付能够覆盖这部分额外成本。因此,$ p(l,\hat{u})$和$ \rho(l, \hat{u})$的计算方式与灵活合同情况完全相同。基于此,我们可以将支付写为

$$
P_{\text{fix}}(l, \hat{u}) = T \cdot E[S] \cdot \frac{q(l, \hat{u})}{E[S]} \cdot c = T \cdot q(l, \hat{u}) \cdot c
$$

注意,$ P_{\text{fix}}(l, \hat{u})$不依赖于具体实现,也不涉及期望值,因为在签订合同时,客户支付的确切金额是已知的。对于示例1,$P_{\text{fix}}(l, \hat{u}) = (l + \hat{u}) \cdot c$。

事实上,灵活合同与固定合同之间的主要区别在于,只要客户不违反要求,后者的支付实际上是固定的。相比之下,在灵活合同的情况下,在时间$t_1$开始时,只有存储单元的成本是固定的,而客户的总支付(即使她没有违反合同)仅在时间$T$结束时才能确定。

4.1 激励

在本节中,我们研究客户在何种情况下有激励报告一个与实际值不同的上限。容易观察到,我们示例中的支付会随着$\hat{u}$的增加而增加。因此,客户没有激励去报告$\hat{u} > u$。这证明了以下定理。

THEOREM 3. 在示例1所述场景中,客户没有动机报告$\hat{u} > u$。

尽管我们在报告$\hat{u}$方面具有与灵活情况相同的激励,但在报告$\hat{l}$(如果需要报告)方面的激励则不同。事实上,从示例1的固定支付中我们可以推断,当$\hat{l}$增加时,支付也随之增加。因此,客户没有动机报告$\hat{l} > l$。

4.2 惩罚

根据前一节的讨论,我们唯一需要关注的问题是防止客户报告$\hat{u} < u$。在此,我们展示当存储运营商发现客户虚报时如何对其进行惩罚。需要注意的是,对于灵活合同而言,无限惩罚将确保真实披露。然而,我们的目标是为惩罚设定一个合理上限,使其保持有限(这在任何实际方案中似乎都是必要的)。

THEOREM 4. 在示例1所述的场景中,为了确保报告$\hat{u} < u$的客户被收取的支付高于她报告 $u$时所获得的支付,存储运营商可以将其总支付设为

$$
\rho_{\text{max}} \cdot c \cdot \sum_{t \in [T]} s_t + 2 \cdot N_{\text{fix}} \cdot (s_T - \hat{u})
$$

其中$N_{\text{fix}}$ 是客户通过虚报所能获得收益的上限,而 $\rho_{\text{max}}$ 是 $\rho$可能达到的最高值。

5. 泛化

本文提出的所有结果均可推广至以下情况:(i)客户使用的最小存储量存在不确定性,即当$E[S_{t_1}] = \hat{l} + E[R_1]$时;(ii)包含两个以上时间段的情况;(iii)上下限以粗略方式指定的情况;以及(iv)存储单元增量并非来自均匀分布的情况。详细讨论请参见论文的完整版本。

6. 相关工作

据我们所知,尽管尚未有人以我们提出的方式研究过云定价,但已有许多相关问题被探讨。最接近的研究是Xu和Li[9]的工作,他们研究了限流和性能保证等技术,以在按每存储单位固定价格收费的支付方案下最大化收入。Abhishek、Kash和Key [1]以及Borgs、Chayes、Doroudi、Harchol‐Balter和Xu [2]研究了队列中位置的拍卖机制设计,其应用包括计算资源的现货市场,客户可以在其中出价他们愿意支付的金额。Jain、Menache、Naor和Yaniv[7]研究了云系统中任务调度的机制设计。

我们的技术依赖于检测某些类型的错误报告,并对实施此类行为的代理进行惩罚,这属于具有部分验证的机制设计范畴,已在各种背景下得到研究[6, 8, 4]。我们只能概率性地发现这些报告,Caragiannis、Elkind、Szegedy 和 Yu [3] 研究过这一版本。另一种方法是向用户按存储单位收取固定费用,然后使用评分规则激励准确报告[5]。然而,这种方法的缺点在于,评分支付的事先解释更为困难。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值