icecp
所属分类:物联网
开发工具:Java
文件大小:720KB
下载次数:0
上传日期:2020-04-03 18:32:57
上 传 者:
sh-1993
说明: 包括以信息为中心的边缘计算平台(ICECP)节点的核心API和参考实现
(Includes the core API and the reference implementation for an Information- Centric Edge Compute Platform (ICECP) Node)
文件列表:
CONTRIBUTORS.md (491, 2017-04-14)
LICENSE (11358, 2017-04-14)
Makefile (1976, 2017-04-14)
doc (0, 2017-04-14)
doc\Pipeline.png (12353, 2017-04-14)
doc\icecp-architecture.png (12040, 2017-04-14)
doc\icecp-data-bus.png (5137, 2017-04-14)
doc\icecp-system-new.png (35658, 2017-04-14)
doc\icecp-system-old.png (24489, 2017-04-14)
doc\modules.md (25, 2017-04-14)
icecp-core (0, 2017-04-14)
icecp-core\pom.xml (3858, 2017-04-14)
icecp-core\src (0, 2017-04-14)
icecp-core\src\main (0, 2017-04-14)
icecp-core\src\main\java (0, 2017-04-14)
icecp-core\src\main\java\com (0, 2017-04-14)
icecp-core\src\main\java\com\intel (0, 2017-04-14)
icecp-core\src\main\java\com\intel\icecp (0, 2017-04-14)
icecp-core\src\main\java\com\intel\icecp\core (0, 2017-04-14)
icecp-core\src\main\java\com\intel\icecp\core\Attribute.java (3144, 2017-04-14)
icecp-core\src\main\java\com\intel\icecp\core\Channel.java (9966, 2017-04-14)
icecp-core\src\main\java\com\intel\icecp\core\Describable.java (880, 2017-04-14)
icecp-core\src\main\java\com\intel\icecp\core\Message.java (792, 2017-04-14)
icecp-core\src\main\java\com\intel\icecp\core\Metadata.java (768, 2017-04-14)
icecp-core\src\main\java\com\intel\icecp\core\Module.java (6046, 2017-04-14)
icecp-core\src\main\java\com\intel\icecp\core\Network.java (3325, 2017-04-14)
icecp-core\src\main\java\com\intel\icecp\core\Node.java (4087, 2017-04-14)
icecp-core\src\main\java\com\intel\icecp\core\attributes (0, 2017-04-14)
icecp-core\src\main\java\com\intel\icecp\core\attributes\ArchitectureAttribute.java (1200, 2017-04-14)
icecp-core\src\main\java\com\intel\icecp\core\attributes\AttributeMessage.java (1403, 2017-04-14)
icecp-core\src\main\java\com\intel\icecp\core\attributes\AttributeNotFoundException.java (861, 2017-04-14)
icecp-core\src\main\java\com\intel\icecp\core\attributes\AttributeNotWriteableException.java (985, 2017-04-14)
icecp-core\src\main\java\com\intel\icecp\core\attributes\AttributePermission.java (1901, 2017-04-14)
icecp-core\src\main\java\com\intel\icecp\core\attributes\AttributeRegistrationException.java (845, 2017-04-14)
icecp-core\src\main\java\com\intel\icecp\core\attributes\Attributes.java (8365, 2017-04-14)
icecp-core\src\main\java\com\intel\icecp\core\attributes\AttributesNamespace.java (1050, 2017-04-14)
icecp-core\src\main\java\com\intel\icecp\core\attributes\BaseAttribute.java (1787, 2017-04-14)
... ...
Information-Centric Edge Compute Platform (ICECP)
=================================================
The Information-Centric Edge Compute Platorm (ICECP) is a modular, distributed
application framework to build products for the Internet-of-Things market that
acquire, route, process and store large quantities of IoT related data;
perpetually analyzing incoming information and generating new knowledge by
correlating it with past results. It allows to connect vast numbers of sensors,
hubs, and platform nodes to exchange information locally at the edge and with
the cloud.
Unlike traditional IoT frameworks that primarily collect data or process them
only minimally at the edge, ICECP is aimed to be the platform infrastructure of
choice for "Software-defined Internet of Things" where algorithms and data can
be freely moved around within a deployment to optimize performance, TCO and
other factors.
### Installation and Use
- [How to Install and Run](https://github.com/icecp/icecp/wiki/How-to-Install-and-Run)
### Documentation
- [Wiki](https://github.com/icecp/icecp/wiki)
- [Javadoc](https://icecp.github.io/icecp)
### Structure
The overall structure of the application is divided into three parts:
1. `core`, packages for APIs and classes common to all node implementations
2. `node`, the default icecp-node implementation
3. `main`, the classes necessary for running a node as a stand-alone
application
Other packages exist at this level (e.g. command, window_buffer) but are not
necessary for node operation and they may be removed from the project with
little notice
### Architecture Overview
ICECP has a __node__ as its central resource; __nodes__ may be sensors,
gateways, servers--any processing unit that can run this application. __Nodes__
contain and run __modules__, that is, sandboxed blocks of code that communicate
with each other and remote modules using __channels__ (see [How To Write Modules]
(doc/modules.md)). In general, __channels__
operate according to a pub-sub model, allowing modules to `publish()` messages
and wait for messages asynchronously using `subscribe(callback)`; one
difference with traditional pub-sub models is that __channels__ also have a
`latest()` method to retrieve only the last published message on the channel.
__Channels__ may be implemented on different transport mechanisms and are
identified by URIs; for example, an NDN channel might look like
`ndn:/name/of/channel`.
A few notes:
- nodes create and manage channels for modules
- modules are sandboxed using permissions--retrieved using channels
- modules can also be loaded using channels
- messages are passed from module to module and transformed; since the flow
of information is not coupled to request-response links between two nodes,
conceptually we can write modules as if they operate on a streaming message
bus
### System Overview
In common edge-to-cloud data flows (including several of our past projects), the
data is pushed from the edge to the cloud using one link per edge node; this
"stove pipe" model is depicted below:
Using ICECP, applications will be able to share network links, retrieve code on demand
from various sources, and overcome intermittent connectivity; NDN also adds
the advantages of in-network caching and application-controlled routing. The
following example is now possible:
### License
Copyright © 2016, Intel Corporation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0).
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
近期下载者:
相关文件:
收藏者: