×

Happy to Help!

This website doesn't store cookies. Enjoy the experience, without worrying about your data!

Great, thanks!

Monthly Archives: August 2017

  • 0

How to Minimize Business Loss & Improve RoI of Ecommerce Websites with 24/7 IT Support & Monitoring

 
When an ecommerce website experiences outage, the damage is considerable. The loss suffered by the business is not limited to lost sales—the customer is disappointed, the brand reputation suffers and determining the cause of outage and fixing it is costly too.

Maintaining maximum uptime is crucial, so dedicated ecommerce website hosting partners provide 24×7 ecommerce website monitoring services and IT support. This includes a carefully-drafted plan covering all areas of risk.

So how do you minimize downtime for your ecommerce website? Watch our in-house IT expert in this video to know more. Visit our ecommerce website hosting and support page to learn more details about the service and why our clients place their trust in us.
 

 

Leave your details to hear from our website monitoring & IT support experts

 

Name (*)

Work Email (*)

Company Name(*)

Phone Number(*)

Enter the Captcha(*)

captcha


  • 0

How to Get the Best RoI Out of Your Ecommerce Website Hosting & IT Monitoring Service

Ecommerce website development is only the first step in the journey.Ecommerce website maintenance and monitoring to ensure near-zero down time and maximum operational efficiency, on the other hand, is a continued process where you can’t let the ball drop even briefly.

Why? Because in that brief moment you could leave website visitors dissatisfied, and they may even share their experience with others, thus magnifying the effect of a brief setback.

So it’s imperative for an ecommerce business to invest heavily in IT infrastructure that includes physical or cloud servers, and enterprise-class monitoring and reporting tools and technologies.

But without expert help, these costs can impact your bottomline negatively.

Hence there is need to walk this path smartly. Neelavanna Kannan, Embitel’s IT Support & Maintenance services expert, says, “In my experience I have seen business owners spend needlessly by committing rookie mistakes in their website maintenance and monitoring strategy. There are simple things they can do to not just improve website performance and maintain up time, but also optimize costs so that they get the best value out of their investment.”

Ecommerce RoI

 

  1. Don’t just scale up – trim down too
  2. In the run up to periods of high demand, such as discount offers, festival, or peak shopping season, ecommerce website business owners often scale up by adding servers to handle additional load. The added servers and RAM comes at an additional cost, but that is offset by the increase in website visits and online sales.

    But what is equally important is to keep an eye on usage and ramp down website servers when analysis shows that the visitors are fewer than what the servers actually support. This may seem basic, but it is an often-neglected aspect as downscaling is never top of mind.

  3. Don’t run your testing server 24×7
  4. Code revisions for ecommerce websites are done on a daily basis, and it is vital to test the code before it goes live. For this, development teams usually access a testing server exclusively for trying out test code, while keeping the live website intact. Only after the test code runs successfully on the testing server it is released on the live website.

    A common mistake is to leave the testing server on all the time. Your developers don’t work all 24 hours a day—even in shifts, the average working hours are likely to be 10-12 hours. So why does your testing server need to run 24 hours? Letting the server run when not in use is a drain on resources and can be easily avoided.

  5. Plan smart – Launch an optimum number of servers
  6. Businesses usually launch multiple serves, each for a specific purpose. For businesses with relatively smaller scale—not very large traffic, smaller product catalogues, fewer daily orders—this may not be really required.

    Yet this is a practice because it is the perceived to be the best way of ecommerce website hosting.

    Evaluate your business scale and needs, or ask your website hosting partner to do so, and determine the optimal number of servers necessary to support the scale of your business.

    Also, sometimes, one server can be configured to manage multiple tasks, such as caching and database storage. This, again, will help you save on server spends.

  7. Choose the right physical location of the server to improve business bottom line
  8. The location of your hosting server matters. The closer the server is the to the end user’s location, the better it is for the UX.

    A distant server is likely to affect latency or website loading time, which makes for a poor UX. If you have domestic operations, such as an online grocery website, your customers will be local and it only makes sense to host your website locally too.

  9. Don’t go lax on website server security
  10. As web users, the need for security is drilled into us. We choose strong and unpredictable passwords, keep our passwords secure, don’t share sensitive information… and still breaches and frauds happen.

    It’s human nature to find the easier way out and relax on aspects like security. But ecommerce website security just cannot be compromised upon. The cost of suffering a hacking is way too high, and can even be fatal for an ecommerce business.

    Don’t get fooled into thinking a password is enough security to grant access to the server. Implement two-factor authentication for admin users to minimize risk, and reset passwords every time an employee leaves.

    Allow admin users to have restricted access to the server—only as much they need to do their jobs, and ensure this access isn’t misused by keeping the servers accessible only from secure IPs.

