The Systems Group at Bahatech has been involved in the development of complex enterprise level products in the Win32 API and OS internals domain. The OS domains include Windows 9X, NT, 2000, XP and Windows Server 2003 Product Family.
Our years of experience and access to a vast pool of technical talent in India has enabled us to bring together a world class team of technologists with specialised skills. These are some of the areas that we can foresee adding value to your business:
- Win32 Internals
- Terminal Servers Expertise
- Network Traffic
- Install
- Printing Technology
- System Management
- Desktop & Shell Technologies
- Mobile Devices
- Device Driver
- Authentication Systems
- Java Based Technologies
- Databases
Our past portfolio speaks for itself about our performance in the development of system software. The following System Programming project snapshots are intended to give a brief idea about our expertise. These projects are dramatically different in size complexity and technologies involved:
- Remote Access Product Development
- Workstation Lockdown Software
- USB-Over-IP Development
- MultiPoint Video & Web Conferencing Software (VOIP)
- Application Porting to Windows CE & Windows Mobile
- Smartcard Application Development
- Software Migration Toolkit Development
- Highlighter Application Development
- Printer Tool Porting
- Unidriver Development
Talk to us today on how we can partner together to help you create a cutting edge solution.
Technology Focus
Win32 Internals
- API interception technology
- Smart marshalling Windows GDI Objects like icons, bitmaps and metafiles
- Expertise in Windows Hooks
- SOCKS support
- Registry based lockdowns
- Undocumented registry keys on Windows 9x and 200x
Terminal Servers Expertise
- Kernel level process and Thread Monitor for Terminal Server sessions
- Internet based Monitoring and control of Terminal server session
- MAC development of Microsoft Remote Desktop Client
Network Traffic
- Packet sniffing
- Protocol tunneling over SSL on port 443
- Traffic interception and header stripping
- Traffic interception and routing
- Protocol translation
- Compressing and throttling of HTTP or other custom protocol traffic
- Local proxy to enable data packet filtering and selective redirection
Install
- Remote installation with RPC
- MSI based centralized patch management
- Remote installation for MSI and non MSI packages
Printing Technology
- Universal printer driver in Terminal Servers
- Automatic remote installation of printer driver
- Printer driver management on servers
- Automatic remote installation of printer driver
System Management
- Performance counter monitoring and thresholds
- Install and patch management
- Distributed software version control
- LoadBalancing algorithms
- Alerts based on rules engine
- Central policy engine and policy propagation
Desktop & Shell Technologies
- Seamless Windows for the Windowing Engine
- Customizable desktop shell based lockdown
- File association implementation
- Application Sandboxing
Mobile Devices
- Windows Mobile 2005 client porting from old versions or PC's
- Windows CE.net, CE 2.12 based Thin client
- Nokia series 40 and 60
Device Driver Programming
- USB Device Drivers - Drivers for USB Mass Storage Devices,USB Scanners,USB Smart Card Readers,USB Video Camera Drivers.
- SCSI Device Drivers - SCSI Miniports for SCSI Disks,Virtual SCSI Miniports.
- NDIS Intermediate Drivers - NDIS IM Drivers for Packet Capturing and PCI Based NIC Control.
- TDI Filter Drivers - TDI Filter Drivers for Socket Enpoint Control.
- Keyboard Filter Drivers - KeyBoard Filter Drivers for i8042 Controllers.
- Mouse Filter Drivers - Mous Filter Drivers for i8042 Controllers.
Authentication Systems
- Single sign-on solutions
- 3rd party authentication SDK's
- Microsoft Active Directory or LDAP authentication
- SSL VPN for specialized applications or protocols
Java Based Technologies
- Java Client for RDP
- Java SMB/Samba client
Databases
- Database replication technology for SQL server. Ability to replicate MSDE server onto each other, without the need to purchase full SQL servers.
- Data synchronization
- Working on SDK's of various vendors hardware and software in the database backup and replication space.
- Enabling applications to be cluster aware and modifying code to do that.
CASE STUDIES
REMOTE ACCESS PRODUCT DEVELOPMENT
Bahatech Technology developed one of the leading remote access products competing in the SSL VPN space. This product, the Terminal Services Edition (TSE), is a Microsoft Windows based application that is used to easily deploy remote large scale enterprise applications across a distributed user base. It is used to publish, authenticate, deploy, manage, and load balance Windows applications.
The product is a distributed architecture that uses COM and DCOM for internal communication. The presentation layer is built using ASP.Net, XML, MS-SQL, SQL Reporting Engine. The user as well as the administrative consoles is developed as a Web based applications with ASP.Net and can be used via any browser.
Technology used includes Win32, COM, DCOM, COM+, ASP, ActiveX, VB Script, WMI, XML, XSL, ADO, MSI
Some of the Remote Access Product Features include :
Security
- SSL Encryption and tunneling of all sensitive information
- Single port relay server for easy firewall traversal and secure DMZ environments
- Ticketing to prevent unauthorized user access
- Terminal server lock-down to prevent uncontrolled sessions or restrict user
- Location-based client security policies
Terminal Servers Expertise
- Web-based Management Console to manage servers, applications, and users
- Delegated administration
- High-fidelity UniDriver to eliminate printer driver conflict
- Printer Driver Management Utility
- Print traffic compression and throttling
- Scheduled maintenance tasks
Application Server Management
- Resource-based application-level load balancing
- Built-in redundancy of components for multiple servers
- Real-time monitoring and management of server health from the console
Application Management
- One-click application publishing to users, groups, organizational units
- Support for multiple applications per RDP connection
- Intelligent file association
- Location-based application launch settings
User Management
- Central user authentication and access
- Dynamic, user-specific application shortcuts
End-User Experience
- Seamless windows - Applications presented without Terminal Server frame
- Application access via desktop shortcuts, Windows Start menu, or browser-based via Application Launch Pad
- Automatic log-on and pass-through authentication
- LoadBalancing algorithms
- Local, server, and network printing with client default printer support
Monitoring, Reporting and Logs
- Metering and reporting of application usage by users, client machines, servers
- Peak concurrent usage by system and applications
- Application usage metering and license management from published desktop
- Comprehensive audit trails and log
Workstation Lockdown Software
Bahatech Technology developed a workstation lockdown software that provides full control over computer system settings without complexity of group policies. Bahatech gave the complete road map to develop this product including complete analysis and designing the architecture.
The workstation lockdown software controls the functionality of Windows operating system as well as third party applications. It even lets the workstation to be transformed into a Kiosk, has time bound user sessions and displays user policies at the start of the workstation. The settings can be exported to templates and imported back to same or other workstations.
Some of the functions include:
- Browser restrictions
- Printer restrictions
- Regulate functionality of Start Button, control panel and Desktop
- Windows explorer restrictions along with disabling selected drives and file extensions
- Network restrictions along with website blocking
- Selectively disable menu items of third party applications
- MS Office restrictions
The software operates on Windows 2000 professional, Windows XP and Windows Vista with support for Vista UAC.
USB-Over-IP Development
The USB-Over-IP software developed shares the USB devices over the TCP/IP network and virtualizes it. TCP/IP is used as an underlying protocol to communicate between the host and remote machines. It is a complete solution to share and secure network attached USB devices such as USB mass storage, Scanner, Smart card etc. USB Device Sharing is implemented as a virtual peripheral bus driver; so that users can share diverse devices over networks without any modification in existing operating systems and applications. The experiments show that USB/IP has fairly practical I/O performance for various USB devices, including isochronous ones.
Bahatech gave the complete road map to develop this USB module including complete analysis on the USB-Over-IP product and designing the architecture, and needed user mode and kernel mode level development. Bahatech has developed a virtual peripheral bus driver and a USB function driver as well the user mode applications to communicate over the network. Mass storage, scanner, smart card devices and supports Bulk/Interrupt/ Isochronous Transfers are supported.
USB over IP Features include:
- Share USB devices via TCP/IP
- Supports multifunction devices
- Supports all kinds of URB
- Supports Bulk, Interrupt and Isochronous transfers
- Internal error recovery
- Hot Plug-n-Play support
- Based on Microsoft Windows XP DDK
- 100% WDM Compliant
USB Product Modules:
- Device Workstation
- Remote Workstation
- Virtual peripheral Host Controller Stack
- USB Function Driver
Device Workstation:
- Populate a list of attached devices
- Share USB device
- Communicate to remote machine
Remote Workstation:
- Triggers virtual device emulation and Communicates with device workstation over TCP/IP.
Virtual peripheral Host Controller Stack:
- Emulate virtual device and captures requests from windows USB stack.
USB Function Driver:
- Controls the device and Forwards requests to USB devices via windows USB stack.
MULTIPOINT VIDEO & WEB CONFERENCING SOFTWARE (VOIP)
The product is an Net Meeting software which is extensively used for holding meetings online which combines video and Webcam software, Allowing Individuals and Business to meet Face-to-Face at a common place without leaving their office or home. This product, Multipoint Video & Web Conferencing Software (VOIP) is Microsoft windows based application that is used to take part in a web conference or a web and video conference. The main features in this product are communication by voice, instant messaging chat, and see each other by video. The user console is web based application with HTML and FLASH which communicates with the device drivers & windows services and can be used by any browser.
This product uses the Flash to stream the media, and displaying it, which then communicates with the driver and Windows services for streaming and performing specific actions. The UI is developed in FLASH, also used FlashCom to add rich audio and video features to the sites. Bahatech integrated the VNC server with Multipoint Video & Web Conferencing Software (VOIP) for client to take control of host and recording the meeting in video files (Merging of both Video and Audio).
Technology used includes C++, Win32, MFC, COM, DCOM, COM+, ASP.Net, MSI
Some of Features include :
Multipoint Video & Web Conferencing Software (VOIP) Features:
- Video Conferencing with VOIP Audio & Text Chat
- Unlimited Video Conferencing
- Totally browser based which works through FLASH
- No Software required to download and configure to connect to the Host machine.
- net meeting.
Additional Features:
- Supports Screen/Application/Desktop Sharing
- Allows remote desktop control through VNC
- Can run Client's Servers and From any domain
- Uses Client's bandwidth. Allowing more flexibility
- Allows Client to control video conferencing Streams. (up to 800 X 600 resolution)
- Supports Multiple platforms (PCs, Mac, Linux machines)
Multipoint Video & Web Conferencing Software (VOIP) Modules:
- Flash Module.
- VNC Integration.
- Recording Meeting (Video and Audio).
Flash Module:
- Streaming Media
- Communication by voice
- Instant Messaging chat
- WebCam support
- Secure conferencing via RTMP/RTMPT/RTMPS
- Displaying in browser
VNC Integration:
- Integrating VNC server with the software
- Client piece to connect back to the host machine through VNC which can take control of host
Recording Module:
- Video Recording
- Audio Recording
- Merging of Audio and Video in single video file
APPLICATION PORTING TO WINDOWS CE & WINDOWS MOBILE
The product is a server-based, thin-client solution that eliminates the need for Citrix MetaFrame or Windows Terminal Services. It is optimized for reliable, secure, scalable application delivery to virtually any network attached device, regardless of platform or operating system. It is a complete application deployment solution that can be integrated and bundled with any 32-bit Windows application.This is an application provisioning system that allows users to run 32-bit Windows applications installed on the server. It allows users to publish applications through the server and users can launch these applications through the client provided by company. In this way, users can cut down on the licenses to be purchased for application. As well as it saves efforts of installing application on each and every terminal. To run an application, users must log on to the host machine from the client computer. Once a user successfully logs on, the program windows opens and displays a list of applications the user is authorized to run. When the user selects an application from the list, the program window sends a launch request to the server, and the application is launched. The applications are deployed, managed, and executed on the server. The client is a very simple application that can display application user interfaces and forward mouse and key events to the server.
The product supports Windows Client along with Windows CE Client, which is a lightweight application that provides seamless integration with the native device's environment. This Windows CE client was not supporting main features like Printer redirection, COM and LPT Port redirection, Audio Support and IFS feature. In case of printer redirection, client printer should be redirected to server side and user should be able to print through client printers. As Windows CE does not support all main API's provided for supporting printing, it was really challenging job to support printing for Windows CE Client. LPT and COM port redirection enables user to use the devices connected to client port, but this features was also absent in the Windows CE Client.
The application's Windows CE client, enhanced by Bahatech Technology supported all these major features mentioned above. Audio support for Windows CE client is one of the major features developed by Bahatech Technology. Now the Windows CE client supports sound capability for any application that uses PlaySound, sndPlaySound, or waveOut. The client machine requires a sound card and speakers. Our QA team thoroughly tested this feature for some existing media players. It worked perfectly with all these applications. Port redirection is the next big thing that Bahatech Technology achieved for the Windows CE Client. Now it allows application running in a session to access devices connected to serial and parallel ports in Windows CE devices. We enhanced mobile client by supporting Audio feature and providing support for panning or scrolling of server side dialog boxes.
SMARTCARD APPLICATION DEVELOPMENT
This product enables users to launch an application for a Citrix ICA client using a Siemens SLE4428 Smartcard and Cherry CardMan 2020 reader for authentication. Smartcards were issued based on random unique key generated by super user. The user does not have to remember a password; they are required to remember a PIN code, while rest of all the information is stored in smartcard in an encrypted format using Microsoft Cryptography.
The challenge was issuing of unique random key's by super user and sending it to administrator in an encrypted format which can be decrypted by client| admin console. Client admin issues smartcard to the users based on the number of keys left. Now user should be able to launch application using ICA client just by entering smartcard into reader and entering PIN number. No 2 same key should be able to launch application at the same time if smartcard has been cloned.
The first module of the application developed by Bahatech Technology is a web service in C# .Net, generates unique random key dependent on a single parent key and then it is encrypted using Microsoft Cryptography. These random keys are written in a license file which is then emailed to administrator.
The second module developed by Bahatech Technology is a client admin console in C# .Net, imports keys generated by web service, decrypts it, checks its dependency with parent key and verify data consistency using cyclic redundancy check (CRC) and then stores it in database. Then it writes unique key, domain name and random password in smartcard using Microsoft API and CT API's. It also detects ejection and insertion of smartcard from reader. This console also shows all trusted domain (LDAP) present in network along with admin user and normal user in different branches of tree. It also shows data written in Smartcard whenever it is inserted in smartcard reader. When users enter smartcard in reader, the pin window pop-up asks for the pin. When the user enters PIN, then user entered PIN is verified with PIN | present in smartcard, Unique random Key present in card verified with the key present in database and then changes domain password if its expiration period is close to some configured alue. And after this entire authentication it launches application assigned touser using Citrix ICA client. If due to some reason database is down then this module allows user to launch application for 3 days period.
Software Migration Toolkit Development
Bahatech Technology developed a software migration toolkit for a leading software vendor in the US. The application monitors the different stages of software version upgrades. It monitors as well as controls the various sequences essential for a successful migration or upgrade. Here is an excerpt of a broader set of tools. This is an ASP.Net page that updates itself based on a XML driven backend from SQL server. A separate tool checks on various servers for the stages of migration on each server and reports them into the SQL Server. From that database server a web service picks up the latest status and updates it on this web page. This application is developed using Visual Studio 2005 and some advanced web page controls and CSS.
Bahatech was asked to build the complete architecture of this application. We were tasked to find the right technologies, interfaces and architecture to develop this tool from a set of business requirements. This application was built in record time using the Visual Studio 2005 product while in its beta release. This product was show cased in multiple local journals as a success story of Visual Studio 2005 and its efficiencies of application development.
HIGHLIGHTER APPLICATION DEVELOPMENT
The Highlighter tool, when loaded allows creating a clear 'overlay screen' on top of the display. This allows many markup and annotation tasks to be performed on this overlay screen like free hand drawing, ellipses, boxes; partial or full erase, text annotation and call out numbering are to name a few. Apart from thisbasic functionality, this tool also provides facility to hide desktop icons and to take screen snapshots. The complete toolbar is collapsible to a small icon which can be dragged anywhere on screen. The overlay screen is see-through in drawing mode and see-through as well as click-through in working mode. The overlay screen can be hidden when not required.
The Highlighter application uses true transparency, while many applications of the kind use fake transparency in which window is prevented from erasing its background. The Highlighter application is used for highlighting details on windows of other running applications. It gives a feeling of drawing directly on the screen. This summons the use of true transparency.
Complete SDLC was followed while developing the Highlighter application including project planning, project estimation, scheduling, unit testing, smoke testing, and 4 complete QA cycles.
PRINTER TOOL PORTING
Bahatech Technology ported a Windows version printer tool to Mac OS X and Linux. Requirements included:
- The 3 target platforms need to share the source tree. The platform independent part and platform dependent part should be clearly separated.
- It does not matter which revision of Mac OS X and window manager of Linux it supports at the moment, since it is just a pilot. But specify what the ported one supports.
- Bahatech can use open source library or internal library of the company but it should specify them.
- A reasonably robust and fast software was expected.
UNIDRIVER DEVELOPMENT
Bahatech created the unidriver needed to support postscript and most of the other type of printers.
- It needed to support printers connected to LPT, USB or any other port on the client.
- It needed to use EMF (enhanced meta files) format to send print data from the server to the clients spooler. Our Contribution includes
- Each printer on the client side gets mapped and created on the application server by utilizing the Microsoft universal printer driver in order to add the printer.
- The spooler dumps the EMF file to what we call a "port monitor". This port monitor then takes this file and creates a connection to the client and sends this file to the client.
- The software used MSI install format and supported on all Windows OS over 3.1.
- A Linux prototype was developed after the Windows phase.
- The software used open source utilities and got explicit permission on such use prior to incorporation.