• 組込みシステム向け 移植性の高いSMBソリューション
    最新バージョンSMBv3に対応した
    SMBクライアント&サーバーライブラリ
    あらゆるOSをサポート
  • jNQ
    100%Java言語で開発された SMBクライアントライブラリ

    唯一無二の、ピュアJava SMBv3ソリューション

最新ニュース
15.03.2020
Visuality Systemsは、Visuality SystemsのSMBv3対応製品... 続きを読む
  1. 0
  2. 1
  3. 2
  4. 3
  5. 4
非GPLクライアントおよびサーバーSMB3ライブラリ
Visuality Systemsは、組み込み製品とJavaベースのアプリケーション向けに、最も完全で最新のSMBクライアントおよびSMBサーバーソリューション(CIFSとも呼ばれます)を提供します
組み込みデバイス向け
非Windowsシステム向けにC言語で開発された、サーバー及びクライアントSMBライブラリ
Javaプラットフォーム向け
バージョン1.5以降のJava環境向けに100%Javaで開発されたクライアントSMBライブラリ
 
さまざまな市場にサービスを提供します
Cybersecurity
Aerospace and defense
IoT
Insurance
Consumer devices
SIEM
Banking
Medical
Data center
Management File Transfer
Automation
なぜVisuality Systemsなのか?
実績
SMBプロトコル開発及び保守における20年以上の経験
 
サポート
プロのSMBチームによるメール、電話、Skypeでの24時間完全サポート
 
 
安全性
業界トップクラスの品質保証ツールで、互換性、ユーザーエクスペリエンス、ネガティブテスト、負荷テストを実施
 
スピード
あらゆる顧客環境で動作する柔軟性と適応性
 
 

詳細はこちら

 
SMB vs 他のプロトコル
サーバーメッセージブロック(SMB)プロトコル(CIFSとも呼ばれる)は、Microsoftの分散ファイルシステム実装の基盤として機能する、ファイルおよびプリンター共有のプロトコルです。SMBプロトコルは、他の代替手段と比べた時のその優位性により、毎年数多くのネットワークで利用されています。
 
FTP/SFTP
コンピューター間でのファイル転送
SMB
ファイル共有及びファイル転送
More
HTTP
WEB上でのファイル転送
SMB
安全なネットワーキング
More
WebDAV
WEB上でのファイル管理
SMB
高速ファイルオペレーション
More
NFS
Linuxネイティブのファイル共有
SMB
異なるプラットフォーム間で使用できるプロトコル
More

In my younger days, cameras were cameras - not digital devices. In those days, connectivity meant keeping exposed films out of light, avoiding X-rays of airport scanners, and choosing the best film development kiosk. And all this did not require any digital intelligence, but rather human intelligence. Older folks can even recall choosing the right exposure, playing around with aperture and other, what some now consider cumbersome, duties for a non-professional guy.

Nowadays, in this wonderful, digital world, things seem to be easy. Sometimes I even believe so when my two-year-old granddaughter tries to shoot a photograph. However, this easiness becomes a difficulty when it comes to camera connectivity. 

Well, you can always take the memory card out of your cam and plug it into your PC. Can it be any easier? … Not true. What about POV (Point of View) cams? What about waterproof cams? What about other action cams? Withdrawing the card may not be that safe for such a device, and it requires an effort, drying out, etc. Not to mention that neither my small and handy PC, nor my tablet has an SD slot at all. Furthermore, the problem becomes even more complicated with industrial cams and home security cams, especially with storage-less ones.

Here connectivity comes to the rescue, with USB being the easiest method indeed. All you need here is a PC and a USB cable with the right connectors. Wait a minute… did you forget the cable when packing for Italy? And, after a full day somewhere in Perugia, didn’t you regret not taking your PC with you? Well, the USB connection does not seem to be a panacea either.

Cloud, cloud... clouds everywhere. It’s so cloudy nowadays! DropBox, AWS, Cloud, whatever cloud... All you need is subscribe and go syncing. Then, the cloud will take care of the rest. Clouds grant high security through multi-factor authentication and data encryption. Why can’t I connect my favorite cam to, say, iCloud? Unfortunately, I can’t. Here the diversity of cloudware works against connectivity standards, as each cloud uses yet another set of protocols, most of them being proprietary. As a result, each cloud requires yet another client-side piece of software to be installed on your PC.

You may have tens of different cloud applications on your PC, but not on your camera. For instance, my favorite camera can only connect to its vendor’s cloud. And this cloud requires me to disclose my name, email address and even my phone number for two-way authentication. Even if the vendor is a well-known and trusted brand name, I still have an unpleasant feeling, knowing that my personality is held in yet another database that can be hacked at any time.

That’s why I prefer to back my photographs on my own home server. Can I do that? This is not an easy task with the majority of the cameras. The good news is that each little-bit-advanced camera supports Picture Transfer Protocol (PTP). Fine! Microsoft Windows shapes, starting from XP, have a PTP driver, including Macs and some Linux shapes. Even better, however, not good enough. Having a PTP driver does not mean having a PTP server or a PTP client. You need to run a PTP-aware application to get rid of the PTP connectivity. One can find plenty of PTP-aware software on the market, the majority of them being freeware. Most of them are provided by cam vendors, and of course, can only support their own cams. To enjoy PTP connectivity of my cam, I had to download the vendor’s software, register in (again!), providing my email and phone number, and only then it became pretty handy. On another PC, though I need to cover the same steps again.

