Weblogic Authors: Yeshim Deniz, Elizabeth White, Michael Meiner, Michael Bushong, Avi Rosenthal

Related Topics: Weblogic

Weblogic: Article

Mobile Auctions with 12snap

Mobile Auctions with 12snap

In October 1999 12snap's main goal was the development and commercial implementation of the world's first wireless shopping platform for existing mobile devices as well as WAP-enabled phones. The first application allowed mobile phone users across Germany to participate in auctions through a combination of voice, cell broadcast, and short messages, all based on the GSM technology so popular around the world (except in North America).

This auction application went into production in February 2000 in Germany, the United Kingdom, and Italy. Additionally, there were other applications such as fixed-price shopping. In June 2001 a wireless betting application was added for the UK market. At the time of this writing, 12snap has removed the auction application from production until new market opportunities arise. However, we find the application interesting and will discuss it here.

How It Works
The idea is that anybody can participate freely in any of the auctions available. Ideally the participants are people who have already registered with 12snap; non-registered users can still participate in an auction, but if they win they have to register.

The registration process is purposely very easy. The participants can either contact 12snap's call center to verbally provide all their information or they can go to the 12snap.com Web site and type in all of the required information. The important thing is that 12snap ends up with all the payment information to properly close the transaction.

Auctions are announced via Cell Broadcast Services (CBS). The CBS message is received by any users, who activate the feature in their mobile phones. The activation allows configuration and reception of a certain number of channels. Each channel is identified by a three-digit identification and can be labeled. 12snap broadcasts on Channel 123, which is closer to omnicast than multicast.

Every day the application sends several CBS messages to the mobile operator, who then distributes the messages to the cell broadcast-activated handsets. Each message announces the product to be auctioned on that day (see Figure 1), including a basic description of the product, the auction start price, and a phone number pointing to the voice response unit of 12snap (see Figure 2).

As other users participate in the same auction, the system uses the Short Message Service (SMS) to inform previous participants in the auction with "bid topped" messages (see Figure 3). The SMS message carries enough information for the user to participate again and place a higher bid (see Figure 4).

Once the auction is over, the application notifies the winner with a new SMS message (see Figure 5). When the winner is not a registered user, the SMS message also invites the user to register and provide payment information. In this case, the auction application waits for several hours for the unregistered winners to provide their information before proceeding with payment and fulfillment activities. If an unregistered winner does not provide the payment information within that period, he or she is blacklisted and prevented from participating on future auctions.

At last count there were about 80 auctions a week running in Germany. These occurred between noon and 8:00 p.m. on weekdays and between noon and 10:00 p.m. on weekends. The average duration of an auction was about 15 minutes and one hour each day was dedicated to a specific type of product.

Although the auction engine was designed to handle concurrent auctions for the various regions of Germany, this feature was never used.

The auction application is administered via a browser interface. From the various administrative tasks we can get a look at how an auction is created. This requires the following information:

  • Item, supplier number, and name from the dropdown menu refers to the actual product to be auctioned.
  • Product Category forces an auction to be scheduled at specific times of the day based on categories, such as "events," where tickets to a music concert could be auctioned, or "electronics" for items such as mobile phones.
  • Number of items to be auctioned affects the actual number of winners. If two items are to be auctioned, then two customers will win and will end up paying two different prices according to the strategy followed by 12snap's auction model.
  • Starting price
  • Warning price is the price above which the customer receives a warning indicating that the amount entered is too large.
  • Minimum bid
  • Speaker name identifies the set of sound files or voice prompts used by the IVR to speak out the welcome messages, instructions, and product descriptions.
  • Item type affects the timing parameters of the auction, particularly those affecting the closing of the auction and processing of payment data for winning customers. For example, an item could be perishable.
  • Payment methods After this, other screens are used to add more information related to a new auction:
  • The date and the starting time
  • The time the auction will last and extension time
  • Assign a time scheduler to the auction.
  • Assign a slot to the auction begin time.
The Whole Picture
Putting it all together, we have all of the components shown in Figure 6, where the participants supporting the process described earlier are:
  • The customer using a handset or a browser
  • The public land mobile network (PLMN) of the mobile operator
  • The mobile operator
  • Public switched telephone network (PSTN) for voice hand-over to the TSP
  • Packet data network for connection to the SMS center
  • The telephone service provider for SMS and IVR capability
  • 12snap systems
  • The payment partner
  • Logistics for delivering goods to the winners
  • Address-checking facility for maintaining high quality on data from registrations
The Solution
The 12snap team had a major challenge in trying to design, develop, test, and implement the application in about four months, which is more or less equivalent to the infamous "yesterday" deadline that we are all too familiar with. Additionally, the application needed a cost-effective integration solution capable of supporting the connection needs to systems, such as voice response units, SMS gateways, and third-party payment services.

Java, along with the Enterprise Java Beans specification, was quickly identified as the basic technology that would allow a quick development and implement a clean service-based solution. WebLogic was then selected as the application server platform mainly because it worked correctly on the first try.

The design stage was divided into the following parts:

  • Auction logic
  • Software architecture
  • Data modeling
  • Front-end design
  • Call-flow and IVR integration
  • SMS and CBS integration
  • Development setup
  • Production setup
Timed Auction Logic
The initial aspects of the design addressed the auction logic itself. There are a variety of auction models that can be classified based on three phases: setup, bidding, and resolution. For example, in Dutch auctions the setup phase initiates a very high opening bid. During that phase the participants bid to lower the initial price. This will run until demand rises to match supply or the goods are exhausted.

12snap adopted a very simple auction model. In the setup phase the number of goods is defined. If there is more than one item, the winners will pay different prices. During the bidding phase the participants bid to increase the price. This process stops when no participant places a bid during a period called the extension time, which is defined in the setup phase. When there is only one item, the resolution phase assigns the item to the highest bidder. When there is more then one item (N > 1), they are assigned to the N topmost bids.

In addition to the basic strategy, a number of states were defined for the auction, which indicate what methods need to be triggered. The actual transitions are timer-based and use WebLogic timer classes. Although these are WebLogic proprietary classes, there is no equivalent functionality present in the J2EE specification.

The problem is that these timer classes are not cluster-aware, that is, a WebLogic timer is not aware of other timers running outside of its JVM. Since the application would run in a WebLogic cluster, this was going to be a show-stopper. The 12snap team had to perform some magic to allow the timer to work in a WL cluster configuration. This magic was based on three EJBs:

  • The AuctionTimer: An entity bean that contains the scheduling for an auction. The scheduling is a vector of events.
  • The AuctionTimerMgr: A session bean responsible for creating, cancelling and rescheduling the AuctionTimer
  • The TimerSchedulerMgr: A session bean responsible for accessing the WebLogic TimerService
And there were also some normal Java classes:
  • The AuctionTimerScheduler: The kernel of the system. It implements some specific WebLogic Timer interfaces and is the one called by WebLogic for scheduling and triggering events. Each instance is associated with an AuctionTimer instance. For scheduling, it calls the AuctionTimer to get the next activation time (but not for the first one, to avoid transaction locking). For triggering, it gets the event from the AuctionTimer, and removes it from the list of next events. Then it gets the action for this event, which is the name of the method to call on the AuctionMgr.
  • The TimerSchedulerHelper: Provides utility methods for registering and cancelling AuctionTimer. It also provides methods for sending multicast messages for scheduling and cancelling timers.
  • The TimeServiceHelper: Provides some utility methods to access the WebLogic Time Service.
  • The TimerSchedulerMulticastThread: A thread whose role is to listen for multicast messages and execute the associated action.
  • The SchedulingValue class: Describes an event.
There are other classes used, but they are not worth discussing. You can download this package from www.wldj.com.

Functional Overview
In a cluster, all the members will have a local auction timer. Every event for every auction will be scheduled on all the machines. When a timer wants to execute an event, it first checks to see if the action has already been executed. If so, it does nothing; otherwise, it executes the action.

Execution of an Event
When an event is triggered, the database row concerning the particular auction is locked by using a "select for update." This is done on the t_auction_event table.

It then gets the next event to be executed, first checking that the event has not already been executed. To do so, it compares the date of this event with the next activation date stored in the AuctionTimerScheduler for when this event was scheduled (previous call to the schedule method). If these two dates match, then it can be executed. If not, another machine must already have executed this action, so the method just returns.

By locking the row in the database, it prevents two instances of WebLogic from executing a sequence at exactly the same time.

The transactions are handled by using a "user demarcated" transaction using JTS.

Scheduling on all the machines
This is the trickiest part of the system. As there was no way to know all of the instances of WebLogic servers that make up a cluster, 12snap was forced to implement a solution to communicate with all the members of the cluster.

This was done by using multicast and a dedicated socket. There is a thread that listens on this socket for messages and executes the commands. On the other side, when you want to schedule or cancel a timer you simply send a message on this multicast socket and every member of the cluster will receive it.

The TimerSchedulerMulticastThread listens for messages. The TimerSchedulerHelper contains utility methods to send these messages. The TimerSchedulerMgr bean, which is responsible for scheduling or cancelling timers, sends only the multicast messages.

Message format
The message is a byte buffer with the format shown in Table 1.

Properties involved
The system used the following properties:

  • timerScheduler.multicastIp: Multicast IP for the timer system
  • timerScheduler.multicastPort: Multicast port for the timer system
  • timerScheduler.sessionTimeout: Transaction timeout for the execution of an event
Restarting the timers
This process is different from the basic scheduling because when it is executed the multicast socket may not be open. Basically, every machine registers the StartTimers startup class. But now, when you update and register the timer, you lock the row in the database with a "select for update" and a user-demarcated transaction. Then you update, that is, you remove the events that could not be executed, and you register the timer locally. To be able to schedule a timer locally or cluster-wide, some methods have been added to AuctionTimerMgr.

State Transitions
Equipped with this sophisticated timer, the application can control state transitions for various auctions running concurrently.

In terms of modeling the auction engine, failures should receive special attention; they did not consider, for example, an "error" state for failures related to payment.

Software Architecture
Implementing the core auction logic with WebLogic and EJB 1.0 led 12snap to make a few key decisions. It chose a now very common pattern that allowed it to deal with services for later reuse. Services would be implemented using stateless session beans. For persistence, they chose entity beans using container-managed persistence - at least for most tables. Servlets would be used as access method for its services. This is illustrated in Figure 7.

Presentation Layer
When the project was started, JSP had barely made it to 1.0. Considering the difficulties in keeping up with the specification and the known pitfalls in maintaining production JSPs, 12snap chose a more conservative template approach to the presentation layer and decided to use FreeMarker, which comes in the form of a library with template classes.

Short Message Services
The Short Message Service (SMS), as defined within the GSM digital mobile phone standard, has several unique features. A single short message can be up to 160 characters of text in length and consists of words, numbers, or an alphanumeric combination. Non-text- based short messages (for example, those in binary format) are also supported.

The Short Message Service is a store and forward service. In other words, short messages are not sent directly from sender to recipient but through an SMS Center (SMSC) instead. Each mobile telephone network that supports SMS has one or more messaging centers to handle and manage the short messages.

The Short Message Service features confirmation of message delivery. Unlike paging, users do not simply send a short message and trust that it gets delivered. Instead, the sender can receive a return message notifying them whether the short message has been delivered or not.

Short messages can be sent and received simultaneously with GSM voice, data, and fax calls because whereas the other calls take over a dedicated radio channel for the duration of that call, short messages travel over and above the radio channel using the signaling path. As such, users of SMS rarely, if ever, get a busy or engaged signal.

Sending and receiving SMS messages from an application requires a gateway solution that implements the native protocol supported by the SMS Center. On the application side, SMS gateways tend to offer standard access protocols such as SMTP, RMI, HTTP, or file access to interact with the mobile message infrastructure. Other formats are also available.

Initially, 12snap decided to outsource the SMS gateway technology to one of the mobile operators in Germany and agreed on an SMTP interface. At the WebLogic level, they used JavaMail to prepare and send e-mail messages to the SMS gateway that corresponded to the SMS notifications the auction engine needed to send to the auction participants.

Cell Broadcast Services
12snap initially implemented a gateway to the Cell Broadcast Center (CBC) of one of the main operators in Germany by using its Cell Broadcast Entity (CBE). It was a solution based on a Web server hosting forms processed in the back-end by an application server that would, in turn, pass requests to the CBC. That n-tier solution was hosted at the operator premises. Eventually, the solution was migrated to 12snap's own WebLogic servers by implementing the ASN.1 protocol required to directly access the CBC (in agreement with the operator as there are some very sensitive load and regionality issues to consider).

The implementation of the ASN.1 protocol was made using JavaCC and a reference CBE tool from the CBC manufacturer.

Interactive Voice Response
Interactive Voice Response servers (IVRs) are curious animals when you have an application server view of the world. After a 20-minute discussion with IVR specialists, 12snap discovered that the application server and the IVR can easily compete for the business logic decision in processes. From the very beginning they tried to confine the business logic decisions to the WebLogic cluster and keep the IVR as "lean" as possible. They were in fact lining up for the upcoming VXML, VoxML, and VoiceXML standards without really knowing it.

An IVR has connections on one side to the telephony network (e.g. ISDN Q.931) and on the other side to the data network. Its DSP boards and software provide the necessary glue between both. When a call arrives at the IVR a script is immediately executed and two key pieces of information are given to that script: ANI and DNIS. ANI stands for Automatic Number Identification and represents the number of the person calling the IVR. The Dialed Number Identification Service (DNIS) carries the number called by the person. In essence, these numbers are equivalent to routing information that can be used by any script to make decisions.

The scripts running on the IVR are commonly referred to as call-flows and link voice prompts together. It was decided, for performance reasons, to keep the actual sound files on the IVR itself. Call-flow decision points ask for a link to the middle layer for consistency across multiple channels. For example, when a caller dials into a specific auction, the IVR will need to contact the WebLogic server to find out if that auction is available or not.

12snap auctions began by hosting its equipment at an ISP that offered managed IVR solutions. In order to avoid technology dependencies it integrated the IVR with WebLogic through HTTP by implementing a basic thread-safe browser library on the IVR. For each line the IVR picks up, a browser thread was activated and used by the call-flow scripts to place HTTP requests against WebLogic. Servlets such as GetBid were implemented on the WebLogic cluster to pass information back to the call-flows.

The External Server
Initially, the application requirements defined the support of various payment methods (credit card, direct debit, and cash-on-delivery) as well as address verification and fulfilment notifications to be sent to its logistics partner. Integrating with the business process of such service providers depends on the technology available. The payment- and address-checking services were initially available from the same provider in the form of shared objects for SPARC. The fulfilment partner used a much simpler interface: e-mail. It decided to implement, for those third-party libraries, a special component dubbed "external server," which would run in a separate JVM and host the JNI-wrapped libraries.

This component supports modules, in this case Java objects that access native libraries. Accessing these libraries from the WebLogic JVM was considered too risky due to JNI-related issues, such as instability.

The external server registers a Factory with WebLogic's JNDI tree so that they can access the modules from the application server. A "check" thread acts like a watchdog and verifies that the connection to the Weblogic server is still alive. If not, it re-registers itself into the JNDI tree. A console allows operators to administer the server via telnet.

Development Environment
In order to identify the most suitable platform for its system, 12snap compared NT and Solaris systems. Based on the anticipated transaction estimations (accumulated values across IVR, Web, and WAP), it opted for Sun Solaris as the development and production platform. Since this is expensive equipment it had to be a little creative to minimize costs and agreed on the configuration shown in Table 2.

Linux Workstations Setup Procedure
Once configured with basic software and networking, they downloaded the customization script for the workstation from the repository server using FTP and ran the install shell script located under the install directory. This script performs the following actions:

  1. Creates special directories
  2. Backs up configuration files (profile, hosts, fstab)
  3. Installs skeletons
  4. Installs Java Development Environment (JDE) for Emacs
  5. Mounts file systems
  6. Installs JDK
The tools related to the installation script are:
  • Libraries (e.g. FreeMarker)
  • Application server (e.g. weblogicaux.jar and Service Packs)
  • JDK
Additional tools are shown in Table 3.

When it started the service, it identified a mobile operator capable of supporting it with hosting, IVR, SMS gateway, and call center capability. It was left to bring in its production hardware as shown in Table 4.

Figure 8 shows how the components are laid out on the network segments.

JDK 1.3 and WebLogic 5.1 Migration
A few months ago 12snap decided to revisit the WebLogic cluster configuration and set up some tests under new conditions - namely upgrading the JVM from 1.2.2 to 1.3, upgrading to WebLogic 5.1, and checking out the performance of two instances of WebLogic per server instead of one. These tests were conducted by benchmarking the performance of four of the most used servlets in its application:

  • GetAuctions: Used on the Web site to display a list of auctions
  • GetCategories: Used by the IVR to present a menu of auctions running
  • GetCurrentPrice: Used by the IVR to tell the latest price for one auction
  • SetBid: Used by the IVR to set a customer's bid
These benchmarks showed an increase in performance coming not only from the migration to the latest JVM but also from having two instances of the WebLogic server on every Sun machine in production. This effectively created a cluster of four WebLogic instances on two Sun machines. The benchmark was done by simulating 120 simultaneous users generated by The Grinder. This is an open source Java-based load generation tool. It can be downloaded for free from http://grinder.sourceforge.net.

The following is a high-level list of some processes that take place on a day-to-day basis to run the wireless auctions:

1. Product scouting (at the beginning of the month)
2. Order fax sent to supplier
3. Production and uploading

  • Get product pictures for Web site.
  • Get short and long description of products.
  • Produce the IVR voice prompts of the long and short description.
  • Upload the files.
4. Finalize production
5. Auction planning
6. Auction scheduling
7. Last-minute changes (e.g. new products)

Common Scheduling Problems
The most common error in scheduling auctions was the "wrong category for this hour." Someone already scheduled an auction for a specific hour and the new auction is in a different category from the first one of that hour.

The second most common error was scheduling auctions which should start as soon as possible. The auctions were coupled to the Cell Broadcast channel and specifically to the property CBCDelay and the value "Preceding Time for Hourly Reminder." A large value here allows the broadcast to be sent early (which is better from the CB Center perspective), but this also means that once this time had passed it was too late to schedule a new auction for that hour.

After scheduling an auction, all CB messages were sent to the CB Center immediately. In the case of an error a delete-message was sent. At this moment, CB is available only in Germany. It implemented an SMS-based subscription and notification module for use in Italy and UK.

Operational Information
Before closing the auction application, 12snap had about 80,000 subscribers in Germany, 50,000 in Italy, and approximately 10,000 in the UK. These numbers represent the number of customers for which 12snap has full information to complete payment transactions.

As we mentioned earlier, the system did not require the users to be registered to participate in an auction, so the potential users were actually higher than the number of registered users.

All servers for all countries are hosted at an ISP in the UK. Each country has its own combination of WebLogic proxy and cluster servers. Database servers are shared for two of the three countries. The ISP provides connectivity to the 16 ISDN E-1 lines to service a total of 480 lines.

There were about 80 auctions per week starting at noon and, interestingly enough, the peak times were at noon and at around 6 p.m.

Lessons Learned
In the day-to-day operations, one of the first things 12snap learned was that whenever there was a failure, it had to look in the WebLogic log file. A careful analysis of this file solved 90% of the problems it encountered. This is a hint that is placed conspicuously in all of the "Hint" documents.

One of the first comments from its software engineers was, "We need code-beautifying, because code is partly not readable." This was an annoyance that was never resolved. It would be helpful to have some sort of beautifying tool for Java and specifically for J2EE.

Within its code, exception handling suffered from poor design. 12snap limited its analysis to splitting exceptions into Recoverable and Unrecoverable from the user standpoint, e.g., wrong input: recoverable, database down: unrecoverable. This falls short when it comes to choosing which type is needed by the developer.

12snap now realizes it should have adopted nested exceptions based on a Runtime/Checked exceptions categorization. The output of exceptions should only be done in servlets or timer-triggered methods.

The proper naming of variables was another area that caused trouble and 12snap concluded that it should always be carefully considered during code reviews. For example, at some point 12snap had the following "pathological" variable names:

  • available meaning pre-bidding
  • maxPrice meaning stopPrice
  • ready meaning scheduled
  • closed meaning ended
For the ERP system 12snap chose Navision Financials running on NT. In order to integrate the WebLogic cluster of a specific country and the Navision server, it installed and configured a transfer server, (which was a dedicated Sun server), with Samba. This server was installed and configured to belong to the same domain as the ERP server. As soon as the session beans completed successful payment and fulfilment transactions, a file was written into that special directory using the WebLogic File Services. This was too simple.

Writing the file could fail for several good reasons (e.g., disk full), and information would not pass to the ERP system although the application would flag it as complete. In retrospect, this is something that 12snap reckons it should have implemented using an asynchronous mechanism, such as the Java Message Service. This way there can be some level of guarantee that the transactions will arrive correctly in the ERP system.

