8 Revolutionary Real-World Blockchain Use Cases

The origin of Blockchain can be traced back to the 90’s, ancient for the world of IT, but the technology only recently gained traction due to the success of Bitcoin. However, a few unique advantages of blockchain make it perfectly suitable for use outside of the crypto- world. In this article, DSR answers the questions: Why is blockchain is so popular nowadays? Which industries are already being impacted by blockchain? Where are we headed with blockchain in the future?

Blockchain’s unique advantages have allowed it to step into industries and areas of life such as banking, supply chain management, refugee registration, digital identity and citizenship, healthcare, land and (intellectual) property registration, and even video games. The technology is security, private, and transparency oriented.

The following are the key benefits of blockchain that make it a unique, emerging technology:
Distributed. The blockchain is a P2P network with equal nodes.
Decentralization. The technology doesn’t rely on any central point of control. Therefore, a blockchain system is reliable, verifiable, and secure from third party tampering.
Consensual. Consensus protocols create agreement between nodes, generating irrefutable and verifiable receipts
Immutability. Information stored on the blockchain is immune to most manipulation and fraud. Guaranteed by hash anchoring and Merkle trees, the blockchain provides a verifiable history of all transactions.

The explosion of blockchain-based cryptocurrencies made the technology more mature and robust. Many of its initial drawbacks were eliminated: consensus protocols have become much more effective, performance is improved (as a pioneer, Bitcoin’s blockchain processes just 4.6 transactions per second, versus Visa’s 1,700 transactions per second), and vulnerabilities to the new types of attacks were identified and fixed.

These key, proven advantages makes blockchain a must for various real-world applications where security, transparency, and fraud protection are paramount.

Smart contracts

If we take a look at any information system, we can identify two main components: data or the information itself, and the way it is managed. In the case of cryptocurrency, the data is the amount of currency on a user’s account, and smart contracts are the way we manage and verify that data. Basic smart contracts (SC) can be found in Bitcoin, where a stack-oriented programming language is used. The concept of smart contracts was initially introduced in 1994 by Nick Szabo, a famous cryptographer, legal scholar, and computer scientist. Szabo’s revolutionary idea finally came to life with the appearance of blockchain.

Smart contracts allow for the creation of various data storage and processing systems based on the decentralized blockchain. All of the operations performed on data are defined by mathematical rules.

Key advantages of blockchain-based smart contracts:
• No server failures, intrinsic to the system’s decentralized nature.
• No censorship or threats of data manipulation/stealing.

With the help of SCs on the blockchain, we can create reliable and secured registers for everything; from the storage of intellectual property, to CryptoKitties (virtual, Etherium-based pets).

Digital identity

Identity management and security are a couple of the massive, crucial issues facing the web today. The global identity and access management market is going to reach a whopping $14.82 billion by 2021 according to KBV Research. Despite massive investment, traditional systems are still suffering from all sorts of vulnerabilities.

Blockchain holds the answer. Blockchain’s properties make it the backbone of Self-Sovereign Identity (SSI) a secure, reliable system of digital identity management. SSI data cannot be forged by design, and its’ level of security exceeds any conventional identification system.

Below we’ll show some impressive examples of blockchain use in digital identity management systems as well as in the supply chain, healthcare, automotive, banking, property registration, and even state election industries.

8 Revolutionary Blockchain Use Cases

Hyperledger Indy

Hyperledger Indy is an open-source project and one of several, well-established distributed ledgers built exclusively for decentralized identity. It features some evident advantages such as robust interoperability, zero-knowledge proof security, and anonymous credentials support.

The following are potential use cases for Hyperledger Indy:
• Digitization and verification of documents such as driver’s licenses and passports
• Secure, password-less authentication (SPA). On-site authorization with biometric data (like fingerprint scan) via user’s mobile device
• Membership management
• Sophisticated spam filters
• Age or basic credential verification (for online purchasing access, etc.)
• Secure and intuitive document and digital file exchange (purchase orders, invoices, design schemes, etc.)
• Employment verification
• Supply-chain inventory tracking and provenance
• Trusted peer-to-peer communication

Hyperledger Indy provides libraries, necessary components, SDKs, and detailed documentation. The platform can be used to build secure systems based on SSI.

You can learn more information about Hyperledger Indy on the official website or in person by visiting nearest community event or meeting, such as the Hyperledger Bootcamp Moscow which DSR attended in October.

MyClinic, Medicalchain

Medicalchain uses blockchain to create secured, electronic clinical records, monitor patients’ treatments, and share lab tests and other relevant diagnostic data between countries with different legal systems.

This is a great example of securing sensitive information and ensuring interoperability in healthcare systems which differ significantly not only from one another, but also from conventional data storage systems.