The major drawback of PTP however is security. Recent research made by the giant security solutions provider Check Point has exposed major security vulnerability with no much effort. This research simulated attackers hacking the camera and infect it with malware, only to release the beloved camera and picture files in exchange for a ransom payment. Although PTP is considered to be a standard and is embedded in different camera brands, it is still an unauthenticated, risky protocol regardless of whether it is utilized over USB or WiFi.

Is there a connectivity method free from those risks?

Yes, there is one network protocol called SMB. Hereby SMB I mean Server Message Block, neither Small/Medium Business nor Super Mario Brothers (anybody recalls?). Only a few people in the world know about this humble protocol, yet billions are using it implicitly. Yes, when you access your wife’s PC from your notebook to view your kid’s pictures, what runs over the wire in your home network is SMB. The SMB protocol is widely available - actually, it is available virtually everywhere. Any Windows shape, any Mac, most of Linux shapes - all natively support SMB without any downloads, installations or additional steps required. Also, Apple has recently announced an SMB Client support in iOS. On Android smartphones, it is only available through commercial add-ons, at least for now. Being a standard means that you can connect any computer the same way regardless of what is or is not installed on it. From the SMB point of view, any device can play a role of either a Client or a Server. A client must authenticate on the server prior to any data transfer. Together with encryption, message signing and other comprehensive mechanisms, SMB grants very high, if not perfect, security.

Sounds promising, right? So, can SMB be used in cams? The answer is yes, and even more - SMB already runs in cams. As far as I know, one of the major camera vendors is already using SMB for backups. This option grants really seamless connectivity and this backup is an SMB Client use case. To my best knowledge, there is no SMB Server inside a cam, at least not for now.

Doesn’t this SMB story sound too pink? Yes, there are downsides too. Being a standard is not only an advantage but also a certain disadvantage since SMB is too generic for the dedicated in-cam usage. I tried to compare cam-dedicated PTP with generic SMB. Here are the results:

 PTPSMB
Security None Very high
Camera control Shooting, updating, etc Natively - none
Transfer speed Low to medium High
Encryption No Yes

The comparison above looks pretty disappointing, as none of the two methods seems to provide a complete solution. SMB lacks some implicit functionality, while PTP compromises on security. Nowadays, when a hacker attack is as common as rain in the State of Washington, the security issue is my first suspicion concerning PTP. Contrary to PTP, SMB is said to be protected against such attacks.

Well, maybe things are not that bad. First, cam vendors can complement PTP with SMB,

so that a user can choose between the two in each particular case by compromising either on security or on controls. At the same time, we can think about some extensions to the existing protocols. As I have no idea of how to add authentication and encryption to PTP, let’s try then to improve the SMB situation. When writing “Natively - none” in the table above, I meant that SMB commands do not contain explicit camera controls. Can this be added somehow? We are looking for an easy-to-use solution indeed. 

A well-known solution would be to use the RPC (Remote Procedure Call) mechanism on top of SMB. Various RPC pipes (a pipe means here a set of controls) are using SMB as a transport, implementing numerous controls for a wide variety of purposes. Easy? Not at all, since to utilize RPC, one needs to develop respective server-side software. We will leave RPC for now and will think about something else.

One of my colleagues suggested an easy and handy method of SMB-only controls. Let's imagine a “smart” file on the server-side. When you create such a file, the server knows it has to perform a certain action. To make this possible, the camera must serve as an SMB server. For instance, to take a picture, we may create a new file in a certain folder inside the cam storage. The SMB server of the cam knows to shoot the shutter on this file creation and to place the captured image inside this new file, which we could already view from the client machine. Another nice opportunity is watching the viewfinder through SMB. This is a bit more tricky, but possible due to so-called Change Notify capability of SMB. This list can be extended to provide complete controls.

As one can see, SMB connectivity seems to be very promising when it comes to the camera world. However, to make this happen, camera vendors need to apply some efforts in developing complex SMB connectivity, where SMB Backup is just the very first step. The real challenge here will be creating industry standards to avoid proprietary development again. Can we do that?

Some people may ask what all this ado is about? Why is the matter of cams connectivity so crucial? We have our mobiles, which can photograph about everything. Forget about cams!” May I disagree? Well, you can skip home cams, forget about industrial cams, ignore pro cams and action cams. I am far from being proficient in photography, but I like this good feeling of a handy piece of plastic in hand, and I like the powerful flash and many other fancy features. Finally, I enjoy this 50x (30x, 40x) zoom, which allowed me to take these pictures of the lunar eclipse. Can you shoot this with your smartphone?

    

NQ™を試してみる


NQ™の評価をご希望の方は、弊社担当よりご連絡いたします。 右のフォーマットにご記入の上、送信ボタン「GET THE PRODUCT」をクリックしてください。