From Navision's side, a dedicated client runs the Navision data ports, which are timer-controlled scripts that would fetch or deposit files to/from Navision.

Although the application does not use all of the J2EE APIs, mainly because of its availability at the time it was developed, 12snap was able to develop and put it into production in record time. It ran for more than 18 months on version 4.5.1 with a relatively large number of users taking full advantage of WebLogic clustering. One of the neat tricks was getting the timers to work in a clustered environment-and we have shared that experience here.

As you can see, nothing magical happened in order to have a stable application running. Just a lot of common sense and a few mistakes that we hope everyone can learn from.

More Stories By Peter Zadrozny

Peter Zadrozny is CTO of StrongMail Systems, a leader in digital messaging infrastructure. Before joining StrongMail he was vice president and chief evangelist for Oracle Application Server and prior to joining Oracle, he served as chief technologist of BEA Systems for Europe, Middle East and Africa.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.

@ThingsExpo Stories
The 22nd International Cloud Expo | 1st DXWorld Expo has announced that its Call for Papers is open. Cloud Expo | DXWorld Expo, to be held June 5-7, 2018, at the Javits Center in New York, NY, brings together Cloud Computing, Digital Transformation, Big Data, Internet of Things, DevOps, Machine Learning and WebRTC to one location. With cloud computing driving a higher percentage of enterprise IT budgets every year, it becomes increasingly important to plant your flag in this fast-expanding busin...
Smart cities have the potential to change our lives at so many levels for citizens: less pollution, reduced parking obstacles, better health, education and more energy savings. Real-time data streaming and the Internet of Things (IoT) possess the power to turn this vision into a reality. However, most organizations today are building their data infrastructure to focus solely on addressing immediate business needs vs. a platform capable of quickly adapting emerging technologies to address future ...
Nordstrom is transforming the way that they do business and the cloud is the key to enabling speed and hyper personalized customer experiences. In his session at 21st Cloud Expo, Ken Schow, VP of Engineering at Nordstrom, discussed some of the key learnings and common pitfalls of large enterprises moving to the cloud. This includes strategies around choosing a cloud provider(s), architecture, and lessons learned. In addition, he covered some of the best practices for structured team migration an...
No hype cycles or predictions of a gazillion things here. IoT is here. You get it. You know your business and have great ideas for a business transformation strategy. What comes next? Time to make it happen. In his session at @ThingsExpo, Jay Mason, an Associate Partner of Analytics, IoT & Cybersecurity at M&S Consulting, presented a step-by-step plan to develop your technology implementation strategy. He also discussed the evaluation of communication standards and IoT messaging protocols, data...
With tough new regulations coming to Europe on data privacy in May 2018, Calligo will explain why in reality the effect is global and transforms how you consider critical data. EU GDPR fundamentally rewrites the rules for cloud, Big Data and IoT. In his session at 21st Cloud Expo, Adam Ryan, Vice President and General Manager EMEA at Calligo, examined the regulations and provided insight on how it affects technology, challenges the established rules and will usher in new levels of diligence arou...
In his Opening Keynote at 21st Cloud Expo, John Considine, General Manager of IBM Cloud Infrastructure, led attendees through the exciting evolution of the cloud. He looked at this major disruption from the perspective of technology, business models, and what this means for enterprises of all sizes. John Considine is General Manager of Cloud Infrastructure Services at IBM. In that role he is responsible for leading IBM’s public cloud infrastructure including strategy, development, and offering m...
In his session at 21st Cloud Expo, Raju Shreewastava, founder of Big Data Trunk, provided a fun and simple way to introduce Machine Leaning to anyone and everyone. He solved a machine learning problem and demonstrated an easy way to be able to do machine learning without even coding. Raju Shreewastava is the founder of Big Data Trunk (www.BigDataTrunk.com), a Big Data Training and consulting firm with offices in the United States. He previously led the data warehouse/business intelligence and B...
Recently, REAN Cloud built a digital concierge for a North Carolina hospital that had observed that most patient call button questions were repetitive. In addition, the paper-based process used to measure patient health metrics was laborious, not in real-time and sometimes error-prone. In their session at 21st Cloud Expo, Sean Finnerty, Executive Director, Practice Lead, Health Care & Life Science at REAN Cloud, and Dr. S.P.T. Krishnan, Principal Architect at REAN Cloud, discussed how they built...
22nd International Cloud Expo, taking place June 5-7, 2018, at the Javits Center in New York City, NY, and co-located with the 1st DXWorld Expo will feature technical sessions from a rock star conference faculty and the leading industry players in the world. Cloud computing is now being embraced by a majority of enterprises of all sizes. Yesterday's debate about public vs. private has transformed into the reality of hybrid cloud: a recent survey shows that 74% of enterprises have a hybrid cloud ...
22nd International Cloud Expo, taking place June 5-7, 2018, at the Javits Center in New York City, NY, and co-located with the 1st DXWorld Expo will feature technical sessions from a rock star conference faculty and the leading industry players in the world. Cloud computing is now being embraced by a majority of enterprises of all sizes. Yesterday's debate about public vs. private has transformed into the reality of hybrid cloud: a recent survey shows that 74% of enterprises have a hybrid cloud ...
DevOps at Cloud Expo – being held June 5-7, 2018, at the Javits Center in New York, NY – announces that its Call for Papers is open. Born out of proven success in agile development, cloud computing, and process automation, DevOps is a macro trend you cannot afford to miss. From showcase success stories from early adopters and web-scale businesses, DevOps is expanding to organizations of all sizes, including the world's largest enterprises – and delivering real results. Among the proven benefits,...
@DevOpsSummit at Cloud Expo, taking place June 5-7, 2018, at the Javits Center in New York City, NY, is co-located with 22nd Cloud Expo | 1st DXWorld Expo and will feature technical sessions from a rock star conference faculty and the leading industry players in the world. 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...
Cloud Expo | DXWorld Expo have announced the conference tracks for Cloud Expo 2018. Cloud Expo will be held June 5-7, 2018, at the Javits Center in New York City, and November 6-8, 2018, at the Santa Clara Convention Center, Santa Clara, CA. Digital Transformation (DX) is a major focus with the introduction of DX Expo within the program. Successful transformation requires a laser focus on being data-driven and on using all the tools available that enable transformation if they plan to survive ov...
SYS-CON Events announced today that T-Mobile exhibited at SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. As America's Un-carrier, T-Mobile US, Inc., is redefining the way consumers and businesses buy wireless services through leading product and service innovation. The Company's advanced nationwide 4G LTE network delivers outstanding wireless experiences to 67.4 million customers who are unwilling to compromise on qua...
SYS-CON Events announced today that Cedexis will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 - Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Cedexis is the leader in data-driven enterprise global traffic management. Whether optimizing traffic through datacenters, clouds, CDNs, or any combination, Cedexis solutions drive quality and cost-effectiveness. For more information, please visit https://www.cedexis.com.
SYS-CON Events announced today that Google Cloud has been named “Keynote Sponsor” of SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Companies come to Google Cloud to transform their businesses. Google Cloud’s comprehensive portfolio – from infrastructure to apps to devices – helps enterprises innovate faster, scale smarter, stay secure, and do more with data than ever before.
SYS-CON Events announced today that Vivint to exhibit at SYS-CON's 21st Cloud Expo, which will take place on October 31 through November 2nd 2017 at the Santa Clara Convention Center in Santa Clara, California. As a leading smart home technology provider, Vivint offers home security, energy management, home automation, local cloud storage, and high-speed Internet solutions to more than one million customers throughout the United States and Canada. The end result is a smart home solution that sav...
SYS-CON Events announced today that Opsani will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Opsani is the leading provider of deployment automation systems for running and scaling traditional enterprise applications on container infrastructure.
SYS-CON Events announced today that Nirmata will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Nirmata provides a comprehensive platform, for deploying, operating, and optimizing containerized applications across clouds, powered by Kubernetes. Nirmata empowers enterprise DevOps teams by fully automating the complex operations and management of application containers and its underlying ...
SYS-CON Events announced today that Opsani to exhibit at SYS-CON's 21st Cloud Expo, which will take place on October 31 through November 2nd 2017 at the Santa Clara Convention Center in Santa Clara, California. Opsani is creating the next generation of automated continuous deployment tools designed specifically for containers. How is continuous deployment different from continuous integration and continuous delivery? CI/CD tools provide build and test. Continuous Deployment is the means by which...