<?xml version="1.0" encoding="US-ASCII"?>
<!-- This template is for creating an Internet Draft using xml2rfc,
    which is available here: http://xml.resource.org. -->
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!-- One method to get references from the online citation libraries.
    There has to be one entity for each item to be referenced. 
    An alternate method (rfc include) is described in the references. -->

<!ENTITY RFC2119 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC2629 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2629.xml">
<!ENTITY RFC3552 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3552.xml">
<!ENTITY RFC5226 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5226.xml">
]>
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<!-- used by XSLT processors -->
<!-- For a complete list and description of processing instructions (PIs), 
    please see http://xml.resource.org/authoring/README.html. -->
<!-- Below are generally applicable Processing Instructions (PIs) that most I-Ds might want to use.
    (Here they are set differently than their defaults in xml2rfc v1.32) -->
<?rfc strict="yes" ?>
<!-- give errors regarding ID-nits and DTD validation -->
<!-- control the table of contents (ToC) -->
<?rfc toc="yes"?>
<!-- generate a ToC -->
<?rfc tocdepth="4"?>
<!-- the number of levels of subsections in ToC. default: 3 -->
<!-- control references -->
<?rfc symrefs="yes"?>
<!-- use symbolic references tags, i.e, [RFC2119] instead of [1] -->
<?rfc sortrefs="yes" ?>
<!-- sort the reference entries alphabetically -->
<!-- control vertical white space 
    (using these PIs as follows is recommended by the RFC Editor) -->
<?rfc compact="yes" ?>
<!-- do not start each main section on a new page -->
<?rfc subcompact="no" ?>
<!-- keep one blank line between list items -->
<!-- end of list of popular I-D processing instructions -->
<rfc category="info" docName="draft-baba-iot-webapi-07" ipr="trust200902">
 <!-- category values: std, bcp, info, exp, and historic
    ipr values: trust200902, noModificationTrust200902, noDerivativesTrust200902,
       or pre5378Trust200902
    you can add the attributes updates="NNNN" and obsoletes="NNNN" 
    they will automatically be output with "(if approved)" -->

 <!-- ***** FRONT MATTER ***** -->

 <front>
   <!-- The abbreviated title is used in the page header - it is only necessary if the 
        full title is longer than 39 characters -->

   <title abbrev="IoT WebAPI Experiment">
Report on Problem Solving Experiment for Realization of Web-API-based IoT
   </title>

   <!-- add 'role="editor"' below for the editors if appropriate -->

   <!-- Another author who claims to be an editor -->

   <author fullname="Hiroyuki Baba" initials="H.B."
           surname="Baba">
     <organization>The University of Tokyo</organization>
     <address>
       <postal>
         <street>Institute of Industrial Science</street>
         <street>4-6-1 Komaba</street>

         <!-- Reorder these if your country does things differently -->

         <city>Meguro-ku</city>

         <region>Tokyo</region>

         <code>153-8505</code>

         <country>Japan</country>
       </postal>

       <email>hbaba@iis.u-tokyo.ac.jp</email>

     </address>
   </author>


   <author fullname="Yoshiki Ishida" initials="Y.I."
           surname="Ishida">

     <organization>Japan Network Enabler Corporation</organization>
     <address>
       <postal>
         <street>7F S-GATE Akasaka-Sanno.</street>
         <street>1-8-1 Akasaka</street>

         <city>Minato-ku</city>

         <region>Tokyo</region>

         <code>107-0052</code>

         <country>Japan</country>
       </postal>

       <email>ishida@jpne.co.jp</email>

     </address>
   </author>


   <author fullname="Takayuki Amatsu" initials="T.A."
           surname="Amatsu">

     <organization>Tokyo Electric Power Company, Inc.</organization>
     <address>
       <postal>
         <street>1-1-3 Uchisaiwai-cho</street>

         <city>Chiyoda-ku</city>

         <region>Tokyo</region>

         <code>100-8560</code>

         <country>Japan</country>
       </postal>

       <email>amatsu.t@tepco.co.jp</email>

     </address>
   </author>


   <author fullname="Hiroshi Masuda" initials="H.M."
           surname="Masuda">

     <organization>Tokyo Electric Power Company, Inc.</organization>
     <address>
       <postal>
         <street>1-1-3 Uchisaiwai-cho</street>

         <city>Chiyoda-ku</city>

         <region>Tokyo</region>

         <code>100-8560</code>

         <country>Japan</country>
       </postal>

       <email>masuda.hiroshi1p@tepco.co.jp</email>

     </address>
   </author>

   <author fullname="Shintaro Ogura" initials="S.O."
           surname="Ogura">

     <organization>Intel K.K.</organization>
     <address>
       <postal>
         <street>Kokusai Bldg. 5F</street>
         <street>3-1-1 Marunouchi</street>

         <city>Chiyoda-ku</city>

         <region>Tokyo</region>

         <code>100-0005</code>

         <country>Japan</country>
       </postal>

       <email>shintaro.ogura@intel.com</email>
     </address>
   </author>


   <author fullname="Koichi Kunitake" initials="K.K."
           surname="Kunitake">
     <organization>BroadBand Tower, Inc.</organization>
     <address>
       <postal>
         <street>Hibiya Parkfront.</street>
         <street>2-1-6, Uchisaiwai-cho</street>

         <city>Chiyoda-ku</city>

         <region>Tokyo</region>

         <code>100-0011</code>

         <country>Japan</country>
       </postal>

       <email>kokunitake@bbtower.co.jp</email>
     </address>
   </author>


   <date year="2020"/>



   <!-- If the month and year are both specified and are the current ones, xml2rfc will fill 
        in the current day for you. If only the current year is specified, xml2rfc will fill 
	 in the current day and month for you. If the year is not the current one, it is 
	 necessary to specify at least a month (xml2rfc assumes day="1" if not specified for the 
	 purpose of calculating the expiry date).  With drafts it is normally sufficient to 
	 specify just the year. -->

   <!-- Meta-data Declarations -->

   <area>General</area>

   <workgroup>Internet Research Task Force</workgroup>

   <!-- WG name at the upperleft corner of the doc,
        IETF is fine for individual submissions.  
	 If this element is not present, the default is "Network Working Group",
        which is used by the RFC Editor as a nod to the history of the IETF. -->

   <keyword>IoT</keyword>
   <keyword>WebAPI</keyword>

   <!-- Keywords will be incorporated into HTML output
        files in a meta tag but they have no effect on text or nroff
        output. If you submit your draft to the RFC Editor, the
        keywords will be used for the search engine. -->

   <abstract>
     <t>
