EOF - 释放第 7 层

作者:Doc Searls

曾几何时,您在应用方面所做的决定始于 OSI 模型的第 1 层:布线。那是因为当时每个人都销售“集成”系统,这些系统在 OSI 堆栈的每一层都被隔离起来,看起来像这样

7. 应用层
6. 表示层
5. 会话层
4. 传输层
3. 网络层
2. 数据链路层
1. 物理层

(是的,还有其他方法可以对这些层进行分类。但这七层是最广泛使用的,请耐心听我说。)

因此,几十年前,如果您拥有 IBM System 34、36 或 38,您需要在底部使用双轴电缆布线,并在顶部使用专门为这些系统编写的应用。即使是不同的 IBM 系统也使用不同的布线、网络和应用。

使布线更通用的努力发生在一两个更高的层级。这就是以太网和 IBM 自己的令牌环所做的事情。但是,存在许多不同的以太网和令牌环产品,每个产品也都有自己特殊的布线。这些也是需要解决的问题。Novell 在 1980 年代中期通过 NetWare 开始着手解决这个问题,而 TCP/IP 通过为每个人和所有事物(通过互联网)处理第 3 层和第 4 层(网络层和传输层)完成了这项工作。TCP/IP 的解放效果向上和向下延伸。您可以在其下方或上方放置任何您想要的东西,而无需担心另一端是什么。

我们的生活位于第 7 层之上。当我们查看口袋里的移动设备上的应用集合时,我们看到的就是这一层。由于我们在这里谈论的是 Linux,这主要意味着 Android,它在 2010 年 10 月下旬突破了 10 万个应用的里程碑。为了说明我即将提出的观点,让我们加上 iPhone 上的 30 万个应用,以及 Windows、Symbian 和其他平台上的数千个应用。我的观点是,它们运行的操作系统不应限制您将它们连接到任何您想要的东西的方式,包括其他应用。

但是,我们获得的大多数应用都是服务器和服务的扩展。在那个层面上,很多很棒的事情正在发生,尤其是在 API 方面。Facebook 和 Twitter 的 API 为您在许多网站上提供了单点登录快捷方式。您还可以连接服务,例如通过使您的 Flickr 照片上传显示在 Facebook 上。

但是,我们自己可以做些什么来将应用和数据连接在我们口袋里呢?为此,我们还处于早期阶段。

例如,假设您是一名冲浪者。您的手机上有一个冲浪应用。您还有一个日历、一个带有交通信息的地图应用和一个健身应用,其中包含从您的体重秤、睡眠监测系统和锻炼应用中收集的数据。在旧世界(我们仍然生活在其中),我们大多数人自然而然地首先寻找将这些东西组合在一起的地方是在这些应用和设备的制造商提供的不同服务内部和跨服务之间。但是,为什么不为我们自己编程这些连接呢?这是我们在第 7 层实现完全自主的唯一方法。

“第 7 层是最后的边界”,Craig Burton 说。在 1980 年代的 Novell,他使 NetWare 从第 1 层和第 2 层中解放了依赖关系。现在他正在与犹他州的初创公司 Kynetx 合作。Kynetx 没有将世界视为一群客户端和服务器,而是将世界视为端点、事件、规则、数据和规则引擎。对于这些,他们添加了一些定义和一种用于编写规则的语言 (KRL)。使用 KRL,您可以编程规则来说“冲浪开始了”(当它实际发生时,实时),但这只有在注意到您超重五磅、您已经四天没有锻炼、您已经睡够了、您没有即将到来的约会并且交通畅通之后才会发生。请注意,这里的所有控制权都掌握在用户手中。(公司也可以这样做,它们也可以编写自己的规则,但我们这里的重点是个人。)

回到客户端-服务器世界(它仍然与我们同在),我们现在有了一个主动模型,其中存在 Craig Burton 称之为跨 API 的“全双工”实时交互。这也是新的。

在马萨诸塞州剑桥市,我还与 Zeo 的创始人兼首席技术官 Ben Rubin 进行了交谈,Zeo 是另一位我欣赏其工作的开发人员。Zeo 制造了 Sleep Coach,这是一种监测您睡眠健康的设备。(是的,它运行在 Linux 上。)Zeo 的企业朋友包括 RunKeeper、DalilyBurn、Digifit 和 Withings。我已经有一个 Withings 体重秤。我今天刚设置好我的 Zeo。而且,我也刚刚开始在当地的 Y 健身。在接下来的几个月里,我将看看这些东西是如何混合在一起的,同时牢记我希望如何控制这些网站、服务、应用和设备让我自己做到这一点的方式,以及像 Kynetx 这样的新框架如何使这成为可能。我会让您知道进展如何。

Doc Searls 是 Linux Journal 的高级编辑。他还是哈佛大学伯克曼互联网与社会中心以及加州大学圣巴巴拉分校信息技术与社会中心的研究员。

加载 Disqus 评论