Network Communicate Process

saya pernah berpikir ketika sedang jongkok, dan bengong…

A server, can received, process, and send a data…into the client. namun jika ternyata data yang ingin di tampilkan cukup banyak…can a server do that?!

mungkin sebuah big server, bisa dan reliable untuk melakukan itu…katakanlah, melakukan sorting terhadap 50 juta data, dimana sorting berdasarkan beberapa category complex, yang dimana nantinya, hasil sorting itu akan di tampilkan dalam bentuk PDF dengan jumlah halaman kurang lebih 20 juta halaman….

pretty large isn’t it?! lalu, saya pun bertanya…iseng saya kumat, dan gairah kurang kerjaan saya berkembang…

“bagaimana jika kita tidak memiliki dana untuk memiliki sebuah komputer server yang reliable? can we do it?!”

lalu, entah kenapa…saya terpikir tentang LAN (intranet), dimana sekarang memiliki kecepatan hingga 1GB/s. sebuah kecepatan transfer data yang benar-benar dasyat…dan cukup besar untuk mengakomodir kapasitas data yang berkembang saat ini…

saya berpikir, bagaimana jika “kita membuat JARINGAN YANG BISA BERPIKIR?”

pada dasarnya, network pasti memiliki kemampuan untuk melakukan communicate antar satu node network ke node lainnya…bagaimana jika kita menggunakan process itu untuk melakukan pengolahan data…

untuk memudahkannya…coba bayangkan SEMUT…

semut menggunakan pheromone untuk mengidentifikasi sesuatu, memberitahu sesuatu, dll. bisa saja pheromone yang ditinggalkan memiliki arti, “makanan”, “bahaya”, dll.

setiap semut mengkoleksi data yang di koleksi oleh semut lain, dan meninggalkan data yang dikoleksinya pada pheromone, untuk di koleksi oleh orang lain.

pengambilan dan pengumpulan informasi ini sering disebut kemotaxis.

berbekal konsep sederhana itu, mari kita anggap sebuah PC kecil itu sebagai seekor semut, walaupun saya tahu, semut tidak berekor.

jadi kita membuat sebuah alur komunikasi kepada 5 komputer (5 semut), yang berkomunikasi via LAN/intranet (pheromone). setiap komputer bertugas untuk melakukan sebuah process, dan memberitahu komputer lain mengenai process yang sudah dikerjakannya, sebagai data koleksi dari komputer lain…

contoh gampangnya adalah “process sorting” seperti yang saya berikan contohnya barusan…

sorting ada banyak macamnya, dan salah satu yang paling terkenal adalah “Quick Sort”, karena menggunakan konsep “partial/partition sorting”, sehingga setiap partisi dikerjakan terpisah dan secara rekursif, sehingga mempercepat process search. bagaimana cara kerja Quick Sort? ada baiknya anda mencari terlebih dahulu di Internet, sebelum melanjutkan membaca methode yang dihasilkan dengan cara jongkok, dan stimulus bengong ini…

anggap diagram network komputer seperti berikut :

Star Scheme

Star Scheme

setiap komputer mampu berinteraksi satu sama lain…

ketika ingin melakukan sorting dengan menggunakan metode Network Comminucate Process, maka ketika ada data “input” misalnya saja sebuah dataset berukuran 50 juta rows.

maka Local Network melakukan perhitungan performance dan benchmark dari masing-masing komputer. floating point, I/O read and write, dll. untuk menentukan “pemimpin” dari NCP.