The University of Tokyo (UOT) is currently performing a demonstration
experiment in COMMA House, the experimental smart-house owned by UOT and used
as a connected house. The things installed in the house (Things) are operated
using applications on smartphones and other devices. The various Things in the
smart-house are operated online via a Web API that has been created as a
prototype. This report is an overview of the experimental demonstration, which
is gradually clarifying that Web API should be effective for solving issues for
IoT.
     </t>
   </abstract>
 </front>

 <middle>
   <section title="Introduction">
     <t>
Outline of Web API and COMMA House
     </t>
     <t>
COMMA House, the smart-house, was built at the Komaba Research Campus of UOT in
2011, with the intention of conducting research into energy, including HEMS and
heat insulation performance. The smart-house is intended for demonstrations,
equipped with solar power generation equipment and household lithium ion
batteries. The research team arranged the system under discussion with multiple
businesses so that the concurrent development of value-added applications can
be materialized for the acceleration of the dispersion of smart-houses because
energy-related applications alone are not sufficient for their consistent
dissemination.
     </t>
     <t>
It is presupposed that the value-added apps will be developed by third parties
that are not directly related to the Things in smart-houses and installed in
smartphones/tablets. As part of the joint research with private companies, UOT
implemented Web API as a prototype, to enable flexible manipulation of the
appliances within the smart-house from the devices. Value-added apps allow you
to manipulate the appliances within the smart-house. In addition, such apps
were implemented in other demonstrative smart-houses around Japan so that
installed appliances could be operated based on the same mechanism. The results
confirmed that the Web API was capable of absorbing differences in
communications media and protocols for operating Things installed in different
smart-houses.
     </t>
     <t>
Many issues with the realization of IoT have already been reported. Web API may
be a solution to some of those issues.
     </t>
   </section>

   <section title="Structure of Web API">

     <t>
<xref target="structure"></xref> shows the structure of a prototype Web
API implemented by UOT. The structure has two things of note, which are
expected to greatly benefit the
realization of IoT.
     </t>
     <t><list style="empty">
     <t>(1) Application to Web API</t>
     <t>
It is often said that a special communications protocol should be prepared for
the operation of the Things. However, the cost for learning or additional
resources can be avoided if an existing standard protocol is available. This
will be a favorable situation for application developers. Accordingly, the
structure of prototype Web API permits access from applications with standard
protocols, such as HTTP and JSON, which are usually used.
     </t>
     <t>(2) Web API to Things</t>
     <t>
The Internet of Things, IoT, is a system that connects everything via the
Internet. Needless to say, the Things are limitlessly varied in their prices,
with differences of up to five or six digits. One might naturally think that
the manufacturing cost would increase if the existing Things that are not
networked were connected to the Internet. It would be unreasonable to try to
unite the communications protocols for operating the Things. In other words,
the acceptable additional cost is naturally different between the Thing worth
one dollar and one worth a thousand dollars. Namely, a single communications
protocol will not suffice to address the difference.
     </t>
     </list></t>
     <figure align="center" anchor="structure" title="Structure of Web API at University of Tokyo.">

       <artwork align="left"><![CDATA[
                Virtual      Driver
                Machines     Softwares
                Block        Block                       Things alpha
              +------------+----------+                  +----------+
              |            |        +-+                  | +------+ |
              |            |        |A+-------------------->Firm A| |
              |            |        +-+                  | +------+ |
              |            |        +-+                  | +------+ |
              |   +-----+  |        |B+-------------------->Firm B| |
         +-------->alpha+------->   +-+                  | +------+ |
         |    |   +-----+  |        +-+  +-------------+ | +------+ |
         |    |            |        |C+-->Private Cloud+--->Firm C| |
         |    |            |        +-+  +-------------+ | +------+ |
         |    |            |          |                  |          |
         |    |            |        +-+  +--------+      | +------+ |
         |    |            |        |Z+-->InfraRed+-------->Firm Z| |
+----+   |    |            |        +-+  +--------+      | +------+ |
|apps+---+    +------------+----------|                  +----------+
+----+   |    |            |        +-+
         |    |            |        |a+---------+        +----------+
         |    |            |        +-+         |        | +------+ |
         |    |   +-----+  |        +-+         +---------->Firm a| |
         +-------->beta +------>    |b+------+           | +------+ |
              |   +-----+  |        +-+      |           | +------+ |
              |            |        +-+      +------------->Frim b| |
              |            |        |d+---+              | +------+ |
              |            |        +-+   |              | +------+ |
              +------------+----------+   +---------------->Firm d| |
              |   +-----+  |          |                  | +------+ |
              |   |gamma|  |          |                  +----------+
              |   +-----+  |          |                  Things beta
              +------------+----------+
           ]]></artwork>

     </figure>

     <t>
A prototype Web API is based on the idea that various communications protocols
can be used. It does not matter to users whether the communications protocols
are united or not. They are satisfied as long as the Things operate properly.
This is similar to the case where users do not find it to be an inconvenience
if printer manufacturers have different types of driver software for operating
a printer and for printing data from the computer. For this reason, the authors
tentatively call the structure of Web API on the Things side the printer
driver model. It is assumed that manufacturers of the Things would provide the
driver software when the time of IoT arrives.
     </t>
   </section>


   <section title="Demonstration Tests with Prototype Web API">
     <t>
The following Things were used. They have different communications protocols
for their operations. For some, signals of infrared ray remote controllers were
emulated for operation.
     </t>
     <t><list style="empty">
       <t>Electric windows</t>
       <t>Electric blinds</t>
       <t>Lighting (ECHONET Lite/Hue)</t>
       <t>Air conditioners (ECHONET Lite and infrared ray)</t>
       <t>Fans</t>
       </list></t>
     <t>
Applications developed for the appliances above by third parties are as
follows:
     </t>
     <t><list style="empty">
       <t>Control of windows/air conditioners according to the weather</t>
       <t>Control of the indoor environment according to the sleeping status of users</t>
       <t>Control of lighting to respond to early earthquake warnings, such as lights turning on</t>
     </list></t>
     <t>
These applications were easily applied to other smart-houses by making changes
to the driver portion, after they were implemented at COMMA House, regardless
of the different types of appliances.
     </t>
   </section>

   <section title="Advantages of Web API with the structure">
     <t>
The previously mentioned basic advantages of Web API can help solve issues in
<xref target="ID-baba-iot-problems"></xref> for the achievement of IoT as follows:
     </t>
     <section title="Security for IoT appliances/devices and the consideration of privacy for obtained data" anchor="infosec">
       <t>
IoT services are assumed to involve combined appliances and systems in many
different industries. Under such circumstances, it is important to set
responsibility demarcation points to maintain security. Being called the
printer driver model, Web API is expected to effectively clarify who should
update and what should be updated to maintain security. Web API would enable
the control of privacy for the obtained data, because it is a mechanism to
access all appliances.
       </t>
     </section>

     <section title="Mapping of the physical world and the virtual world">
       <t>
Significant labor is required to link applications to the Things. The use of a
considerable amount of labor can be avoided by making the Web API intermediary
a series of tasks comprised of installation, linking, and calibration, and by
performing the tasks like software operations.
       </t>
     </section>

     <section title="Mismatch between the digenesis of ICT technology and the duration of the use of the Things">
       <t>
The ICT technology used for mobile phones is subject to alteration every few
years, while the entrance doors are usually used for twenty to thirty years. If
Web API is the intermediary, it will absorb the mismatch between the ICT and
the life of Things.
       </t>
     </section>

     <section title="Speed of standardization of specifications and a large number of specifications">
       <t>
There are still a high number of specifications to be introduced into IoT
appliances/devices. Additional specifications are under consideration. Such a
wide variety of options should not be overlooked. However, the companies that
produce and provide services are not necessarily familiar with the
specifications, just being users of the specifications. The Web API that is
compared to a printer driver model would support the activities of the
companies that produce and provide services while they are not bothered by the
specifications for operating the Things similar to the users of printers for
computers.
       </t>
     </section>

     <section title="Interconnectivity, responsibility demarcation points, and quality assurance in general">
       <t>
IoT services are expected to become multifarious through collaboration based on
open innovation in the future. In this case, interconnectivity will be secured,
and open innovation will be accelerated if Web API is used as an intermediary
and a point of responsibility demarcation.
       </t>
     </section>

     <section title="Evolution of the product design policy" anchor="evolution">
       <t>
In the time of IoT, it is anticipated that Things will change from those packed
with many functions to those with simplified functions that are allowed to
exhibit their versatility through applications. Again, in this case, if
interconnectivity is accelerated and responsibility demarcation points are
clarified as stated above, then the collaboration will be accelerated between
the providers of the Things and the application producers because of the
easy-to-understand structure of Web API.
       </t>
     </section>

     <section title="Change in the design paradigm from enclosure of users to design that is more open">
       <t>
Same as <xref target="evolution"></xref> above.
       </t>
     </section>

     <section title="The problem with increased cost and monetization">
       <t>
In some cases, companies hesitate to enter the IoT appliances market because of
the increased cost for conversion into IoT, the effectiveness of which can be
hard to see. More providers will be able to develop services/applications based
on IoT appliances, appliances will do away with more complicated
incorporation/implementation than necessary and providers will be able to
reduce costs while adding more advantages if connection via Web API is
materialized.
       </t>
     </section>

     <section title="Security in society and consideration of privacy" anchor="physsec">
       <t>
A socially acceptable system is required in order to transmit and store varied
data collected from IoT appliances and appropriately provide consent. However,
it is difficult to solve the issues if data is gathered unsystematically. Web
API may help to manage such data and solve problems as a system for accessing
all appliances.
       </t>
     </section>
   </section>

   <section title="Survey on worldwide trends">
     <t>
The world is moving towards the widespread use of Web API.
In todays world, having a strong API strategy is not just good software
practice; it is a powerful business practice and the key to apps that connect
the Internet of Things (IoT).  Some examples of business strategies based
around an API:
     </t>
     <t><list style="none">
       <t>- Amazon has built a multibillion-dollar revenue business in Amazon
Web Services (AWS), leveraging powerful API-based elements such as EC2.</t>
       <t>- Google Maps would be a much smaller business if the only access
were directly through its website.</t> <t>- Twitter has opened up an entire
class of businesses and analytical modules by sharing its data API and
platform.</t>
       <t>- Even Salesforce.com, with over 800,000 developers and more than 2.5
million applications on the Force.com platform, proudly states that API calls
drive more than 60 percent of total traffic to the site.</t>
     </list></t>
   </section>

   <section title="Future challenges">
     <t>
Those who are interested in Web API with the aforementioned structure are now
collaborating in preparation for the creation of Web API with open
specifications. For this, UOT is working to provide the opportunity for a
discussion that allows private companies to be involved.
     </t>
   </section>

   <section anchor="Security" title="Security Considerations">
     <t>
Security issues are described in <xref target="infosec"></xref> and <xref target="physsec"></xref>. 
     </t>
   </section>

   <section anchor="IANA" title="IANA Considerations">
     <t>
This document has no actions for IANA.
     </t>
   </section>

 </middle>

 <back>

 <references title="Normative References">
   <reference anchor="ID-baba-iot-problems"
              target="draft-baba-iot-problems">
   <front>
     <title>Problems in and among industries for the prompt realization
of IoT and safety considerations</title>
     <author fullname="Hiroyuki Baba" initials="H.B." surname="Baba">
       <organization>The University of Tokyo</organization>
     </author>
     <author fullname="Yoshiki Ishida" initials="Y.I." surname="Ishida">
     </author>
     <author fullname="Takayuki Amatsu" initials="T.A." surname="Amatsu">
     </author>
     <author fullname="Koichi Kunitake" initials="K.K." surname="Kunitake">
     </author>
     <author fullname="Kaoru Maeda" initials="K.M." surname="Maeda">
     </author>
     <date year="2020" />
   </front>
   </reference>
 </references>
 </back>
</rfc>