Renault

This blockchain-based system was created in collaboration with Microsoft (Azure Blockchain) and Viseo. The Renault system is used to identify a car, track any road traffic accidents related to it, build original spare parts catalogues to fight counterfeit products, and track car maintenance and insurance history.

Barclays

With the help of the startup Wave, Barclays has created a Letter of Credit system based on blockchain. Barclays claims this is a faster, more secured, and easy-to-use way of executing global trade transactions. Trade documentation is handled on the Wave platform and funds sent via Swift.

The bank claims that this is first-ever case of a live trade transaction using blockchain technology.
Barclays is hoping to get other banks on board with supporting the Wave platform in order to improve trade documentation management.

The new blockchain-based system helps to speed up trade transactions, reduce cost for companies around the world, optimize internal processes for banks, and eliminate the risk of documentary fraud.

Cambridge blockchain, CULedger, Masterchain

The emergence of “know your customer” blockchain use cases is going to be a huge disruption in the financial world. Blockchain is being used to make it fast and easy to identify and verify customers.

CULedger, for instance, is a global, distributed ledger with based on self-sovereign, digital-identity, built to reduce cybersecurity and fraud risks, improve the member experience, and reduce costs. The initiative works via a consortium made up of credit unions and trusted industry investors.

In Russia, Masterchain is being utilized by some of the countries biggest banks. Masterchain is a blockchain-based “know your customer” project to establish a secure and fast way to identify clients and access their financial history, without disclosing any personal or sensitive information unless the customer gives their informed consent.

Banks and large corporations are actively seeking ways to use blockchain in their operational activities and they are working together to explore blockchain technology and its applications. One such example is Consortium R3, with more than 300 participants across a variety of industries.

TradeLens

TradeLens is a blockchain platform built by IBM and Maersk which ships freights all over the world. It is used to manage sophisticated supply chains and involves smart contracts. This system is already being deployed around the world.

The supply chain system involves regulatory authorities, international ports, shipping hubs, etc. Sensors installed on ships, trucks, and shipping hubs are used to track freights in real-time with the help of an IoT system view and other relevant data, including shipping container weights and temperatures inside.

The TradeLens blockchain platform and smart contracts are used to establish the fast and secure sharing of shipping data from a single source with different supply chain participants like a cargo receiver, customs controller, delivery company, freight terminal, and other involved parties.

Follow My Vote

This online voting solution utilizes blockchain to ensure transparency and battle fraudulent activities in the voting system. Follow my vote provides the ability to prove the accuracy of election results by mathematical methods. It uses a blind signature approach to eliminate the need for procedural security in traditional election systems.

Blockchain technology brings a variety of advantages to the online election solution:
Security. Ballots are securely stored and cannot be altered by any party.
Privacy. Sophisticated and independently tested cryptographic algorithms ensure the privacy of voters’ data.
Voter Intent Verification. A voter can verify they casted their vote as intended.
Transparency. Any voter or party can audit each registered ballot to verify the legitimacy of results and the credibility of elections.

Georgia Land Registry

This is the first-ever nationwide land-registry system. Built in collaboration with the government of Georgia and launched in 2016, more than 1.5 million land registry entries have been made so far.

Immutable by design, blockchain technology guarantees citizens’ records are safe and cannot be forged by any party.

The Exonum platform greatly increases the speed of the registration process (less than 3 minutes) and a timestamping feature ensures independent validation of the land property title deed using cryptographic proof (hash). published on the Bitcoin Blockchain. In case of any doubt, a citizen can prove their ownership by providing the timestamp.

Key blockchain platforms
• Hyperledger (Indy, Fabric, Sawtooth, Iroha)
• R3 Corda
• Exonum
• Tendermint
• Verify

There are even more exciting and revolutionary blockchain use cases coming in the near future like access control and management solutions. Stay tuned on DSR Corporation’s blog to read more insights into cutting-edge technologies of M2M, IoT, machine learning, computer vision and other IT industries.

Embedded World 2019 Flashbacks

If you want to keep in touch with the newest trends in embedded systems, Nuremberg Embedded World is the right place for you. In order to heighten your expectations, we want to share our impressions on the latest event.

More and More Chips

This year the embedded market has undergone a serious segmentation of chip manufacturers. One of the main event threads was producing chips for the deep learning and their implementation.

For instance, Nvidia’s video chipsets and their end devices for video cameras. Qualcomm in cooperation with NXP, which is famous for the achievements in vehicle automation, also follow this trend.

Companies that specialize in producing power efficient chipsets also participated in the event. A large variety of solutions with up-to-date FPGA and DSP onboard were introduced as an alternative to the standard CPU. For example, one company, produces chips with long life period for voice recognition that are as small as a pencil point, respond to certain activation words and word phrases, and has extensive battery life.

Foggy Calculations

Teradek attracted a lot of attention with the solutions based on peripheral calculations (also known as fog computing) that make the system more stable and independent from network environment and its quality. The main principle of this approach is making all the calculations on edge devices, excluding any cloud interference, that accelerates the process as there is no delay in receiving and processing the information. This approach reduces price and improves the data transfer security. Developers are now presented with a wider range of opportunities. For instance, such type of solutions can be used for elderly care without the need to install IP cameras that send the video stream to the external end user, as all the necessary information is processed and distributed to the assigned person right here and now.

Another company that uses such type of approach is Elite Vision that produces cameras with high accuracy for manufacturing facilities. They introduced camera with in-built computation module that processes the signal and provides the user with an end result of its computation. The device can be used for counting objects, scanning QR-codes, analyzing road traffic information or in any classification processes.

Such events encourage companies working in the same sphere to start new cooperation and partnerships. In that spirit, DSR is looking for camera and server station manufacturers for joint solution development.

Weapon Detection System in Public

DSR demoed a system for detecting any weapon or another predefined object (for example, products in a store) in the hands of people in a crowd. This system recognizes people and focuses on their hands. That is its peculiar feature. This product can be used for searching for people with a weapon in their hands in a small crowd. The small, power efficient chipset guarantees a long battery life period of the device and allows it to transfer the computed data and video via different types of wireless networks. This implementation of the fogging is unique because it removes the necessity of transferring data using expensive traffic. The algorithm consists of 2 neural networks: first one is responsible for identifying the wrist; the second is in charge of recognizing the object it is holding. We created a new set of data for machine learning, taught the system to accurately analyze the data, optimized the architecture and chose the right framework.

What’s Inside

In the core of the solution is the goal to make devices with such analytical power more power efficient and available to a larger number of customers without dependency on expensive hardware. That’s why our choice for a cheap machine learning device is dragonboard 410 powered by Quad-core ARM® Cortex® A53 CPU and Qualcomm Adreno 306 GPU with WiFi, Bluetooth and 3G/4G modules. Due to differentiated Quadcore CPU and GPU the development board is capable of processing several parallel tasks locally.

In addition, the system contains an Ethernet video camera, a switch, and a display. We also utilized a high performance VGA adapter produced by Nvidia and AMD for deep machine learning. Although this hardware set up meets the system requirements, its cost is still not optimal. Similar solutions are rumored to use hardware that can heat a small apartment, especially once the price of cryptocurrency falls.

This development is deep in the middle of Computer Vision – a self-learning system that is capable of learning on examples of types of weapons and human movement patterns. We are working on evolving the solution to utilize it in the area of video surveillance and public safety.

Self-Sovereign Identity

DSR has been working in the area of Blockchain for some time now and we are honored to be involved in the development of Sovereign Identity. As a follow up on a recent Blockchain meetup we organized, we wanted to share information on revolutionary concept of Self-Sovereign Identity, a practical and real application of Blockchain technology.

Identification

Human beings face the identity issues a million times during their lifetime. Passports, diplomas, driver’s license, certificates, and so on help us prove our identity and abilities that we possess. We graduate from university and get a diploma. After passing a Microsoft exam, we get a certificate that proves our qualification. But what can happen if the society is overwhelmed with information? How can we differentiate what information can be trusted and what is falsified?

When a new account is created in a social network, the system and other users identify new account as an authorized one and begin to trust it accordingly. On one hand it’s great, but on the other hand, the system can bump into serious security issues of fake information provided by the user or a third party’s identifier. Who can we trust in this case? Leader’s opinion? The Authorities? Those who establish identities?

Personal information is considered one of the most valuable goods nowadays. Many are stealing, trading or using the information to influence and manipulate other people. So, the question is can we really trust our information to such kinds of establishments?

As a result, Self-Sovereign Identity (SSI) is created to solve these exact issues and also meets all the GDPR requirements.

Self-Sovereign Identity

The main purpose of identification is to answer the question: “Who are you?” The evidence confirms the information to be true. We all know what a passport looks like. That makes it hard to forge. Self-Sovereign Identity is a new concept that provides a user with a unique independent ID. This is the way to secure your personal data according to the GDPR principals. For instance, the new digital SSI identity model stores a number of public keys and ID numbers corresponding to the concrete private data the user wants to share. The system gets rid of necessity of storing an enormous number of passwords that can be stolen, manipulated and misused.

How Exactly Do Users Control Their Data?

Good question. Let’s work it out. There is no data stored in the blockchain. We have only pseudonymous identifiers (DIDs), pseudonymous public keys, and agent addresses. This enables the exchange of any private data to happen entirely off-ledger. The user (a person or a company) that stores the private information spreads it in a number of entities that get their unique identification numbers.

For instance, user can keep the information about the passport and educational background in different entities. When the government institution needs some approval, whether the user is authorized for a particular service, it sends a request containing the unique identifier and the public key issued for this request. On the user’s behalf he/she receives the notification about the organization’s request containing another pair of key and identifier for disclosing the required information. If the user accepts it, the establishment is allowed to get the information needed and the user, if it’s valid, is granted with required permission. From the application user’s point of view he/she clicks on the button and receives a dialogue box with the accept/decline options. After it, the information shared or protected accordingly.

This truly puts the individual in charge of their personal data and gives him/her the control to choose who else has access to their information and how. Some of the progressive official institutions are trying to implement this new technology. For instance, e-governance in British Columbia, Canada.

 

10 Principles of SSI

  1. Existence — Users must exist independently.
  2. Control — Users must control their identities.
  3. Access — Users must have access to their own data.
  4. Transparency — Systems and algorithms must be transparent.
  5. Persistence — Identities must be long-lived.
  6. Portability — Information and services about identity must be transportable.
  7. Interoperability — Identities should be as widely usable as possible.
  8. Consent — Users must agree to the use of their identity.
  9. Minimization — Disclosure of claims must be minimized.
  10. Protection — The rights of users must be protected.

In short, Self-Sovereign Identity provides the best solution to the challenges of digital identification:

  • Based on the open source code and standards
  • Decentralized system (“Blockchain”)
  • Stores private data outside the public ledger
  • Selective Disclosure by default
  • Pairwise-pseudonymous identifiers
  • P2P network of distributed private agents

Our teams are working on the open source SSI version called Hyperledger Indy. We are developing a blockchain for distributed data and keys storage. We also share our experience by organizing meetups on this and related topics. One of the aims is to create a strong blockchain developers’ community in Voronezh.

Learn more about the new secure way of sharing private data | Sovrin Foundation | Evernym

World Ruled by Robots?

“What’s New in the World of Artificial Intelligence?” asked me Alexa….

Some people believe that artificial intelligence does not exist, while others watch Sci-Fi movies and devise survival plans for when robots rise against us. Artificial intelligence today is weak, meaning many of the tasks and operations being performed now are limited in scope, but that is continuing to change every day. The development of AI is building at a rapid pace and is poised to change how we interact with the world around us on a daily basis.

Recently, with the help of artificial intelligence, companies are beginning to solve individual niche issues.  For example, emails and responses can be automated in the workplace, reducing the need for human attention. Self-driving cars are operating independently and more safely, reducing the number of accidents on roads. Experts have even predicted that in 10 years self-driving cars will be a normal reality in the US, along with radical organizational and cost structure changes for transportation companies like taxi and bus services.

Social networks, neural networks, and learning algorithms… Russian search engine Yandex is currently conducting closed testing of a new social network using AI and neural networks. Access is only available by invitation of someone who already exists on the network. By tapping into AI and neural networks, you are able to find completely new friends solely on the information you have provided to the system. The algorithms are configured so that you see people based along your selected features. Interestingly, the development with the use of artificial intelligence began to appear in areas such as beauty, cosmetology, and health.

Other large companies continue to use artificial intelligence to help predict events. Mobile operators can analyze the behavior of subscribers in order to offer services that will help improve the user experience, while other applications of modern development are aimed at helping users make decisions.

Google, Siri, Alexa, Cortana, Alice, how many virtual assistants can you remember?  There are many others, but these are some of the most popular we see today. Each of these assistants can allow you to do basic searches, analyze or processes information, but the fact remains that each assistant relates back to weak AI. Just think about how many times you’ve tried to talk humanly and gotten a response that didn’t quite seem to make any sense.

So why don’t we see strong artificial intelligence?  Well, why grow an artificial tree, if you can grow the present faster and cheaper?  Perhaps humanity doesn’t need strong AI just yet.

We are going to continue to dive deeper into this subject in our next issue. In the meantime, please remember that not all robots can be correlated with artificial intelligence. If you have a floor cleaning robot at home, this does not mean that it can study neural networks, collect or process your personal data.

8 Things to Know Before Choosing a Contract Software Developer

Introduction: Balance = Profitability

To operate profitably in today’s economy successful businesses must balance market conditions with product/project opportunities and available development resources.

Many companies attempt to achieve this balance using contract software developers—some realizing more success than others.

This white paper identifies eight things successful companies consider when choosing a contract software development partner. Understanding them can mean the difference between profit and loss—and between your project’s success and failure.