pemimpin ditentukan dari hasil benchmark terbaik. setelah itu maka lanjutkan pada process NCP, seperti berikut:

  1. pemimpin bertugas untuk melakukan partialisasi data, membagi data menjadi 2
  2. setelah data di bagi 2, maka pemimpin bertugas berkomunikasi dengan komputer lain, dan menentukan pemimpin selanjutnya.
    Split Data, and Choose The Next Leader

    Split Data, and Choose The Next Leader

    disana dapat dilihat, komputer leader melakukan Split Data dan memilih komputer selanjutnya sebagai Leader (garis merah), dan komputer di garis merah, setelah melakukan split data menunjukan leader (garis biru), dan mengirim sisa data. begitu seterusnya sampai seluruh data habis.

  3. pemimpin selanjutnya, kembali melakukna tugas 1…lalu di lanjutkan tugas 2…sampai semua komputer mendapatkan jatah yang “sama” dalam process sorting.
  4. setelah data selesai di bagi, maka process sorting akan dilakukan oleh 5 komputer. dan masing-masing, data yang disorting disimpan pada memory masing-masing Node.

    Sort on each Node

    Sort on each Node

  5. setelah selesai melakukan sorting, maka setiap Node memberitahukan (broadcast) di jaringan mengatakan…I’m READY! lalu pemimpin kembali mengecek…siapa yang memiliki data yang belom tersort paling banyak?! setelah dapat, maka komputer itu akan melakukan negoisasi dengan komputer yang telah selesai…

    The Finished one, Connect and ask Leader, to Negotiate with who?!

    The Finished one, Connect and ask Leader, to Negotiate with who?!

  6. komputer yang tersisa paling banyak, akan membagi (memotong) sisa datanya secara partial, dan dikirim kepada komputer yang sudah selesai.
  7. ketika data selesai di terima, maka komputer akan kembali melakukan sorting pada data-2 (data-1 sudah selesai di sorting).
  8. begitu seterusnya, sampai semua komputer mengatakan I’M READY, dan mengirimkan sinyal kepada  komputer LEADER!

    READY!!!

    READY!!!

  9. dan ketika semua status sudah READY, maka pemimpin akan mengirimkan sebuah sinyal, untuk melakukan partially merge data.
  10. jadi pemimpin memetakan seluruh benchmark, dan mengatur “formasi”, misalnya saja…komputer 1, dan komputer 3 menjadi group 1. dan komputer 2, komputer 4, serta komputer 5 menjadi group 2.
  11. masing-masing group menentukan pemimpinnya masing-masing.

    Partially Merge Data

    Partially Merge Data

  12. setelah pemimpin dipilih, maka pemimpin akan meminta “nilai” terkecil pada group.
  13. jika komputer pada group memiliki n-buah-data, maka nilai yang harus di cari adalah nilai yang paling kecil dari n-data tersebut.
  14. setelah itu pemimpin akan mengecek, dan memilih nomor yang paling kecil, untuk dimasukan ke dalam buffer memory, dan di tampung.
  15. setelah seluruh group selesai melakukan partial merge, kini ada 2 buah data merge (dari group 1 dan group 2)
  16. maka kembali komputer diurutkan secara benchmark (dari leader-1 sampai leader-n), lalu 2 data partially merge tersebut di tanyai nilai yang paling kecil, lalu disimpan pada komputer n sampai penuh, jika sudah penuh maka pindah ke n+1 (sehingga seluruh komputer memiliki pekerjaan/process load yang sama)
  17. jika data merge sudah habis 2-2 nya…maka nilai yang diterima dari user akan diberi (di Send) dari komputer Leader-1 (dari data nomor 1 sampai habis), lalu dilanjutkan leader-2, lalu leader-3, dst…sampai leader-n…sehingga process Send tidak memberatkan CPU…

terlihat sederhana, namun pada kenyataannya…hal sederhana ini perlu dan sangat penting dalam pengumpulan KD (Knowledge Database), ketika ingin membangun sebuah situs, atau aplikasi penyedia solusi, seperti DSS, atau aplikasi lain…

dan satu lagi IDE GILA…untuk orang-orang kurang kerjaan seperti saya… ;)

the magic of Google cache…

dari sejarah saya suka membuka google dan mencari berbagai macam arti, baik yang saya dengar melalui indra pendengaran saya ketika di hembuskan oleh beberapa channel di televisi yang enggan berhenti berputar setiap harinya, atau dari media yang bisa saya lihat dengan jelas dan menimbulkan beberapa pertanyaan, atau sebuah ekspresi seperti, “wow”, dll. saya suka sekali dengan beberapa fasilitas google yang membuat saya begitu jatuh cinta dengan hal-hal yang ada di dalamnya.

hal pertama yang saya sukai adalah penggunaan Keyword di google. dan hal ini sudah banyak di bahas oleh buku-buku yang berseliweran, yang sebenarnya bahkan kita tidak perlu membeli hal itu untuk mengetahui “the secret” behind the google, kecuali anda ingin terlihat intelek, dan anda seakan mengetahui google luar dalam, jauh lebih dalam di bandingkan pasangan anda.

kata-kata atau keyword yang sering saya gunakan sendiri ada beberapa yaitu : define, intext, dan inurl.

saya tidak perlu menjelaskan secara terperinci tentang 3 fungsi di atas, karena yang saya bahas adalah sisi lain dari Google, yaitu BOT dan CACHE nya…karena hari ini saya menemukan beberapa hal unik yang membuat betapa indahnya sebuah Cache dari Google.

Google BOT adalah sebuah program yang akan melakukan auto visiting dari setiap situs dalam rangka melakukan data mining untuk menambah collection terhadap database yang mereka punya, oleh karena itu Google Bot ini bergerak setiap saat dan akan berhenti hanya ketika server Google juga mati, mungkin saja ketika itu Larry Page, atau Sergey Brinn lupa untuk membayar tagihan listrik mereka sehingga di putus paksa oleh pihak pengelola listrik.

