Push4Free

to Learn - FAQs

features of iPush

installation

BackOffice

programming

deployment

Q.

What is iPush® Server?

A.
  • iPush Server is an information distribution server.
  • It is capable of real-time information delivery.
  • It can handle a massive number of client connections simultaneously.
  • It provides a variety of APIs, from server to handheld device, for real-time application development.
Top
Q.

Who could benefit from iPush® Server?

A.
  • Anyone who is developing online, real-time information applications can benefit from using iPush Server.
  • Software developers can simply use any iPush API, coupled with software development tools, to create a real-time information system with iPush Server.
Top
Q.

For which industries is iPush® Server suited?

A.

iPush Server is suited for use in any industry that has a need for IP network based, long distance, multipoint transmission of real-time information, including financial services, online gaming, e-commerce, industrial automation, POS, and manufacturing.

Top
Q.

Is there any loss or degradation of information sent using iPush® Server?

A.

iPush Server is equipped with a guaranteed delivery mechanism that ensures there is absolutely no loss of data during a transfer.

Top
Q.

Is it safe to send information over the iPush® Server?

A.

All information sent through the iPush Server is encrypted for security. For an added level of protection, information can first be encrypted then sent over iPush Server.

Top
Q.

Are there format restrictions on the information that can be sent using iPush® Server?

A.

There are no restrictions on the format of data sent through iPush Server. Any kind of binary or text data or file can be sent.

Top
Q.

Does iPush® Server have a fail-over mechanism?

A.

iPush Server Cluster or iPush Server Standalone can be equipped with a fail-safe mechanism and can provide uninterrupted service 24 hours a day, seven days a week.

Top
Q.

What is iPush® API?

A.

iPush API is the bridge (library) allowing developers to send and receive information between iPush Server and their own applications. The API packages iPush Server's protocols into high-level functions those are much easier to understand and use. Developers can use the API in their applications to simplify the transmission and receipt of real-time information.

Top
Q.

What is iPush® Server Push4Free Edition?

A.

iPush Server Push4Free Edition is a special package (since V2.5), featured with:

  1. Full functionality of iPush Server Millions - Standalone with 10 concurrent connections.
  2. Never got expired.
  3. Won't lock on host IP.
  4. Most important, it's totally free.

As the iPush API works with Push4Free Edition, no function call changed, but all binaries have been updated to v2.5 to follow the version number of iPush Server V2.5. Please check the change list of each API package for detail.

Top
Q.

What operating systems can run iPush® Server?

A.
  • Windows 2000
  • Windows XP
  • Windows Server 2003
  • Linux Redhat 8/9
  • Linux Redhat Enterprise 3/4/5
  • Linux Fedora Core 3/4/5/6
  • Linux Cent OS 4/5
Top
Q.

What are the hardware requirements for iPush® Server?

A.
  • CPU: Pentium III or higher
  • RAM: 256 MB ~ 1 GB (requirement varies depending on number of concurrent connections)
  • Disk space: 10 GB or higher (full program installation requires 50 MB, additional space required depends on the amount of information saved for guaranteed delivery)
  • Network: Ethernet 100 MB/Sec. ~ GB/Sec.
Top
Q.

What preparations must I make prior to install iPush® Server?

A.
  • First, install Java SDK v1.4.x.
  • Set the value of the JAVA_HOME parameter to the directory where Java SDK was installed.
  • Except Push4Free Edition, please have the software license key file issued by ICE Technology on hand before install iPush Server.
Top
Q.

What elements will the installed iPush® Server have?

A.

Please see the following list for details:

Element Description
iPush kernel Data transmission kernel of iPush®Server.
Auth. Center User authentication and authorization system of iPush Server, also called AC Server.
License Daemon License control system of iPush Server.
BackOffice iPush web management tool in Java Servlet and JSP.
MySQL User database for iPush® BackOffice.
MyODBC (for Windows) MySQL ODBC driver.
Tomcat Java application server for iPush®BackOffice.
Top
Q.

I have Tomcat already installed on my system along with some existing web pages. Can I still install iPush® BackOffice without losing data?

A.

Yes. When the installation program asks if you want to automatically install iPush BackOffice, answer No. After installation, you can manually configure Tomcat for iPush BackOffice, which will not affect any existing web pages. For detailed steps, please see section "6. Tomcat Manual Configuration" in the iPush Server Installation Guide.

Top
Q.

Can I install services of iPush® kernel, Auth. Center, and License Daemon on different machines?

A.

Yes. The iPush kernel, Auth. Center, and License Daemon communicate via IP network, so as long as you have a working IP connection, these services can be installed on different machines. However, unless there is clustering deployment, installing them all on the same machine is recommended.

Top
Q.

How do I remove iPush Server in Windows system?

A.
  • If your iPush Server is running in Application mode, please close the application program.
  • Open the "Start" menu and choose the "Programs" menu. Then choose Uninstall iPushV2 under the "ICE iPush Communication Server V2" menu.
  • Press the "Uninstall" button and follow the instructions to remove iPush Server.
Top
Q.

iPush Server installed on Windows Server 2003 with SP1 failed. After I started the installation file, a window with progress bar popped up, but then immediately shuts down, why?

A.

Due to DEP (Data Execution Prevention) feature in Windows Server 2003 with SP1 terminates the installation. Please configure DEP to "Turn on DEP for essential Windows programs and services only" and install again.

The DEP configuration can be found in [Control Panel] -> [System] -> [Advanced] -> [Performance] Setting.

Top
Q.

I've installed iPush Server on Windows Server 2003, but MySQL service can't be started correctly, why?

A.

The Windows Server 2003 may place the MySQL configuration file, my.ini into wrong folder, so MySQL server cannot find it in starting-time.

Please copy file my.ini from <system disk>\Documents and Settings\Administrator\WINDOWS\ to <system disk>\WINDOWS\ (or the path where Windows system installed), then uninstall iPush Server and install it again.

Top
Q.

How do I access the iPush® BackOffice management system?

A.

Using a web browser, connect to iPush BackOffice with http://<ServerIP>:8080/backoffice/. The give the default account for authentication:

  • User Name: ipushadm
  • Password: admipush

After accessing iPush BackOffice, please change the password in Admin. Management.

Top
Q.

What does the word "service" represent in iPush® BackOffice?

A.

Service simply refers to a group made up of many users. Within each service there are two different keys, represented by Group and Product. The client must present both keys when attempting to connect to the iPush Server. Using the Limited Connections for a specific service, you can regulate the number of users belong to the service that can concurrently connect.

Top
Q.

What does the word "User" represent in iPush® BackOffice?

A.

User represents each of the online user accounts issued for client. Each user account has a password and read/write permission (for subscription/publish). When any client application connects to iPush Server, it must provide the Group, Product, User, and Password information for authentication. Only after being successfully authenticated can a user send or receive information to or from iPush Server.

Top
Q.

Besides manually adding users in the User Management of iPush® BackOffice, how can I input large numbers of users simultaneously?

A.

In User Management, we have provided an import function. Administrators can import .csv files to add multiple users at the same time. For the format of .csv file to import, please check the help in iPush BackOffice.)

Top
Q.

Importing new users from .csv files is still a batch process, isn't there a live and fast way to add users?

A.

iPush BackOffice offers administrators a way of using CGI calls to quickly add and edit users. First, you must set the access controls in CGI Management to allow certain IP of hosts to call the CGIs, then you can add new users or edit existing users by passing information into the CGIs as parameters. Regarding CGI function format, please see the CGI programming guides. You may download them from the API download page.

Top
Q.

How can I find out how many concurrent connections my iPush® Server license allows and when my license will expire?

A.

You can find out the details regarding your license through License Management of iPush BackOffice. The Connection represents the number of concurrent connections allowed for ID AC (Auth. Center) and iPush (iPush kernel) and the Expiration Date shows when each license entry will expire.

Top
Q.

My license is about to expire. After I receive my renewal, how do I update it in iPush® system?

A.

In section License Management of iPush BackOffice, after select the renewal file, press the Import License button and then you can update the license.

Top
Q.

How do I find out how many users have connected in the past months and other statistical information?

A.

In section Report Generator of iPush BackOffice, you can get information regarding used system resources and statistics regarding user connections.

Top
Q.

How do I connect to and communicate with iPush® Server?

A.

We have provided developers with different kind of APIs, so they can perform function calls to communicate with iPush Server. The developer needs only deal with the high-level API when developing real-time applications. It is not necessary to learn the complicated low-level network transmission details. Using these API function calls to work with iPush Server is very intuitive and straightforward. Any experienced developer will be able to quickly learn the API and begin writing real-time applications.Check the function list of iPush client APIs.

Top
Q.

What programming languages can I use to develop applications to communicate with clients through iPush® Server?

A.