1. Successful Contract Software Developers Have (and Hit) a Schedule

If you’re investigating a contract software developer, your project probably already has some schedule risk. If you miss your schedule, you fail. Turning over development to a contract software developer who can’t answer schedule questions is a sure-fire recipe for you missing your schedule.

So, choose a contractor who asks you lots of detailed questions about your schedule and deliverables before taking the job. Then, you ask them about the tools they use to plan development work and allocate developer resources. Ask to see those tools with live data from a current project. Look for how detailed those plans are. Since you will often be paying by the hour, the tools the developer uses should provide scheduling and resource usage to the hour.

If they have this, they will likely hit your dates.

2. Successful Contract Software Developers Commit to Your Budget Requirements

Companies large and small have been victims of “outsourcing hype”—the promise of cheap engineering at a fraction of the cost of hiring and using your own employees. While the hourly rates were low, the number of hours spiraled out of control. The result—“outsourced” projects come back (too often significantly) over budget, and late as well.

When your budget can’t slip, and you can’t afford any surprises, look for a contract software developer who can bid the work in a way that meets your budget requirements. Three common ways to have them bid the project are:

  • Fixed hourly rate
  • Time and materials rate
  • Fixed price bid

If you have clearly defined requirements, a competent contract software developer can make one or more of these methods work for you and your budget. However, if you need assistance in defining the software requirements, ensure that the contractor you choose is experienced (and can provide examples and references) to assist you in requirements definition stage of your project as well.

Also, make sure the developer provides up-to-date time sheets. These are the best indicators that 1) the developer has sufficient resources working on the project, and 2) the developer is tracking to your budget requirements.

3. Successful Contract Software Developers Have Real-World Business Understanding

Talented contract programmers are a great asset; however, talent alone doesn’t guarantee your project will succeed in the marketplace. Experience in taking projects/products to market can be as important as the amount of technical competency possessed by a contract software developer. Knowing what works and what doesn’t work in the marketplace is an invaluable asset.

Look for a contract software developer with a track record of completed projects actually delivered to and used in the marketplace. Ask to see some up-and-running examples of live work done for other companies. This kind of portfolio is the best indicator the developer can bridge the understanding of their client’s business with the client’s project deliverables.

A developer who provides you with market experience-based feedback is a greater asset than one who simply agrees with you because you’re the client.

4. Successful Contract Software Developers do Quality Work (and Provide a Warranty)

It is rumored that US Government procurement people operate by an unwritten rule that purchasers expect at best to realize two of the following three attributes in buying a product or service:

  • Quality
  • Timely
  • Cheap

Because you already know you get what you pay for, applying this rule to contract software developers is simple: You want a quality product in a timely fashion.

Find out if the contract software developer operates the quality assurance (QA) function separate from the development function to test deliverables. Superior developers will even warrant their work and provide free bug fixes during the warranty period. A developer who is fearful of providing a warranty is a “red flag” from a quality-of work perspective.

5. Successful Contract Software Developers Provide Documented Deliverables

For companies that build their businesses on the backs of their software deliverables, few things are more frustrating than contract developers who deliver poorly documented (or undocumented) projects and source code.

Successful contract developers understand the need for accurate, readable, useable documentation. Ask for representative samples of:

  • Project requirements documents
  • Design documents
  • Fully commented source code
  • Test cases and methodologies
  • Project documentation
  • User training and help documents

This is vital for venture-funded companies, as these documents are essential in any exit or liquidity event.

6. Successful Contract Software Developers Keep You Informed on Your Project’s Status

Knowing where your project is at, and who you can talk to find out the details is critical to being successful when using contract software developers. It’s not a good sign when your contract developer keeps you in the dark about your project’s status. Direct access to project managers, programmers and QA staff can mean the difference between getting a question answered in five minutes or five days. If you’ve ever had to report that you “don’t know what’s going on with the contract programmers,” then you know what we’re talking about.

Clear communication using multiple means is a vital key to successfully working with contractors. See that the developer allows you to talk directly with the programmers, project managers and QA people. Find developers who share their code-developing tools with you so you can stay in-the-loop. Look for developers who offer multiple means of communication including:

  • Phone
  • Web conference
  • E-mail
  • Instant messaging
  • IP telephony
  • Web-based project management tools

These give you an added advantage and ensure collaboration when working with contractors and resources in multiple geographies and time zones, and will keep you in-the-know at every step along the way.

7. Successful Software Developers Protect Your Intellectual Property

A word to the wise: intellectual property (IP) ownership is one of those clauses that even the biggest companies forget to take care of. If you fail to do this, questions will almost certainly arise over what happens to the intellectual property (IP) or who has rights to it.

Another word to the wise: IP ownership conflicts are compounded when your contract software developer is incorporated in another country than your own.