sedangkan Cache adalah hasil indexing dari Google Bot terhadap suatu halaman web, yang hebatnya adalah Google Bot ini bisa mengatasi “beberapa sekuritas” yang di terapkan oleh sebuah situs.

contoh gampangnya, coba anda buka sebuah situs yang menerapkan sekuritas, seperti invitation pada Blogspot, misalnya pada situs ini : Women Out Front.

ketika anda membuka halaman itu maka anda akan di suguhi sebuah form Inivitasi, karena mungkin yang memiliki blog ini takut jikalau blognya di masuki oleh orang banyak, dan hanya di gunakan untuk kepentingan pribadi dan kelompoknya. lalu bagaimana jika ternyata blog itu digunakan sebagai sarang diskusi dari para penjahat kelas wahid, sarana berbagi informasi, dll. ah, mungkin saya terlalu termakan film-film action yang saya lahap belakangan ini. namun tentu saja isi dari blog yang tersembunyi seperti ini menimbulkan “rasa ingin tahu” yang besar, namun rasa ingin tahu ini di barengi oleh rasa malas untuk mengisi form, karena toh walaupun di isi, belum tentu si empunya blog mau memberikan kita sebuah akses masuk gratis ke blognya, jangankan saya, mungkin presiden aja di tolak ama dia, karena blog sendiri seperti sebuah ruangan, kepulauan, negara, atau bahkan planet milik mereka sendiri yang berwenang, jadi ketika dia berkata kita tidak boleh masuk itu artinya kita tidak boleh masuk sama sekali.

oke, itu secara legal…namun ada kalanya kita tetap berusaha untuk masuk, menembus, atau mencari celah, agar setidaknya bisa mengintip apa sih isi di dalam dapur blog tersebut.

disinilah Cache dari Google berperan begitu besar, maka saya mencoba untuk melihat apakah sekuritasnya bisa di bobol oleh BOT…?!

lalu sekarang timbul pertanyaan…kenapa BOT bisa menembus sekuritas web tersebut?!

jawabannya cukup masuk akal, di karenakan BOT melakukan INDEXING terhadap web itu, sehingga dengan adanya indexing membuat web itu bisa di cari melalui sebuah “search engine“, dan tentu saja mendongkrak rating dari blog atau web itu sendiri, sehingga bagi mereka yang ingin web nya menjadi “prioritas utama”, maka kedatangan BOT akan di sambut bak raja, walaupun kadang kala malah menghasilkan titik bias horizon, seperti vanishing point kepada web itu, karena ketika semua “bandwidth” di rebut, maka terjadi sebuah fenomena situs minor yang sering di sebut, Bandwidth Limit Exceeded (509), dan ketika fenomena tunggal ini muncul, maka sampailah titik itu pada vanishing point, karena dia benar-benar sudah vanish.

oke, kembali ke situs yang di proteksi. maka ketika situs itu ingin menjadi prioritas utama, maka dia akan membiarkan bot untuk berkeliaran masuk, dan menjelajahi isi rumahnya, walaupun tidak mencuri, namun Bot menyimpan bukti fisik dari situs tersebut, untuk mempermudah dalam collection data dari data mining yang dia lakukan.

bagaimana cara mengakses Cache dari google? jika anda mengakses google melalui situs Google Indonesia (walaupun letak servernya di amerika, entah kenapa di namakan Google Indonesia), maka anda cukup menekan link “tembolok” pada hasil pencarian anda, sedangkan jika anda adalah orang Indonesia gaul yang tetap insist menggunakan Google.com sebagai sumber pencarian maka anda wajib menekan link “cache“.

untuk mudahnya mari kita membuka Cache dari Women Out Front yang saya tulis tadi.

pada search bar google anda bisa mengetikan “inurl:http://womenoutfront.blogspot.com“, tanpa tanda petik tentu saja. maka akan muncul sebuah hasil kompeten, untuk hasil yang lain cukup tekan link “ulangi pencarian untuk mengikutseratakan link…“.

setelah itu anda bisa menekan tombol Cache, atau Tembolok, dan saksikan isi situs dari Women Out Front yang di proteksi dari user luar, sehingga harus mengisi invitasi untuk bisa masuk kedalam situsnya, namun rupanya kecedikan cache dari google, dan kemampuan bot memaksa sang pemilik situs menelan ludahnya karena rupanya situs itu bisai di akses melalui metode caching yang di terapkan oleh google.

mungkin masih banyak “hole” kecil dari securitas yang di unkap google, dan masih begitu banyak hal-hal kecil yang bisa di lakukan oleh google sebagai bagian dari sebuah kesatuan besar terhadap securitas dunia maya, sebagai sebuah pintu masuk lain di dunia WWW.