You've left out some info (OS, OS version, firewalls, where you are running CTTerm, data path, etc) are some suggestions:

Does putting in wrong account/password yield same symptom?

1) If you are running CTTerm on the same box check to see if Cache Telnet server enabled, permissions good, local box firewall not interfering, Cache license appropriate/applied, etc.

2) If running CTTerm from network check above plus all applicable firewalls or network protections. Some networks may prevent old Telnet running across specific paths without opening up a hole.

3) If you are using terminal servers to old serial terminals or PCs check the terminal servers.

Tom Fitzgibbon | 3474648531 | gototomAtG...l

SMTP servers can have different requirements (port, SSL level, etc). You have read AOL SMTP requirements? Sometimes it requires some fiddling.

From Lifewire: Enter these SMTP settings to send outgoing email through to your AOL Mail account from any email program.

  • Incoming Mail Server:
  • SMTP Outgoing Server Address: Set the port to 587
  • SMTP Username: "" (or, or
  • SMTP password. The password you use to log in to AOL Mail

As Robert indicates Shadowing and Mirroring on the Cache level are the ways to go.

Shadowing creates a copy of the master via journal Sets, Kills and $Bit. It's slower to sync and, I think, more prone to desync issues.

Mirroring is fairly immediate sync, offers more flexibility and features, like automatic failover. It's pretty awesome.

Tom Fitzgibbon | gototomAtG...l | 3474648531

I don't recall any default system recording of routine use, which means no audit of routine execution in previous years.

There is an audit of last routine save/compile in the ^ROUTINE(NameOfRoutine) global.

We manually added a routine use audit log through our user menu page. Obviously, this only captured usage from that point forward. You can also add a Cache Audit user event in your menu page to record info in the Cache Audit log.

I don't think there is a Cache Audit event for routine use logging but perhaps someone at InterSystems has added or has a workaround. See

Tom Fitzgibbon | gototomAtG...l | 9179331226 |

Evgeny -

Cache.dat file backup while Cache is down is fast and dependable for a 100MB DB. Or backup the entire AWS directory space if you have additional files (csp files, JS, etc.) and you can restore.

Cache backup is slower and only backs up Cache resources but has the great advantage of running while Cache is up.

Third party backup software can do a pretty good backup but it's still dirty and may have corruption.

An AWS snapshot should work, I've never tested extensively.

Tom Fitzgibbon | 917-933-1226 | gototomAtG...l

Need more information (with examples) on what you're trying to do.

If you're talking about:

1) a user login on Cache, you can start a routine/method on login for a terminal type service.

2) Cache startup and other events you can run routine/method.

3) many other variations

Tom Fitzgibbon | 9179331226 | gototomAtG...l

Without more info on writing/reading patterns the answer can't be knowable. For example, your application may have thousands of random write/reads looking for small amounts of vals OR fairly uniform write/reads looking for complete chunks of vals.

Best thing for you to do is to simulate your data usage on your target platform and do the timings yourself. Testing is fairly easy.

That being said the second method may be more efficient because you can write/read larger chunks of persistent data.

But it all comes down to your specific use case.

Tom Fitzgibbon | 9179331226 |

Cache has a slightly Windows tilt, but that's changing fast. For example, Cache Studio IDE works in Windows, not Linux or Mac. Cache Studio will eventually be replaced with InterSystems Atelier IDE (based on Eclipse). Doc and community support is still slightly Windows oriented but have plenty of info about Linux based Cache.

Linux is a great stable platform for running Cache, either on top of Red Hat (Centos), Ubuntu (Debian) OS or other variations.

I use a Mac running VMware Windows or Centos emulations for testing, developing Cache applications. Then put the production Cache application on a Windows or Linux server, Virtual Private Server or cloud server.

If I have a choice I typically go with Linux. But if you have more experience in Windows, stick with Windows. I don't think you're missing much in Cache running on Windows.

Tom Fitzgibbon | | 917-933-1226

Obviously each project will have different requirements. But here are some generalizations from my experience:

Cache SQL: use when you want to expose your data to report writers who use SQL. Use Cache SQL write capability if you must but may be slower. Fairly easy to read code. But you do NOT need Cache SQL to create an app.

Cache Objects: used most often, especially if you are an object oriented programmer. Hard to not see the advantages of objects in most projects. Reasonable speed and code readability.

Cache Direct Global access: used for legacy programs (lots out there) and may be faster performance (depending on read/write code structure). Difficult to read after years of code changes.

Tom FItzgibbon | | 347-464-8531

Cache has different mechanisms for calling in from the OS to start Cache functionality. See

Several other possibilities I've used:

1) Your BAT file creates a "trigger" file (for example: MyTrigger.txt) when you want to do a backup. A Cache routine checks for the existence of the trigger file every five minutes and when the Cache routine notices the file, it deletes the trigger file and does ^DBACK.

2) Your BAT file stops Cache by doing cstop.exe in Intersystem/Cache/bin, then you OS copy the Cache.dat file (Cache namespace/database file), then does cstart.exe. Note: Cache will be DOWN while the copy is being made. You can dirty copy Cache.dat while Cache is running but there's no guarantee your copy DB will not be corrupt.

Tom Fitzgibbon | | 917-933-1226

NYC needs a Cache/Ensemble/etc. user group. User groups generate sales and provide support for InterSystems.

I'm willing to volunteer some time to publicize and organize.

Anyone know about a space? We could try a meet to see who might be interested.

I'm assuming InterSystems (like a lot of vendors) would prefer to keep an arm's length approach to any user groups.

Tom Fitzgibbon | 3474648531 |

I've written COS that uses $System.License object to check license counts. Just loop every X seconds and use COS to send yourself an email or text when LU exceeds your threshold.

Depending on your user habits, app software, platform and InterSystems license Cache users can exceed the max before you know.

And yes, once users exceed limits it's difficult to remote troubleshoot. We ended up stopping new users from signing on before user limit was reached.

Tom Fitzgibbon | 346-464-8531 |

Scott -

We've had this problem many times with HL7 messages being "lost" after the sender claims they sent messages to our receiver software. Most of the time we found the sender actually did not send out the HL7 message or sent out a "malformed" message that our receiver rejected. Plus most HL7 sender software has filters that will not send particular messages for a variety of conditions.

Since HL7 is somewhat predictable text, it's pretty easy to parse. You can ask the sender for the missing message number and search for it in your capture stream, for example.

Receiving data from another vendor often creates arguments about "missing" data.

We troubleshot problems as below:

1) Examine any audit information given by Ensemble for errors, rejections, retransmissions and the like.

2) Set up a passive listener that records all data (not just HL7 messages) and examine with tools or your own diagnostic software.

3) Set up additional HL7 receiver software which takes the incoming messages and creates files on your platform (while doing the ACK/NACK with the sender). Then you can examine the files and later process with Ensemble.

Tom Fitzgibbon | 347-464-8531 |

Sansa -

Many licensing issues are best taken up with InterSystems. We'd have to know what kind of Cache license you had (how many users, etc.), how all users are connecting to your Cache 5.02 platform (SSH, Telnet, CSP, etc), system settings and other info. Even then we could only make some guesses without being able to test your platform in real time.

InterSystems has been helpful to me in the past concerning licensing issues.

Tom Fitzgibbon | 347-464-8531 |

Benjamin -

If you are moving to a distinctly new hardware platform (e.g. Windows to Linux) or 32 to 64 bit platform InterSystems will charge you for an upgrade. If you do not have current support for Cache you will have an upgrade charge.

But check with InterSystems or your representative because InterSystems can sometimes be flexible in pricing.

Tom Fitzgibbon | Multidata | 347-464-8531

Sanasa -

Your upgrade difficulty will be determined by your current application. No way to provide specific information for your site.

A starting place: for general information.

Suggest you hire someone very familiar with upgrading older Cache systems on a temp basis to help prepare an upgrade roadmap and then make the upgrade.

Tom Fitzgibbon | Multidata | 347-464-8531