Last word to the wise: Avoiding “open source” software licensure and IP entanglements is critical to protecting the value of your company’s IP in a technology sale, license or transfer to another company. You will be required to assure the buyer that your code is “clean” from an IP perspective.

From an IP ownership perspective, two of the biggest success factors for operating a contract software developer engagement are: 1) choosing a contract developer who assures you that what they develop for you is yours and yours alone; and, 2) choosing a contract developer incorporated in the same country as yours–and thus subject to the same laws as your company; and 3) choosing a contract developer with experience in delivering “clean” code free of any “open source” contamination. (You can lose your legal shirt on this one.)

These three factors will provide you with legal confidence and means of recourse that avoid the costs and difficulties associated with adjudication under US and international law.

8. Successful Software Developers Deliver Great Value for the Price

The one topic you’re guaranteed to discuss in every contract software developer engagement is price. Managing project headcount requirements by making additional labor costs a variable item rather than fixed item on the balance sheet is compelling to the people in your organization who count the money and manage profit and loss.

While this white paper has already raised multiple items to consider regarding budgets and pricing, the short answer is this: You get what you pay for. Low hourly rates are no assurance of a value-based engagement. If you do your part with clearly defined requirements (or find a contractor that is experienced in help you define your requirements to create a smart product), a successful contract software developer will deliver with high-predictability on those requirements.

Developers who deliver quality, timely software may cost a little more up front, but they’ll assure you have a solid deliverable in your hands by the deadline and will have delivered solid value for the dollars you spent.

Conclusion

Successfully using contract software developers to achieve your objectives doesn’t just happen. Companies who enjoy this success don’t do it on accident. Give your company a quick “self-diagnostic” and ask if your current contract software developers:

  1. Have (and Hit) a Schedule
  2. Commit to Your Budget Requirements
  3. Have Real-World Business Understanding
  4. Do Quality Work (and give a Warranty)
  5. Provide Documented Deliverables
  6. Keep You Informed on Your Project’s Status (Clear communication)
  7. Protect Your Intellectual Property
  8. Deliver Great Value for the Price

Find out today how DSR can help with you balance market conditions with product/project opportunities and available development resources. Contact us at contact@dsr-company.com.

European Utility Week, Amsterdam Recap

Last week (October 3-5) DSR took part in the European Utility Week in Amsterdam. European Utility week is the premier business, innovation and information event that connects utility community with network operators, vendors, consultants, and integrators covering the entire smart system value chain.

 

 

 

 

 

 

 

Together with Watt + Volt, the 3rd largest energy provider in Greece, DSR Corporation showcased its 4-times Gold Award for Utility Solutions (SmartWatt) at our shared booth. DSR is proud to be contributing to the success of SmartWatt by empowering the solution’s embedded software, mobiles apps and the hardware solution.

The event also showed a trend of utility companies moving towards analyzing smart metering data to enable them to provide advice and insights to their customers, enhancing the customer experience and delivering a more complete package of services for the modern day energy consumer. However, there still appears to be a large fragmentation of metering protocols and different standards in the European energy market. As the solution providers are continuing to work on unifying the market, the trends towards utility companies becoming more of lifestyle providers are evident.

Would you like to learn more about DSR Corporation, utility trends or Zigbee? Get in touch with us via e-mail: contact@dsr-corporation.com

#EUW17 #DSR Corporation #IoT #DSR ZigBee

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

The Real Reasons Behind Most ZigBee Interoperability Problems

Interoperability is a buzzword that we hear often when talking about wireless protocols, including ZigBee. Being an already trusted but still young standard, ZigBee itself can raise many questions when reading the official documentation. However, that is not the topic of this blog. With over a decade of experience in wireless communications software development and 7 years working closely with ZigBee, we have seen many cases where although the specification gives adequate description, developers invent their own bicycle. Our extensive experience integrating and working with a large number of sensors from different manufacturers provided us the valuable insight we are sharing in this blog.

The field where there is so much space for creativity and hence mistakes, is the application layer, when profiles join the game.

Let us start with one simple flag – “Manufacturer specific” flag in ZCL header, invalid usage of which may cause a variety of problems. The right way of using it is extending the functionality of ZCL (HA), adding attributes or whole clusters that are not provided officially. For example, we cannot guess, why “Temperature measurement” cluster has a “tolerance” attribute, while the “Humidity measurement” does not. It is about the fact that if you want “Tolerance” attribute in your humidity sensor, you need to make a manufacturer specific attribute. Or, in another example, let’s say you are working on a ZigBee-based pet tracking system. We promise there is no “Animal tracker” cluster in any specification. You will need to implement it yourself and, yes, it will be manufacturer-specific.

