|By Nitin Gaur||
|April 26, 2011 10:15 AM EDT||
Fundamentals: How does WXS solve the Scalability problem?
In understanding the scalability challenge addressed by WebSphere eXtreme
Scale, let us first define and understand scalability.
Wikipedia defines scalability as a "desirable property of a system, a network, or a process, which indicates its ability to either handle growing amounts of work in a graceful manner, or to be readily enlarged. For example, it can refer to the capability of a system to increase total throughput under an increased load when resources (typically hardware) are added."
- Scalability in a system is about the ability to do more, whether it is processing more data or handling more traffic, resulting in higher transactions
- scalability poses great challenges to database and transaction systems
- An increase in data can expose demand constraints on back-end database servers
- This can be a very expensive and short term approach to solving the problem of processing ever growing data and transactions
At some point, either due to practical, fiscal or physical limits, enterprises are unable to continue to "scale out" by simply adding hardware. The progressive approach then adopted is to "scale out" by adding additional database servers and using a high speed connection between the database servers to provide a fabric of database servers. This approach while viable, poses some challenges around keeping the databases servers synchronized. It is important to ensure that the databases are kept in sync for data integrity and crash recovery.
Solution: WebSphere eXtreme Scale
WebSphere eXtreme Scale compliments the database layer to provide a fault tolerant, highly available and scalable data layer that addresses the growing concern around the data and eventually the business.
- Scalability is never an IT problem alone. It directly impacts the business applications and the business unit that owns the applications.
- Scalability is treated as a competitive advantage.
- The applications that are scalable can easily accommodate growth and aid
The business functions in analysis and business development.
WebSphere eXtreme Scale provides a set of interconnected java processes that holds the data in memory, thereby acting as shock absorbers to the back end databases. This not only enabled faster data access, as the data is accessed from memory, but also reduces the stress on database.
This short paper attempts to serve as checklist and is designed for clients and professional community that use or are considering to use WebSphere eXtreme Scale as a elastic, scalable in memory data cache, and who are interested in implementing a highly available and scalable e-business infrastructure using the IBM WebSphere eXtreme Scale (WXS). Through WebSphere eXtreme Scale, customers can postpone or virtually eliminate costs associated with upgrading more expensive, heavily loaded back-end database and transactional systems, while meeting the high availability and scalability requirements for today's environments. While not an exhaustive list, this paper includes primarily the infrastructure planning requirements of WXS environment.
This document is broken into two sections:
- Application Design Discussion: This section is important and should be a considered when discussing application design. The intent of this section is to discuss architectural implications of including a WXS grid as a part of the application design.
- Layered Approach to WXS environment performance tuning: This is a recommended approach for WXS implementation. The approach can be implemented top to bottom or bottoms-up. We usually recommend a tom-to-bottom approach, simply due to control boundaries around middleware infrastructure.
1. Application Design Discussion:
Part of application design and consideration is understanding various WXS components. This is an important exercise as this provides insights into performance tuning and application design considerations discussed in this section. The idea is to implement a consistent tuning methodology during operations and apply appropriate application design principles during the design of the WXS application. This is an important distinction, as tuning will not be of much help during operational runtime if the application design is inadequate to achieve scalability. It is therefore much more important to spend sufficient time in application design, which will lead to significantly less effort in performance tuning. A typical WXS application includes the following components:
a. WXS Client - The entity that interacts with the WXS server. It is a JVM runtime with ORB communications to the WXS grid containers. Can be a JEE application hosted in WAS runtime of standalone IBM JVM.
b. WXS Grid Server - An entity that stored java objects/data. It is a JVM runtime with ORB communication to the other WXS grid containers. Can be hosted in a WAS ND cell or stand alone interconnected JVMs.
c. WXS Client loader (optional for bulk pre-load): A client loader which pre-loads the data (can be in bulk fashion) into the grid. It is a JVM runtime with ORB communication to WXS grid containers. The client loaders pre-load the data and push it to the grid servers, this activity happens at regular intervals.
d. Back-end database - A persistent data store such as a back end database including DB2, Oracle etc.
(Note: please see General performance Principles for general performance guidelines)
Discussed below are top 10 IMDG application design considerations:
I. Understand Data Access and Granularity of data model
b. ORM ( JPA,Hibernate etc)
i. Fetch - Join
ii. Fetch batch size
c. EJB ( CMP,BMP, JPA)
II. Understand Transaction management requirements
a. XA -2PC – Impact on latency and performance
III. Ascertain stateful vs. Stateless
a. Stateless – more apt for IMDG
b. Stateful – determine the degree of state to be maintained.
IV. Application data design ( data and Object Model) – CTS and De-normalized data
a. CTS – Constrained Tree Schema: The CTS schemas also don’t have references to other root entities. Each customer is independent of all other customers. The same behavior applies to users. This type of schema lends itself to partitioning. These are applications that use constrained tree schemas and only execute transactions that use a single root entity at a time. This means that transactions don’t span a partition and complex protocols such as two-phase commit are not needed. A one phase or native transaction is enough to work with a single root entity given it is fully contained within a single transaction.
b. De-normalized data : The data de-normalization, although done by adding redundant data. WXS (IMDG) ability to support ultra high scalability depends on uniformly partitioning data and spreading the partitions across machines. Developing scalable applications accessing partitioned data demands a paradigm shift in programming discipline. De-normalization of data, creation of application specific and non-generic data models, avoidance of complex transactional protocols like 2 phase commit are some of the basic principles of this new programming methodology.
V. Distributing Sync object graphs across grid.
Synchronizing objects in a grid can results in many RPC calls the grid containers busy and impact performance and scalability.
VI. Single User Decoupled system
a. Typically Single use decoupled system are designed with stateless application in mind.
b. Unlike stateful enterprise systems which may limit scalability due to number of factors such as number of resources, operations, cluster services, data synchronization etc.
c. Every application system is single function and is usually co-located with the data.
VII. Invasive vs. Non-Invasive change to IMDG
a. Test! Test! Test!
b. Invasive application changes include change in data access and data model to fit IMDG/XTP type scenario. Such changes are expensive, error prone and less like to adapt IMDG solutions in immediate future. In such cases the IMDG adoption will be a long term approach
c. Non-Invasive application includes easy plug ability into WXS with little or no code change and such application changes require no change to application data access or data model. These are low hanging fruits and more readily receptive to WXS solutions.
VIII. Data Partitioning
a. Data partitioning is a formal process of determining which data or sub set of data are needed to be contained in a WXS data partition or shard.
b. Design with data density in mind
c. Data Partitioning will assist in planning for growth.
IX. Data Replication and availability
a. In synchronous data replication a put request from a process will block all other processes access to the cache until it successfully replicates the data change to all other processes that use the cache. You can view in a term of a database transaction. It will update this process’s cache and propagate the data modification to the other processes in the same unit of work. This would be the ideal mode of operation because it means that all the processes see the same data in the cache and no ever gets stale data from the cache. However it’s likely that in a case of a distributed cache, the processes live on different machines connected through a network, the fact that a write request in one process will block all other reads from the cache this method may not be considered efficient. Also all involved processes must acknowledge the update before the lock is released. Caches are supposed to be fast and network I/O is not, not to mention prone to failure so maybe not wise to be very confident that all the participants are in sync, unless you have some mechanism of failure notification. Advantages : data kept in sync
Disadvantages : network I/O is not fast and is prone to failure
b. In contrary, the asynchronous data replication method does not propagate an update to the other processes in the same transaction. Rather, the replication messages are sent to the other processes at some time after the update of one of the process’s cache. This could be implemented for example as another background thread that periodically wakes and sends the replication messages from a queue to the other processes. This means that an update operation on a process to its local cache will finish very fast since it will not have to block until it receives an acknowledgment of the update from the other processes. If a peer process is not responding to a replication message, how about retrying later, but in no way hinder or block the other processes. Advantages : Updates do not generate long blocks across processes. Simpler to deal with, for example in case of network failure maybe resend the modification .Disadvantages : Data may not be in sync across processes
X. Cache (grid) pre-load :
a. Grid pre-load is an essential consideration with business requirement in mind. The reason to move to WXS or IMDG solution is to have the ability to access massive amounts of data which is transparent to end user application. Grid pre-load strategies become vital.
b. Server side Pre load : Partition specific load, dependent on data model and is complex.
c. Client side pre-load : Easy, but preload is not as fast, as DB becomes a bottleneck, so this takes longer
d. Range based multiple clients preload : Multiple clients in different systems do a range based client preload to warm the grid.
- Layered approach to Performance Tuning:
As discussed earlier this is usually an approach at WXS implementation, the approach can be top to bottom or bottoms-up. We usually recommend a top-to-bottom approach, simply due to control boundaries around middleware infrastructure.
Figure - WXS Layered Tuning approach
This approach adds structure to the tuning process, it also helps eliminate layers in problem determination process. Applying the ‘top-to-bottom’ approach, enabled the administrators to inspect various tiers involved and methodically isolate the layer(s) responsible for performance degradation. Short description of layers is described below:
I. ObjectGrid.xml file:
A deployment policy descriptor XML file is passed to an ObjectGrid container server during start-up. This file ( in conjunction with ObjectGrid.xml file) defined the grid policy such as a replication policy ( which has impact on grid performance), shard placement etc. It is vital to defined policies that are aligned with business goals, and to discuss the performance and sizing implication during design and planning process.
II. WebSphere Turning ( if grid servers use WAS runtime): Standard WAS tuning related to JVM such as GC policy, heap limits apply. Important consideration is to factor in the WAS footprint in estimating overall grid size.
III. ORB Tuning:
- The ORB is used by WXS to communicate over a TCP stack. The necessary orb.properties file is in the java/jre/lib directory.
- The orb.properties file is used to pass the properties used by the ORB to modify the transport behavior of the grid. The following settings are a good baseline but not necessarily the best settings for every environment. The descriptions of the settings should be understood to help make a good decision on what values are appropriate in your environment. Note that when the orb.properties file is modified in a WebSphere Application Server java/jre/lib directory, the application servers configured under that installation will use the settings.
The com.ibm.CORBA.RequestTimeout property is used to indicate how many seconds any request should wait for a response before giving up. This property influences the amount of time a client will take to failover in the event of a network outage type of failure. Setting this property too low may result in inadvertent timeout of valid requests. So care should be taken when determining a correct value.
The com.ibm.CORBA.ConnectTimeout property is used to indicate how many seconds a socket connection attempt should wait before giving up. This property, like the request timeout, can influence the time a client will take to failover in the event of a network outage type of failure. This property should generally be set to a smaller value than the request timeout as establishing connections should be relatively time constant.
The com.ibm.CORBA.FragmentTimeout property is used to indicate how many seconds a fragment request should wait before giving up. This property is similar to the request timeout in effect.
Thread Pool Settings
These properties constrain the thread pool to a specific number of threads. The threads are used by the ORB to spin off the server requests after they are received on the socket. Setting these too small will result in increased socket queue depth and possibly timeouts.
The connection multiplicity argument allows the ORB to use multiple connections to any server. In theory this should promote parallelism over the connections. In practice
ObjectGrid performance does not benefit from setting the connection multiplicity and we do not currently recommend using this parameter.
The ORB keeps a cache of connection established with clients. These connections may be purged when the max open connections value is passed. This may cause poor behavior in the grid.
Server Socket Queue Depth
The ORB queues incoming connections from clients. If the queue is full then connections will be refused. This may cause poor behavior in the grid.
The fragment size property can be used to modify the maximum packet size that the ORB will use when sending a request. If a request is larger than the fragment size limit then that request will be chunked into request “fragments” each of which is sent separately and reassembled on the server. This is helpful on unreliable networks where packets may need to be resent but on reliable networks this may just cause overhead.
No Local Copies
The ORB uses pass by value invocation by default. This causes extra garbage and serialization costs to the path when an interface is invoked locally. Setting the com.ibm.CORBA.NoLocalCopies=true causes the ORB to use pass by reference which is more efficient.
No Local Interceptors
The ORB will invoke request interceptors even when making local requests (intra-process). The interceptors that WXS uses are not required in this case so these calls are unnecessary overhead. By setting the no local interceptors this path is more efficient.
I. JVM Tuning:
- GC Tuning : Analyze for optimum GC policy generational GC vs. Optthruput vs. optavgpause.
- 32 bit vs 64 bit :
1. IBM Java 6 SDK that was shipped with WAS V7 (and the most recent Sun Java 6 SDK that was shipped with fixpack 9 for V7) provide compressed references which significantly decrease the memory footprint overhead of 64-bit but don't eliminate it
2. There is not hard requirement for DMGR to be on 64bit when all of the Nodes/App servers are in 64 bit mode, but we strongly recommend ensuring that DMGR and nodes in a cell are all at same level. So if you decide to keep your grid at 64 bit level, please keep the DMGR also at the same level.
3. Depending on the OS 32-bit address spaces allow for heaps of ~1.8 GB to 3.2 GB as shown below
Bottom line, a comparison of 32-bit versus 64-bit is rather straightforward
a) 64-bit without compressed references takes significantly more physical memory than 32-bit
b) 64-bit with compressed references takes more physical memory than 32-bit
c) 64-bit performs slower 32-bit unless an application is computationally intensive which allows it to leverage 64-bit registers or a large heap allows one to avoid out of process calls for data access
d) JDK Compressed Reference: In WAS V7.0 we introduce compressed reference (CR) technology. CR technology allows WAS 64-bit to allocate large heaps without the memory footprint growth and performance overhead. Using CR technology instances can allocate heap sizes up to 28GB with similar physical memory consumption as an equivalent 32-bit deployment (btw, I am seeing more and more applications that fall into this category -- only "slightly larger" than the 32-bit OS process limit). For applications with larger memory requirements, full 64-bit addressing will kick in as needed. The CR technology allows your applications to use just enough memory and have maximum performance, no matter where along the 32-bit/64-bit address space spectrum your application falls
Figure - JVM heap memory table
- Threads : see ORB thread pool properties.
- ORB tuning : See ORB Tuning
I. Operating System ( including network) Tuning:
(Note: Tuning options for different operating systems may differ, concept remains the same)
Network tuning can reduce Transmission Control Protocol (TCP) stack delay by changing connection settings and can improve throughput by changing TCP buffers.
1. Example of AIX tuning:
The TCP_KEEPINTVL setting is part of a socket keep-alive protocol that enables detection of network outage. It specifies the interval between packets that are sent to validate the connection. The recommended setting is 10.
To check the current setting
# no –o tcp_keepintvl
To change the current setting # no –o tcp_keepintvl=10
The TCP_KEEPINIT setting is part of a socket keep-alive protocol that enables detection of network outage. It specifies the initial timeout value for TCP connection. The recommended setting is 40.
To check the current setting # no –o tcp_keepinit
To change the current setting # no –o tcp_keepinit=40
c. Various TCP buffers such as : Network has a huge impact on performance it s hence vital to ensure that the OS specific properties are optimized :
iii. send and recv buffers
General performance Principles to be aware of:
- Multi-JVM / Multi Thread - Pre-load
- Multiple Thread to query DB
- One thread defined record range from DB
- Implement thread pool – client loader side thread pool.
- Agent required (grid agent) for client pre-loader. – This agent communicated with the client loader for pre-load ONLY.
(Figure: Agent communication with client loader –pre-load)
- Query – Loader to DB
- One-to-many relationship – Lazy
- Many-to-Many – Eager
- Operational ‘churn’
- Impact of Teardown
- Impact of abrupt shutdown
- For complex object graphs
- NO JPA or JDBC loader
- Use custom loader
- Client load the data i.e pre-load the data into the grid and then grid operations is business as usual.
- After pre-load ( client based), the update to database is done by backing maps and loader plug-in.
- Consider Database tuning such as a DB buffer pools and RAMDisk
- Instrumental in preload performance is database is tuned.
- Consider Indexing – Index and Populate.
- CPU – Memory and Heap Consumption
- Consider number of threads, more number of threads higher the CPU consumption ( generally)
- When using multiple threads for client loaders, depending on number of records retrieved per thread, consider heap size of the client loader JVMs. Tune the threads per JVM accordingly. This is when you consider multi JVM multi threads option.
- The client loaders pre-load the data and push it to the grid servers, this activity happens at regular intervals, so we can expect to see a CPU spike ( due to network traffic and serialization) and gradual increase in JVM heap. The JVM heap will eventually level off as grid becomes stable.
- WXS Maintenance related issues:
i. GC takes too long:
1. can cause high CPU consumption
2. Marking JVM down, causing shard churn i.e replica to primary conversion and subsequent replica serialization – expensive process.
ii. Replication traffic :
1. shard churn i.e replica to primary conversion and subsequent replica serialization – expensive process.
2. Evaluate replication policy in objectgriddeployment.xml file. Or tune HA manager heartbeat and HA detection.
iii. CPU Starvation.:
1. Cause marking JVM/Host un-reachable triggering high availability mechanism.
2. Marking JVM down, causing shard churn i.e replica to primary conversion and subsequent replica serialization – expensive process.
3. Excessive GC often a culprit cause excessive shard churn.
If Application design is faulty, then no amount of tuning will help. Hence recommendation to spend more time in design. Spending more time in planning your application design and infrastructure topology will not only lay the foundation for a more resilient infrastructure, but also enable application to get the most out of the elastic and scaleable infrastructure enabled by WebSphere eXtreme Scale.
The Internet of Things is not new. Historically, smart businesses have used its basic concept of leveraging data to drive better decision making and have capitalized on those insights to realize additional revenue opportunities. So, what has changed to make the Internet of Things one of the hottest topics in tech? In his session at @ThingsExpo, Chris Gray, Director, Embedded and Internet of Things, discussed the underlying factors that are driving the economics of intelligent systems. Discover how hardware commoditization, the ubiquitous nature of connectivity, and the emergence of Big Data a...
Dec. 21, 2014 02:00 PM EST Reads: 3,071
"BSQUARE is in the business of selling software solutions for smart connected devices. It's obvious that IoT has moved from being a technology to being a fundamental part of business, and in the last 18 months people have said let's figure out how to do it and let's put some focus on it, " explained Dave Wagstaff, VP & Chief Architect, at BSQUARE Corporation, in this SYS-CON.tv interview at @ThingsExpo, held Nov 4-6, 2014, at the Santa Clara Convention Center in Santa Clara, CA.
Dec. 21, 2014 01:00 PM EST Reads: 2,610
The major cloud platforms defy a simple, side-by-side analysis. Each of the major IaaS public-cloud platforms offers their own unique strengths and functionality. Options for on-site private cloud are diverse as well, and must be designed and deployed while taking existing legacy architecture and infrastructure into account. Then the reality is that most enterprises are embarking on a hybrid cloud strategy and programs. In this Power Panel at 15th Cloud Expo (http://www.CloudComputingExpo.com), moderated by Ashar Baig, Research Director, Cloud, at Gigaom Research, Nate Gordon, Director of T...
Dec. 21, 2014 11:30 AM EST Reads: 3,143
SYS-CON Events announced today that IDenticard will exhibit at SYS-CON's 16th International Cloud Expo®, which will take place on June 9-11, 2015, at the Javits Center in New York City, NY. IDenticard™ is the security division of Brady Corp (NYSE: BRC), a $1.5 billion manufacturer of identification products. We have small-company values with the strength and stability of a major corporation. IDenticard offers local sales, support and service to our customers across the United States and Canada. Our partner network encompasses some 300 of the world's leading systems integrators and security s...
Dec. 21, 2014 10:00 AM EST Reads: 2,726
SYS-CON Events announced today that Windstream, a leading provider of advanced network and cloud communications, has been named “Silver Sponsor” of SYS-CON's 16th International Cloud Expo®, which will take place on June 9–11, 2015, at the Javits Center in New York, NY. Windstream (Nasdaq: WIN), a FORTUNE 500 and S&P 500 company, is a leading provider of advanced network communications, including cloud computing and managed services, to businesses nationwide. The company also offers broadband, phone and digital TV services to consumers primarily in rural areas.
Dec. 21, 2014 08:30 AM EST Reads: 2,943
ARMONK, N.Y., Nov. 20, 2014 /PRNewswire/ -- IBM (NYSE: IBM) today announced that it is bringing a greater level of control, security and flexibility to cloud-based application development and delivery with a single-tenant version of Bluemix, IBM's platform-as-a-service. The new platform enables developers to build ap...
Dec. 21, 2014 06:15 AM EST Reads: 3,272
The BPM world is going through some evolution or changes where traditional business process management solutions really have nowhere to go in terms of development of the road map. In this demo at 15th Cloud Expo, Kyle Hansen, Director of Professional Services at AgilePoint, shows AgilePoint’s unique approach to dealing with this market circumstance by developing a rapid application composition or development framework.
Dec. 20, 2014 11:00 PM EST Reads: 2,095
“In the past year we've seen a lot of stabilization of WebRTC. You can now use it in production with a far greater degree of certainty. A lot of the real developments in the past year have been in things like the data channel, which will enable a whole new type of application," explained Peter Dunkley, Technical Director at Acision, in this SYS-CON.tv interview at @ThingsExpo, held Nov 4–6, 2014, at the Santa Clara Convention Center in Santa Clara, CA.
Dec. 20, 2014 08:00 AM EST Reads: 2,247
DevOps Summit 2015 New York, co-located with the 16th International Cloud Expo - to be held June 9-11, 2015, at the Javits Center in New York City, NY - announces that it is now accepting Keynote Proposals. The widespread success of cloud computing is driving the DevOps revolution in enterprise IT. Now as never before, development teams must communicate and collaborate in a dynamic, 24/7/365 environment. There is no time to wait for long development cycles that produce software that is obsolete at launch. DevOps may be disruptive, but it is essential.
Dec. 18, 2014 09:45 PM EST Reads: 2,034
"People are a lot more knowledgeable about APIs now. There are two types of people who work with APIs - IT people who want to use APIs for something internal and the product managers who want to do something outside APIs for people to connect to them," explained Roberto Medrano, Executive Vice President at SOA Software, in this SYS-CON.tv interview at Cloud Expo, held Nov 4–6, 2014, at the Santa Clara Convention Center in Santa Clara, CA.
Dec. 18, 2014 09:00 AM EST Reads: 2,357
Nigeria has the largest economy in Africa, at more than US$500 billion, and ranks 23rd in the world. A recent re-evaluation of Nigeria's true economic size doubled the previous estimate, and brought it well ahead of South Africa, which is a member (unlike Nigeria) of the G20 club for political as well as economic reasons. Nigeria's economy can be said to be quite diverse from one point of view, but heavily dependent on oil and gas at the same time. Oil and natural gas account for about 15% of Nigera's overall economy, but traditionally represent more than 90% of the country's exports and as...
Dec. 18, 2014 06:00 AM EST Reads: 1,396
The Internet of Things is a misnomer. That implies that everything is on the Internet, and that simply should not be - especially for things that are blurring the line between medical devices that stimulate like a pacemaker and quantified self-sensors like a pedometer or pulse tracker. The mesh of things that we manage must be segmented into zones of trust for sensing data, transmitting data, receiving command and control administrative changes, and peer-to-peer mesh messaging. In his session at @ThingsExpo, Ryan Bagnulo, Solution Architect / Software Engineer at SOA Software, focused on desi...
Dec. 17, 2014 11:15 PM EST Reads: 2,312
"At our booth we are showing how to provide trust in the Internet of Things. Trust is where everything starts to become secure and trustworthy. Now with the scaling of the Internet of Things it becomes an interesting question – I've heard numbers from 200 billion devices next year up to a trillion in the next 10 to 15 years," explained Johannes Lintzen, Vice President of Sales at Utimaco, in this SYS-CON.tv interview at @ThingsExpo, held Nov 4–6, 2014, at the Santa Clara Convention Center in Santa Clara, CA.
Dec. 17, 2014 11:00 PM EST Reads: 2,301
"For over 25 years we have been working with a lot of enterprise customers and we have seen how companies create applications. And now that we have moved to cloud computing, mobile, social and the Internet of Things, we see that the market needs a new way of creating applications," stated Jesse Shiah, CEO, President and Co-Founder of AgilePoint Inc., in this SYS-CON.tv interview at 15th Cloud Expo, held Nov 4–6, 2014, at the Santa Clara Convention Center in Santa Clara, CA.
Dec. 17, 2014 08:00 PM EST Reads: 2,298
SYS-CON Events announced today that Gridstore™, the leader in hyper-converged infrastructure purpose-built to optimize Microsoft workloads, will exhibit at SYS-CON's 16th International Cloud Expo®, which will take place on June 9-11, 2015, at the Javits Center in New York City, NY. Gridstore™ is the leader in hyper-converged infrastructure purpose-built for Microsoft workloads and designed to accelerate applications in virtualized environments. Gridstore’s hyper-converged infrastructure is the industry’s first all flash version of HyperConverged Appliances that include both compute and storag...
Dec. 17, 2014 06:30 PM EST Reads: 2,272
Today’s enterprise is being driven by disruptive competitive and human capital requirements to provide enterprise application access through not only desktops, but also mobile devices. To retrofit existing programs across all these devices using traditional programming methods is very costly and time consuming – often prohibitively so. In his session at @ThingsExpo, Jesse Shiah, CEO, President, and Co-Founder of AgilePoint Inc., discussed how you can create applications that run on all mobile devices as well as laptops and desktops using a visual drag-and-drop application – and eForms-buildi...
Dec. 17, 2014 11:45 AM EST Reads: 2,390
We certainly live in interesting technological times. And no more interesting than the current competing IoT standards for connectivity. Various standards bodies, approaches, and ecosystems are vying for mindshare and positioning for a competitive edge. It is clear that when the dust settles, we will have new protocols, evolved protocols, that will change the way we interact with devices and infrastructure. We will also have evolved web protocols, like HTTP/2, that will be changing the very core of our infrastructures. At the same time, we have old approaches made new again like micro-services...
Dec. 16, 2014 11:45 PM EST Reads: 2,281
Code Halos - aka "digital fingerprints" - are the key organizing principle to understand a) how dumb things become smart and b) how to monetize this dynamic. In his session at @ThingsExpo, Robert Brown, AVP, Center for the Future of Work at Cognizant Technology Solutions, outlined research, analysis and recommendations from his recently published book on this phenomena on the way leading edge organizations like GE and Disney are unlocking the Internet of Things opportunity and what steps your organization should be taking to position itself for the next platform of digital competition.
Dec. 15, 2014 11:45 PM EST Reads: 2,653
The 3rd International Internet of @ThingsExpo, co-located with the 16th International Cloud Expo - to be held June 9-11, 2015, at the Javits Center in New York City, NY - announces that its Call for Papers is now open. The Internet of Things (IoT) is the biggest idea since the creation of the Worldwide Web more than 20 years ago.
Dec. 15, 2014 10:30 AM EST Reads: 8,233
As the Internet of Things unfolds, mobile and wearable devices are blurring the line between physical and digital, integrating ever more closely with our interests, our routines, our daily lives. Contextual computing and smart, sensor-equipped spaces bring the potential to walk through a world that recognizes us and responds accordingly. We become continuous transmitters and receivers of data. In his session at @ThingsExpo, Andrew Bolwell, Director of Innovation for HP's Printing and Personal Systems Group, discussed how key attributes of mobile technology – touch input, sensors, social, and ...
Dec. 15, 2014 10:00 AM EST Reads: 3,356