The iPush Server supports variety of libraries for major software run-time environments, including:

  • ActiveX Control (OCX) for Windows 2000/XP/NT/ME
  • ActiveX Control (OCX) for Windows CE.Net / CE 4.x / PocketPC
  • Java Package (Class)
  • J2ME (for specific Java Phone models)
  • Linux C Library (supports static linking and dynamic linking)
  • Mac OS X C Library
  • uCLinux v2.6 C Library
  • MS .NET Framework Library
  • MS .NET Compact Framework Library
  • Windows DLL
  • Flash / Flash Lite (ActionScript 2)
  • Flex (ActionScript 3)
  • JavaScript Wrapper (with pjax.swf agent)

Developers the can use whichever programming language that they are comfortable with, matched with an appropriate API, to develop their own iPush applications.

Top
Q.

I want to develop my own iPush® applications. Is there any sample code that I can use as a reference?

A.

All of the APIs provided by ICE Technology include sample code for reference and testing. You can directly run the sample programs to test the functionality of iPush Server and also use it as a reference when writing your own programs.

Top
Q.

What is the Publish/Subscribe (Pub/Sub) messaging model? How does it work?

A.
  • On-line subscribers must first subscribe to information channels or subjects of interest on iPush Server. The iPush Server is then responsible for recording the channels/subjects chosen by each online subscriber (we call this subscription mapping).
  • After the on-line publisher writes information to send out for specific channels/subjects on iPush Server, the server will follow the subscription mapping and distribute (push) the information to the correct on-line subscribers. Using Pub/Sub, you can very easily perform many types of 1-to-N and N-to-N real-time applications.
Top
Q.

What steps must I take for my application to receive information through iPush® Server?

A.
  • Have your application connect to iPush Server (TCP or UDP).
  • Subscribe to the subjects or channels and prepare to receive information.
  • Information received through an event or callback function should then be handled appropriately by your application.
Top
Q.

What steps must I take to have my application send information using iPush® Server?

A.
  • Have your application connect to the iPush Server (TCP or UDP).
  • Send the information to the desired subject or channel.
Top
Q.

How can I achieve guaranteed delivery?

A.

In order to guarantee delivery, the following conditions must be met:

  • The sender must use the persistent sending function call (ipushSubDSubject) to transmit information.
  • The receiver must use the durable subscription function call (ipushSendPSubjectData or ipushSendPQueueData) to subscribe information.

As long as these two ends are taken, information is guaranteed to be delivered by iPush Server.

Top
Q.

Must persistent sending and durable subscription be used together?

A.

No, persistent sending and durable subscription can be used separately. The recipient can use either durable subscription or non-durable subscription to subscribe to subjects, no matter if the information sent in persistent matter or not. But of course, if persistent sending and durable subscription are not used in tandem, then delivery cannot be guaranteed.

Top
Q.

How long will server keep information as guaranteed delivery?

A.

No doubt, guaranteed delivery is tandem by persistent sending and durable subscription. When send information in persistent matter, developer may set the TTL (Time-to-Live, default 86,400 seconds, that is one day long) as parameter. The TTL entered determines the amount of time the information will be saved on the server before it sent to subscriber. Therefore, use of durable subscription is not recommended if the subscriber does not access the server daily.

Top
Q.

I received an exception from the API or return code from a function called in my program. What does it mean?

A.

Every API's programming guide should contain detailed explanations of any status code or exception that might be thrown by the API and all possible function return codes. Please see the document to determine how to interpret the information you are receiving.

Top
Q.

Can I use previous APIs (for iPush® Server V2.1 or V2.0) to connect to iPush® Server V2.5?

A.

No, you can't use any previous API binary to connect to iPush Server V2.5 or later, includes Push4Free Edition.

The version number of each compatible API with iPush Server V2.5 is list as following:

 

  • Flash / Flash Lite ActionScript 2 Library: v2.5.0 or later
  • Flex ActionScript 3 Library: v2.5.0 or later
  • JavaScript Wrapper - PJAX: v2.5.1 or later
  • ActiveX Control for Windows 32: v2.5.0 or later
  • ActiveX Control for Windows CE: v2.5.0 or later
  • .NET Framework Library: v2.5.1 or later
  • .NET Compact Framwork Library: v2.5.1 or later
  • Windows Dynamic Linking Library: v2.5.0 or later
  • Java Package: v2.5.2 or later
  • J2ME Package: v2.5.0 or later
  • Linux C Library: v2.5.2 or later
  • Mac OS X C Library: v2.5.2 or later
Top
Q.