The common mistake of using this flag is marking general attributes and commands with it. We faced it while working with IAS sensors and made us wonder why the standard enrollment procedure needs any manufacturer code. Do developers really consider their manufacturer code safer from intruders than the entire ZigBee security system?

Anyway, it can be easily debugged, because the only thing we need to know in this case is the manufacturer code. There is a way to obtain it using only ZigBee tools: the code is placed into the node descriptor. If the node descriptor does not work, it can be requested from the manufacturer. And, when there are no contacts, ZigBee sniffer can help too. If there is a coordinator that the intended device successfully enrolls with, then with the proper enrollment procedure caught by the sniffer, we will get the code. Another way to achieve this is by writing any attribute in the intended cluster and probably getting the response with the code. Moreover, configuring and binding the intended cluster may cause some manufacturer-specific attribute to be reported with the code. So, they key is just to be patient.

This mistake may be worse when the device confuses ZDP discovery tools: for example, the cluster is not returned in a simple or match descriptor response, but some commands are supported and they are manufacturer-specific. In this case, discovery does not work and you will need either a technical contact or a lot of time to experiment.

In this case all we know is that the device in our hands is a ZigBee device and what it is used for. So we can predict its cluster list. The only thing we can do without manufacturer help is to send commands to the predicted cluster waiting for the response with some status.

The next issue has to do with attribute semantics misunderstanding. When the number of attributes exceeds two-three and cluster logic becomes complicated, this can lead to misunderstanding of an existing attribute’s meaning . Just imagine the situation when you try to set temperature on a thermostat but it is still too cold or hot in the room. Now we take this HVAC system and try to guess, which setpoint the “Setpoint Raise/Lower” command operates with? It depends on the command’s mode as well as current system’s mode. But some developers may like only one clear attribute and of course it will cut the existing logic. In this case, specification misunderstanding can even cause attribute duplication.

One of the last common problems has to do with a very useful HA extension – poll control. Even though it is strongly recommended to implement it, it is often ignored. However, real problems come, when the device has its own long poll interval that is much longer than the default one. If we leave the situation as is we will for sure have many packets lost for such a sleepy device. Therefore, we should increase the timeout for deleting expired indirect packets. This does come with a risk: if the interval is too high, the queue most likely will got overflowed. That is why when increasing the indirect queue timeout, updated coordinator should be tested in a large network with a lot of sleepy devices connected.

To close, we want to add a few words about the mistake that will not break interoperability, but can be frustrating and easily avoided. Unfortunately, as of today we do not have as many reportable attributes as we may want. And everybody who faces this problem solves it in his or her own way. We have seen “Write attributes” sent to the client cluster and even reports that were not configured. It is the only problem described here that can be attributed to by the lack of functionality in the official specifications. We are sure this will be addressed in one of the next updates. But we are sure that the devices that skip the configure/bind logic before sending reports will not disappear for many years.

We hope this blog gave enough examples to show that most interoperability problems at the application layer appear because of not completely understanding ZigBee Alliance documents. With the growth of ZigBee technology and the number of well-designed devices, such misunderstanding may make the product less competitive and supported. It is key to take time to understand and follow the standard to avoid these issues and ensure the success of your products.

Is IoT finally here? (CES 2015)

DSR has been a regular attendee and a recent exhibitor at CES. Every year there is a little bit of a familiar and a lot of new. With 170,000 attendees and thousands of innovative products in every possible market segment now or soon to be available for end user consumption, CES draws consumers and customers from around the globe. The world continues to evolve and CES highlights creative implementation of technology.

The general CES highlights included innovations in a variety of areas, from curved TVs to personal transporters to innovative wearables, CES was a sight to behold and spoke to every interest and gadget category imaginable. Check out Mashable’s Best of CES 2015 picks for additional highlights.

DSR was representing in the Sands Expo and it was all about IoT (Internet of Things). IoT market has been steadily growing every year and each year promising to be bigger than its predecessors. This year, the IoT (Internet of Things) market was very much on display. Lowes and Bosch were two companies with large full home automation solutions demonstrating the many advantages of the automated home.

Other IoT solution providers, including DSR, were showi2015-01-06-12.25.39-640x480ng the wide range of device (Gateway and Sensor) interoperability. DSR is a ZigBee Alliance member and had our demo set up at the ZigBee booth along with other alliance members.

Traffic was heavy and constant in the ZigBee area all four days of the show and we feel that ZigBee is continuing to pique interest and gain traction amongst wireless protocols and overall HA industry.