If you are self-hosting your ecommerce website, check whether your in-house ecommerce website monitoring team is following all these best practices.

And if you have partnered with a dedicated services provider who isn’t already doing these, it is worth considering a partnership with a more experienced IT Managed Services and Support vendor for your ecommerce website.

Embitel has a long-standing partnership with various clients for its trusted ecommerce website hosting and monitoring services. Reach out to us to know more about how we can optimize the cost of maintaining your website.


  • 0

How UDS on IP (or DoIP) is Enabling The Remote Vehicle Diagnostics and Comparison with UDS on CAN

What is Diagnostic over Internet Protocol (DoIP)?

As the name suggests, DoIP is the automotive diagnostics protocol based on IP. Defined by ISO 13400-2 standard, DoIP facilitates diagnostics related communication between external test equipments and automotive control units (ECU) using IP, TCP and UDP.

DoIP also supports communication between on-board and off-board diagnostic systems of a vehicle.

Because DoIP enables access to the vehicle electronic components (a.k.a Automotive ECU) through Internet, it becomes possible to fetch diagnostic data from vehicle remotely, without requiring physical access to the vehicle.

In simple words, DoIP stack serves as a gateway for all the next generation Remote Vehicle Diagnostics applications!

Since the standard Ethernet Physical layer is used as a transmission medium for DoIP, it is also known as Diagnostics over Ethernet.

Following are some of the advantages of Ethernet MAC layer of DoIP stack solution:

  • Ethernet is a low-cost technology which allows high bandwidth for data communication.
  • It is a flexible communication platform and can be easily integrated into existing
  • It is light weighted, simple shielded structured cable.

 

Why UDS over Ethernet (as DoIP) for next generation automotive applications?

The ever growing complexity of electronic systems and need for large volume of data communication between vehicle networks, meant that automotive OEMs’and Suppliers felt the need for a more effective vehicle communication network like Ethernet.

Case in point: ECU re-programming, remote & on-board diagnostics are some examples of automotive applications that demand for faster data transfer rate.

As Ethernet physical layer doesn’t support bus like structure (like that in CAN), a switch is required for every network node. This ensures that Ethernet based DoIP supports rates of upto 100 mbps as compared to 500 kbps by CAN.

In the past, OEM’s provided diagnostic services over proprietary or KWP protocols. But the trend has shifted to more popular Unified Diagnostic Services (UDS) protocol that supports various BUS systems such as CAN, K-line, FlexRay and Ethernet.

Hence, UDS is now the most properly used standard for Diagnostic Protocol. DoIP transport layer is defined as a part of the UDS specification.

 

ISO-OSI Model of DoIP based software architecture

:

Diagnostic over Internet Protocol (DoIP

 

  • As mentioned before, ISO 13400-2 transport layer facilitates diagnostic communication between external test equipment and vehicle electronic components.
  • The implementation of a common set of Unified Diagnostic Services (UDS) on Internet Protocol (UDSonIP) is done using ISO 14229-5 Application layer.
  • The Vehicle transport layer is facilitated by TCP or UDP. Based on the standard, IPv6 acts a Network Layer and IPv4 can be used for compatibility.
  • Ethernet MAC is used as the Data Link Layer. The corresponding Physical Layer for on-board communication is specifies as Broad Reach or 100 Base T, while that for off-board communication is Ethernet.

 

Comparison between UDS on IP and UDS on CAN:.

UDSonIP Vs UDSonCAN

 
Here is a comparison between UDS on IP and UDS on CAN, on the basis of system architecture and data transmission:

On the basis of systems architecture:

  • UDS application layer has been modified to support compatibility with Ethernet transmission medium. This compatibility for UDS on IP is defined by ISO 14229-5 standard.

  • While the ISO 14229-3 standard defines implementation of UDS on CAN.

  • UDS on IP has DoIP Transport Layer defined by ISO 13400-2 standard. While UDS on CAN has ISO 15765-2 transport layer that support CAN physical layer.
  • The physical layer for UDS on IP is Ethernet, based on IEEE 802.3, a wired vehicle interface standard and the UDS on CAN is defined by ISO 11898 standard (classical CAN network).

On the basis of Data Transmission:

  • UDS on IP supports greater latency time of data transmission as compared to CAN.
  • A greater bandwidth capacity in DoIP enables it to handle large amount of data in comparison with CAN.
  • The standardized data format in DoIP makes the data less prone to error and ideal for diagnostic services.

 

Important Features of ISO 13400-2:2012

ISO 13400-2:2012 defines the requirement for vehicle gateway (for an instance, for integration into an existing computer network) and requirements for the test equipment (for example, to detect and establish communication with vehicle).

ISO 13400-2 is a significant for diagnostic communication. Here are some of its important features:

  • Vehicle network integration (IP address assignment).
  • Vehicle announcement and vehicle discovery.
  • Vehicle basic status information retrieval (example: diagnostic power mode).
  • Connection establishment, connection maintenance and vehicle gateway control.
  • Data routing to and from the vehicle’s sub components.
  • Error handling (example: physical network disconnect).

The optional features of ISO 13400-2:2012 –

  • DoIP entity status monitoring.
  • DoIP entity firewall capabilities.

  • 0

How to Integrate J1939 Software Stack With an Automotive ECU: A Step-by-Step Tutorial

If you are an embedded software engineer (or an enthusiast) ready to kick start your career in the exciting automotive ECU development space; this tutorial can serve as a high-level hands-on of J1939 stack integration with automotive ECU and/or tooling applications

Why J1939 stack integration in automotive ECU applications:

Before we start with our J1939 tutorial and address the step-by-step process involved behind the J1939 software stack integration, let us first look at the significance of J1939 integration.

  • J1939 software stack is compliant with SAE J1939 standard.
  • This software standard, defined by Society of Automotive Engineers (SAE), has been designed to ensure that Electronic Control Units (ECU) (manufactured by different automotive suppliers) follow a standard format to communicate with each other.
  • This standardization ensures interoperability between control units from different suppliers along with other benefits
  • J1939 software stack, in particular, supports communication and diagnostics services over CAN bus for commercial vehicle applications

 

Decoding J1939 software stack integration process:

In the system architecture diagram shown below, we observe that:

  • The J1939 stack is the middleware (middle layer) software
  • J1939 software stack is integrated between the Low Level Device Drivers (LLDs’) and automotive application.
  • In addition to this, there is also a J1939 based Bootloader software (part of the J1939 stack) and a Scheduler software, that are part of the ECU software architecture

J1939 based Bootloader software
 

Following are the steps involved in J1939 software stack integration:

Step 1: Development of APIs’ (and device drivers) for integration with target platform and application layer:

  • The Low-Level Device Driver layer consists of all the device driver software code that facilitate access to the underlying hardware platform (MCU, I/O ports, Timer) and other integrated peripherals
  • To enable communication of this Low-Level Device Driver layer with the Middleware Software (aka J1939 stack), an API software is designed
  • Such an API is designed to leverage following advantages:
    • The customer (an Automotive OEM/Supplier/Tooling vendor) may choose to provide only limited or no access of the low-level device drivers to the third party J1939 stack vendor. (Reason: This helps to safe-guard the mission critical data and architecture.)
    • In such scenarios, the software services vendor develops this API (as part of the J1939 package) which can be integrated with the low-level layer by the customer’s in-house software development team.

    • Since low-level device driver programming is more complicated, the higher level interface, facilitated by an API, makes configuration, customization and/or modification much simpler for the software developers
  • An API is also designed to enable integration with the target application layer of the ECU/Tooling system

 

Step 2: Configuration of the Middleware layer (J1939 stack)

  • There are several off-the-shelf J1939 software solutions available in the market.
  • Automotive companies, over the years, have shown confidence in such pre-tested stack solutions. Such ready-to-deploy J1939 stacks add value by saving development time and cost
  • However, to integrate this stack solution, the vendor provides support for the configuration of Application (J1939 – 71) and Diagnostics (J1939 – 73) layers
  • The level of configuration and customization required, depends on the business needs of the end-user application
  • Configuration of J1939/71 Layer: This layer is configured to define Parameter Group Numbers (PGNs), Suspect Parameter Numbers (SPNs) with the Scaling, Limits and Parameter Offset Size.
  • Configuration of J1939/73 Layer: This layer is configured to define Diagnostic Trouble Codes (DTC), Diagnostic Parameter Group Definitions and Diagnostic Messages (DM)

 

Pro-tip: This blog tells you how to test the quality of J1939 source code before integrating it with your ECU application.
 

Step 3: Compilation and Porting of the code on Target Hardware Platform

The general steps for compilation of source code into an executable file, are as follows:

  • Pre-processing: In this step the source code file is processed and transformed for compilation.
  • For an instance, if the code is written in C or C++ then the source code file will be in .c or .cpp format. The output of the pre-processing stage is .i or .ii file format.

  • Compilation: The output of the compilation stage is a file containing assembly language code to be interpreted by the assembler.
  • Assemble: In this stage the input file of assembly language code is converted into machine language file.
  • Linking: The linking phase of compilation process is responsible for producing an executable file.

To summarise, using an Integrated Development Environment (IDE),the source code is converted into an executable format. The compiled output files which are in .hex and .s19 format can be ported directly on the target Hardware platform.
 
Other optional steps involved for the integration of J1939 software stack:

  • J1939 Bootloader software development:
  • The Bootloader software is required for re-programming of the Automotive ECU. The bootloader functionality is a part of the J1939 software stack.

    Depending on the automotive application requirements, the J1939 bootloader sequence can be configured.

    Also, the bootloader logic is implemented separately for both boot and application areas.

  • Scheduler software development for non-RTOS systems:
  • In simple terms, a scheduler helps the embedded system to multitask in an organized way.

    Scheduling of tasks is imperative, due to increasing complexity of functionality in the layered system architecture.

    The scheduler software can be configured in two ways:

    • Based on the required time constraints set upon each tasks
    • Based on the number of tasks that have to be configured within a particular timestamp.

 

Challenges you may face during integration of J1939 Software Stack:

As you may have realized, integration of J1939 stack involves ensuring compatibility between three layers: Low-Level Device Drivers, J1939 stack layer and the Application Layer

The challenges during such a J1939 integration project are encountered due to faults at or limited access to the device drivers layer and/or application layer of the customer devices

If your J1939 stack source code is robust, pre-tested and has been proven by integrations across different platforms for different projects, then it is unlikely that you will face challenges due to faults or errors in the middleware software layer

Following are some suggestions to resolve a road-block during a J1939 software integration project:

  • When a specific software module in the LLD is faulty:
  • Fault may occur during J1939 software stack integration with the LLD layer, due to reason such as improper functioning of CAN module.

    In such a scenario, the error can be handled by carrying out the RCA (Root cause analysis).

    In cases where the customer shares limited access or no access to the LLD layer, the concerned teams from both the customer and vendor’s organization need to collaborate to resolve the issue.

  • When the application layer sequence is faulty:
  • The end user application can create a hurdle if it does not function properly.

    For example,if a data identifier does not have a proper sequence or format then, the particular diagnostic instruction will not be interpreted accurately by the ECU.

    If the application is developed by the customer, it is recommended to share the legacy library with the team responsible for integration of J1939 stack.

    This legacy library has details of the interface requirement of the application. This knowledge can help a software development team to resolve critical issues.

For more details or queries regarding integration of J1939 solution, please get in touch with our experienced team of automotive software developers


  • 0

MATLAB (Simulink) Based UI Development for Low Level Drivers of Model Based Application | Automotive Tier-I Supplier

 

Customer:

An US Tier-1 supplier of automotive and industrial products.

 

Business Challenge:

  • Our customer was engaged in a model based development project.
  • The customer identified the need for the development of a configurable interface for managing the settings of Low Level Drivers (LLD), Application Model functionality testing and code generation.

 

Embitel Solution:

  • Our Automotive software team developed the required User Interface (UI) in MATLAB, Simulink using s-functions and GUIDE.
  • The S-Function Interface, supported by the UI, is a solution to manage configuration/settings of the low-level drivers.
  • These Low level device drivers (LLD) had been manually coded to support functions of various blocks of the Model Based Application layer.
  • For code generation and testing of LLD, various block modules had been designed like signal conversion modules (for example ADC) , electrical signal control modules (example, current and voltage) and more
  • Each block (within the mentioned module) was assigned multiple S-Functions. We also developed UI screens for each S-Function, to support configuration of LLD settings.
  • For an instance, the communication protocol block has different UI message IDs for different functions such as configuring baud rates, transmit/receive channel and more. When the user selects a message ID from the UI, the supported scripts call the relevant LLD function. The LLD function loads the data requested by the user for further processing.
  • These s-function blocks are used for simulation testing (MIL) and are further used for code file generation once the simulation is successful.

S Function Architecture
 
Embitel Impact:

  • The stability and performance of the whole system (LLD configuration with the model based application) improved due to simulation testing in virtual environment.
  • Our automotive software development team, followed software development best practice and automated the whole process of s-function generation, model creation and code generation using tool and scripts.
  • To save the overall process time, our expert engineers automated some sub-steps required for block creation.
  • With minimal changes, these scripts are reusable across multiple MATLAB or Simulink projects.

 

Tools Used:

  • Matlab, Simulink 2015b
  • Windriver Compiler