Can I use the new APIs (for iPush® Server V2.5) to connect to iPush® Server V2.1 or V2.0?

A.

Yes, the up to date iPush APIs v2.5.x can be used to connect to all iPush Server V2.x versions. But of course, we encourage developer to use the latest APIs to work with the latest Server package.

Top
Q.

I have written code with API of iPush® Server V2.1, do I have to change my code as iPush® Server upgraded to V2.5?

A.

No, you don't have to change any of existing iPush application code for ipgrading iPush Server from V2.1/V2.0 to V2.5.

Just download the new iPush API for iPush Server V2.5, replace the library binary file, and re-compile your application code, your application will work with iPush Server V2.5 correctly.

 

Click here to download iPush APIs for V2.5.

Top
Q.

My iPush Flash application run well with the standalone Flash Player, but could not connect to iPush Server when the application deployed to web and run in Flash Player plug-in. I know this problem comes from the access policy security issue of Flash Player plug-in, how can I do?

A.

This problem is no longer existing in iPush Server V2.5 or later !

 

But this problem does happen when you still using iPush Server V2.1 and the web server provides the .swf file run on separated hosts. Let's assume you had installed your iPush Server on host ipush.foo.com, and the host also ran any web server on port 80, and the deployed files .swf and .html are accessible under URL http://www.foo.com on another web server. Follow the steps to do it right for security:

  1. Edit the XML policy file (say named crossdomain.xml) and save it to the web server root of http://ipush.foo.com. The file contains at least:
    <?xml version="1.0"?>
    <cross-domain-policy>
           <allow-access-from domain="www.foo.com" />
    </cross-domain-policy>
  2. Edit the .fla source, insert the ActionScript code to the first line: System.security.loadPolicyFile("http://ipush.foo.com/crossdomain.xml");

Compile, publish and deploy the .swf and .html files to web folder of www.foo.com then try if ok.

If you compile the .fla in Flash MX 2004 and get error message about method loadPolicyFile, you should update these packages:

  • Flash MX 2004, download and update to the latest version 7.2 from Adobe web site.
  • Flash Player 7, download and update to the one newer than 7.0.14.0 from Adobe web site.

For details of method System.security.loadPolicyFile and policy file locations, you may download the document: Using ActionScript in Flash (PDF, 3.3 MB) from Adobe web site. Refer to p.290 About allowing cross-domain data loading and p.292 About custom policy file locations.

By the way, the Apache-Tomcat (default port 8080) for iPush BackOffice can be your choice if you don't want to install another web server on the host of iPush Server runs.

Top
Q.

I developed a MIDlet on Java phone with iPush J2ME API, but the MIDlet cannot connect to iPush Server which had configured to listen to port 443. How can I do to solve this problem?

A.

Due to security designed into MIDP, only code signed MIDlets can connect to port 80 (HTTP), 8080 (HTTP) or 443 (HTTPS). So, you have to apply a digital certificate for signing your iPush MIDlets in J2ME Wireless Toolkit to meet the security requirement.Where to apply a digital certificate? You may try VeriSign's Code Signing Digital IDs service.

If you don't want to adopt the code signing approach, then you have to configure your iPush Server to listen to other port than 80, 8080, or 443, such as 8000, the default one. In such case, the run-time environment will prompt an alert message when the unsigned MIDlet try to connect to iPush Server. But no harm for connecting.For more information about the MIDP security issues, please read this article Understanding MIDP 2.0's Security Architecture from Sun Developer Network.

Top
Q.

In many enterprise environments, clients have to go through proxy/firewall to connect to Internet. What's the best practice of proxy/firewall-friendly deployment for iPush application?

A.

In customers and our experiences, most enterprises open both ports 80 and 443 for web access in HTTP and HTTPS protocols. Since the most popular packets passed through port 443 are encrypted SSL packets, so HTTPS packets won't be filtered usually.

Configure iPush Server to listen to port 443, this is what we call "HTTPS tunneling". So it is workable for iPush client applications behind enterprise proxy/firewall to connect to iPush Server on the Internet when user can see the Internet web pages with URL "https://" heading in browser.

Even the port 443 has been blocked, the network administration can add the IP of iPush Server to white list (granted access) for most enterprise applications.

As proxy/firewall-friendly design of iPush application, developer can retrieve the proxy setting of IE on Windows to automatically fill-in the information to call iPush connecting function. Otherwise, user must manually input the information for connecting iPush Server through proxy/firewall.

Top

Site Info

Copyright 2007-2008, Sponsored by ICE Technology Corp.