We observed the following general trends in the IoT area that will shape the market for the next several years:

  • There is a general consensus that IoT is finally mature enough to truly “take off.” The trend that was long time coming and brewing may finally be here and it is noticeable by the expanded interest from both the consumer and business sides.
  • There were more parties interested in commercial applications (lighting and elevators) than previous years, which is another indicator of the market growing up quickly.
  • In contrast to commercial applications that tend to be larger complex deployments, home owners are looking for small, easy to use full featured solutions. The emphasis in this area is really on the ease of use. This will be the deciding factor of why some solutions succeed and others fail.
  • With people really getting serious about deploying solutions, security is now a common question to address.
  • There is still concern and confusion related to the various IoT standards (ZWave, AllJoin, Home Kit and ZigBee).   People stated it was like the old VHS vs. Beta debate from the past.
  • Some of the common questions that we received at our booth were around the size of the ZigBee stack, number of devices (sensors) and their connectivity range both indoors and outdoors, cost and scalability of DSR IoT cloud, and consumer-facing mobile apps.

Overall, the show reinforced the decision made five years ago by DSR to be part of the IoT market and we are excited about IoT market growth and the opportunity to bring innovative products to market and put the control at homeowner’s fingertips.

DSR is truly a one-stop-shop in the IoT area with solutions for operators/service providers, for access point set-top-box manufacturers, IoT cloud platform vendors, or anyone looking for a complete IoT solution including hardware and software components. Contact us to learn more!

Resolving iPhone apps GPS accuracy problems

We have been creating mobile solutions for our customers for almost a decade. But with each project’s experience come interesting challenges. Recently, we developed an iPhone application that is now available in the Apple Store. It required us to determine a user’s location at various points using GPS. It turned out that in developing GPS-based mobile applications, the accuracy of the coordinates can vary. These inaccuracies appear on the screen as sudden jumps in a user’s location on the map and are especially visible if the application is trying to plot a route that the user is traveling. These inaccuracies are the result of not discarding bad coordinate points and not detecting fluctuation of points in a route.
In certain situations the CoreLocation framework can return points with incorrect coordinates. To deal with this issue, we developed the following criteria to determine that a point is invalid:
  • Object’s location is null
  • horizontalAccuracy < 0
  • Temporary marker of the new location has a value less than the value of the temporary marker of the previous location. This indicates that the LocationManager has returned locations in the wrong order.
  • New location’s temporary marker indicates that it was returned prior to starting the application because the CoreLocation framework caches points from the last time the GPS was used. This can create an undesirable result. For example, the user exits the GPS application, drives 40 miles, re-launches the GPS application, and the LocationManager returns the coordinate point that is off by 40 miles from the user’s current location.
In a situation where the signal is weak or the mobile device is on standby, the CoreLocation manager can return coordinate points that greatly vary from one another. To address this problem, we have applied specific filters (Kalman filter) and interpolation algorithms for detecting these false coordinates and smoothing out the points on the route. However, if you are building an application that requires you to know a user’s precise location without performing the additional analysis, you can use a shortcut that can significantly decrease the amount of inaccurate points – discard all points where horizontalAccuracy > 150 m.
Until next time, when we continue to share our experience in the mobile world!

The Importance of Project Estimations

We wanted to share our approach to project estimation based on our extensive experience on a variety of projects. Early project estimation is the key to proper project definition and communication with customers. It helps establish project attributes (such as cost, duration, resources, and tasks), set expectations, and ensure that all parties involved have the same understanding of the project objectives.

Estimation process is a difficult task for a variety of reasons, including over/under estimation, exclusion of risks, lack of requirements, failure to involve the experts, etc.

DSR’s project estimation is done at a WBS (work breakdown structure) level and each task is estimated down to an hour. Estimating at this level helps identify areas of potential concern and expose inconsistencies between the estimates and client’s expectations. Inconsistencies may exist either due to client’s lack of understanding of the underlying complexities or DSR’s incomplete understanding of a task. Resolving these types of issues early in the process decreases the overall project risk, increases the quality of the estimates, and creates a realistic representation of a project.

During the estimation process, we generally try to keep in contact with the customer as much as needed to get the necessary clarifications on tasks and customer’s expectations. This ensures that the scope of the project is set correctly and increases the quality of the estimates.

At DSR, estimates are always done by resource(s) with most experience in the given task type and are reviewed by other specialists in the company to ensure validity.  In addition, the estimation process goes through several iterations, which allows the customer and DSR to develop full understanding of the project and its execution, which contributes to the overall quality of the project delivery. Using previous projects’ performance and experience to refine the estimates increases the accuracy. Estimates are produced in three measures – optimistic, expected, and pessimistic. The final estimate is a combination of those measures taking into account the risk of each task.

All of these factors contribute to DSR’s project estimation process and deliver our customers quality information about the cost and duration of their projects.