ডিভাইস ডেটা মডেল

Matter ডিভাইসগুলির একটি সু-সংজ্ঞায়িত ডেটা মডেল ( DM ) থাকে, যা একটি ডিভাইসের বৈশিষ্ট্যগুলির একটি শ্রেণিবদ্ধ মডেলিং। এই শ্রেণিবিন্যাসের শীর্ষ স্তরে একটি ডিভাইস থাকে।

ডিভাইস এবং এন্ডপয়েন্ট

স্মার্টফোন এবং হোম অ্যাসিস্ট্যান্ট সহ সকল ডিভাইস নোড দিয়ে গঠিত। নোড হলো একটি নেটওয়ার্কের একটি অনন্য শনাক্তযোগ্য এবং ঠিকানাযোগ্য সম্পদ যা একজন ব্যবহারকারী কার্যকরীভাবে সম্পূর্ণরূপে উপলব্ধি করতে পারেন। Matter নেটওয়ার্ক যোগাযোগের উৎপত্তি এবং সমাপ্তি ঘটে একটি নোডে।

নোড হলো এন্ডপয়েন্টের একটি সংগ্রহ। প্রতিটি এন্ডপয়েন্ট একটি বৈশিষ্ট্য সেটকে ঘিরে থাকে। উদাহরণস্বরূপ, একটি এন্ডপয়েন্ট আলোর কার্যকারিতার সাথে সম্পর্কিত হতে পারে, অন্যটি গতি সনাক্তকরণের সাথে সম্পর্কিত হতে পারে এবং অন্যটি ডিভাইস OTA এর মতো ইউটিলিটিগুলির সাথে সম্পর্কিত।

ডিভাইস, নোড এবং এন্ডপয়েন্টের শ্রেণিবিন্যাস
চিত্র ১: ডিভাইস, নোড এবং এন্ডপয়েন্ট

নোডের ভূমিকা

নোড ভূমিকা হলো সম্পর্কিত আচরণের একটি সেট। প্রতিটি নোডের এক বা একাধিক ভূমিকা থাকতে পারে। নোড ভূমিকার মধ্যে রয়েছে:

  • কমিশনার : একটি নোড যা কমিশনিং সম্পাদন করে।
  • কন্ট্রোলার : একটি নোড যা এক বা একাধিক নোড নিয়ন্ত্রণ করতে পারে। উদাহরণগুলির মধ্যে রয়েছে Google Home app (GHA) , Google Assistant এবং Google Nest Hub (2nd gen) । কিছু ডিভাইসের ধরণ, যেমন অন/অফ লাইট সুইচ , কন্ট্রোলারের ভূমিকা পালন করে।
  • কন্ট্রোলি : একটি নোড যা এক বা একাধিক নোড দ্বারা নিয়ন্ত্রিত হতে পারে। বেশিরভাগ ডিভাইসের ধরণই কন্ট্রোলি হতে পারে, কিছু ডিভাইসের ধরণ ছাড়া যাদের কন্ট্রোলারের ভূমিকা থাকে, যেমন অন/অফ লাইট সুইচ । অন/অফ লাইট সুইচটি কেবল একটি কন্ট্রোলার হতে পারে। এটি একটি কন্ট্রোলি হতে পারে না।
  • OTA প্রোভাইডার : একটি নোড যা OTA সফ্টওয়্যার আপডেট প্রদান করতে পারে।
  • OTA অনুরোধকারী : একটি নোড যা OTA সফ্টওয়্যার আপডেটের জন্য অনুরোধ করতে পারে।

ক্লাস্টার

একটি এন্ডপয়েন্টের মধ্যে একটি নোডে এক বা একাধিক ক্লাস্টার থাকে। এগুলি ডিভাইসের শ্রেণিবিন্যাসের আরেকটি ধাপ, কারণ এগুলি নির্দিষ্ট কার্যকারিতা যেমন একটি স্মার্ট প্লাগে একটি অন/অফ ক্লাস্টার, অথবা একটি ডিমেবল লাইট এন্ডপয়েন্টে একটি লেভেল কন্ট্রোল ক্লাস্টারকে গোষ্ঠীভুক্ত করে।

একটি নোডে একাধিক এন্ডপয়েন্টও থাকতে পারে, প্রতিটি একই কার্যকারিতার একটি উদাহরণ তৈরি করে। উদাহরণস্বরূপ, একটি লাইট ফিক্সচার পৃথক আলোর স্বাধীন নিয়ন্ত্রণ প্রকাশ করতে পারে অথবা একটি পাওয়ার স্ট্রিপ পৃথক সকেটের নিয়ন্ত্রণ প্রকাশ করতে পারে।

গুণাবলী

শেষ স্তরে আমরা Attributes পাব, যা নোড দ্বারা ধারণ করা অবস্থা, যেমন একটি স্তর নিয়ন্ত্রণ ক্লাস্টারের বর্তমান স্তর বৈশিষ্ট্য। বৈশিষ্ট্যগুলিকে বিভিন্ন ডেটা টাইপ যেমন uint8, স্ট্রিং বা অ্যারে হিসাবে সংজ্ঞায়িত করা যেতে পারে।

নোড, এন্ডপয়েন্ট, অ্যাট্রিবিউট এবং কমান্ডের শ্রেণিবিন্যাস
চিত্র ২: নোড, এন্ডপয়েন্ট, অ্যাট্রিবিউট এবং কমান্ড

কমান্ড

অ্যাট্রিবিউট ছাড়াও, ক্লাস্টারগুলিতে কমান্ডও থাকে, যা এমন ক্রিয়া যা সম্পাদন করা যেতে পারে। এগুলি Matter ডিএম-তে একটি রিমোট প্রসিডিওর কলের সমতুল্য। কমান্ডগুলি ক্রিয়া -সদৃশ, যেমন ডোর লক ক্লাস্টারে দরজা লক করা । কমান্ডগুলি প্রতিক্রিয়া এবং ফলাফল তৈরি করতে পারে; Matter , এই জাতীয় প্রতিক্রিয়াগুলিকে কমান্ড হিসাবেও সংজ্ঞায়িত করা হয়, যা বিপরীত দিকে যায়।

ইভেন্টগুলি

পরিশেষে, ক্লাস্টারগুলিতে Events ও থাকতে পারে, যা অতীতের অবস্থার পরিবর্তনের রেকর্ড হিসাবে ভাবা যেতে পারে। যদিও অ্যাট্রিবিউটগুলি বর্তমান অবস্থার প্রতিনিধিত্ব করে, ইভেন্টগুলি অতীতের একটি জার্নাল, এবং একটি একঘেয়েমিপূর্ণভাবে ক্রমবর্ধমান কাউন্টার, একটি টাইমস্ট্যাম্প এবং একটি অগ্রাধিকার অন্তর্ভুক্ত করে। তারা স্টেট ট্রানজিশন ক্যাপচার করতে সক্ষম করে, সেইসাথে ডেটা মডেলিং যা অ্যাট্রিবিউটগুলির সাথে সহজেই অর্জন করা যায় না।

সম্পূর্ণ নমুনা ডিভাইস
চিত্র ৩: Matter ডিভাইস ইন্টারঅ্যাকশন মডেলের শ্রেণিবিন্যাসের একটি নমুনা

এন্ডপয়েন্ট ০ ইউটিলিটি ক্লাস্টারের জন্য সংরক্ষিত। ইউটিলিটি ক্লাস্টার হল নির্দিষ্ট ক্লাস্টার যা একটি এন্ডপয়েন্টে সার্ভিসিং কার্যকারিতা, যেমন আবিষ্কার, ঠিকানা, ডায়াগনস্টিকস এবং সফ্টওয়্যার আপডেট অন্তর্ভুক্ত করে। অন্যদিকে, অ্যাপ্লিকেশন ক্লাস্টারগুলি চালু/বন্ধ বা তাপমাত্রা পরিমাপের মতো প্রাথমিক ক্রিয়াগুলিকে সমর্থন করে।

ডিভাইসের ধরণ

সামগ্রিকভাবে, ডিভাইস প্রস্তুতকারক যখন একটি নতুন ডিভাইস পরিকল্পনা করে তখন কোন ক্লাস্টার সংমিশ্রণগুলি অন্তর্ভুক্ত করা উচিত?

Matter স্পেসিফিকেশনের জন্য ডিভাইসটিকে এক বা একাধিক ডিভাইস টাইপ বাস্তবায়ন বা প্রসারিত করতে হবে। একটি ডিভাইস টাইপ হল বাধ্যতামূলক এবং ঐচ্ছিক ক্লাস্টারের একটি সংগ্রহ যা একটি ভৌত ​​ডিভাইসের শীর্ষ-স্তরের বৈশিষ্ট্যগুলিকে সংজ্ঞায়িত করে, যেমন ডিমেবল লাইট , ডোর লক , বা ভিডিও প্লেয়ার

ডিভাইসের ধরণগুলি Matter স্পেসিফিকেশনের প্রধান নথি দ্বারা নির্দিষ্ট করা হয় না, বরং একটি সহগামী নথি দ্বারা নির্দিষ্ট করা হয়: ডিভাইস লাইব্রেরি । একইভাবে, সমস্ত অ্যাপ্লিকেশন ক্লাস্টার অ্যাপ্লিকেশন ক্লাস্টার লাইব্রেরিতে সংজ্ঞায়িত করা হয়। এই তিনটি নথি Connectivity Standards Alliance (Alliance) সদস্যদের ওয়েবসাইটে পাওয়া যাবে।

প্রতিটি এন্ডপয়েন্ট যারা একটি ডিভাইস টাইপ বাস্তবায়ন করে তাদের অবশ্যই বাধ্যতামূলক ক্লাস্টার বাস্তবায়ন করতে হবে যা সেই ডিভাইস টাইপকে সংজ্ঞায়িত করে। বাধ্যতামূলক ক্লাস্টার ছাড়াও, এন্ডপয়েন্ট অতিরিক্ত ক্লাস্টার বাস্তবায়ন করতে পারে, যার মধ্যে ডিভাইস টাইপের এক বা একাধিক ঐচ্ছিক ক্লাস্টার, এমনকি এমন ক্লাস্টারও অন্তর্ভুক্ত থাকতে পারে যা ডিভাইস টাইপের অংশ নয়।

ক্লায়েন্ট এবং সার্ভার

ক্লাস্টারগুলি হয় ক্লায়েন্ট ক্লাস্টার অথবা সার্ভার ক্লাস্টার হতে পারে। যদিও একটি সার্ভার স্টেটফুল এবং অ্যাট্রিবিউট, ইভেন্ট এবং কমান্ড ধারণ করে, একটি ক্লায়েন্ট স্টেটলেস এবং এর দায়িত্ব হল একটি রিমোট সার্ভার ক্লাস্টারের সাথে ইন্টারঅ্যাকশন শুরু করা, এইভাবে নিম্নলিখিতগুলি সম্পাদন করা:

  • এর দূরবর্তী বৈশিষ্ট্য থেকে পড়ে এবং লেখে
  • এর দূরবর্তী ঘটনাবলী পড়ে
  • এর দূরবর্তী কমান্ডের আহ্বান

যদিও DM একটি নোডের মধ্যে হায়ারার্কিকাল, নোডের মধ্যে সম্পর্ক তা নয়। Matter নোডগুলিতে উল্লম্ব নিয়ন্ত্রক/পেরিফেরাল বা নেতা/অনুসারী সম্পর্ক থাকে না। বিপরীতে, সম্পর্কটি অনুভূমিক: যেকোনো ক্লাস্টার সার্ভার বা ক্লায়েন্ট হতে পারে। সুতরাং, বিভিন্ন ক্লাস্টার এবং কার্যকারিতার ক্ষেত্রে একটি নোড সার্ভার এবং ক্লায়েন্ট উভয়ই হতে পারে।

উদাহরণস্বরূপ, আমাদের দুটি টেবিল ল্যাম্প থাকতে পারে: নোড A এবং নোড B। উভয় নোডই একটি অন/অফ লাইট ডিভাইস টাইপ প্রয়োগ করে। এই ডিভাইস টাইপের মধ্যে একটি অন/অফ সার্ভার ক্লাস্টার রয়েছে যা তাদের নিজ নিজ ভৌত আলোর আউটপুট নিয়ন্ত্রণ করে।

কিন্তু, সাধারণ টেবিল ল্যাম্পের মতো, আমাদের ভৌত ডিভাইসগুলিতেও তাদের স্থানীয় অন/অফ সুইচগুলির জন্য একটি অন/অফ লাইট সুইচ ডিভাইস টাইপ অন্তর্ভুক্ত থাকবে। এই ডিভাইস টাইপকে অবশ্যই একটি অন/অফ ক্লায়েন্ট ক্লাস্টার বাস্তবায়ন করতে হবে যাতে এটি সার্ভার ক্লাস্টারগুলিকে নিয়ন্ত্রণ করতে পারে।

চালু/বন্ধ আলো এবং আলোর সুইচ উভয়ই কার্যকরী ল্যাম্প
চিত্র ৪: ক্লায়েন্ট এবং সার্ভার ক্লাস্টার

এই নমুনায়, নোড A-তে থাকা অন/অফ ক্লায়েন্ট ক্লাস্টার নোড A এবং নোড B-তে থাকা অন/অফ সার্ভার ক্লাস্টারের বৈশিষ্ট্য পরিবর্তন করছে, যেখানে নোড B-এর ক্লায়েন্ট ক্লাস্টার শুধুমাত্র নোড B-তে থাকা সার্ভার ক্লাস্টারকেই পরিবর্তন করছে।

পরবর্তী বিভাগে আমরা ক্লায়েন্ট এবং সার্ভার ক্লাস্টারগুলি কীভাবে ইন্টারঅ্যাক্ট করে তা বিস্তারিতভাবে বর্ণনা করব: ইন্টারঅ্যাকশন মডেল

বর্ণনাকারী ক্লাস্টার

নাম থেকেই বোঝা যায়, ডেসক্রিপ্টর ক্লাস্টার সার্ভার আত্মদর্শন তথ্য প্রদান করে। এটি এন্ডপয়েন্ট বর্ণনা করে যার মধ্যে রয়েছে:

  • সার্ভার ক্লাস্টার।
  • ক্লায়েন্ট ক্লাস্টার।
  • ডিভাইসের ধরণ।
  • অতিরিক্ত শেষ বিন্দু, যা অংশ নামে পরিচিত।

প্রতিটি ডিভাইসের ধরণের জন্য বর্ণনাকারী ক্লাস্টার বাস্তবায়ন প্রয়োজন। রুট ডিভাইসের ধরণটি এন্ডপয়েন্ট ০-এ সংজ্ঞায়িত করা হয়েছে। এর বর্ণনাকারী ক্লাস্টারটি পড়লে ক্লায়েন্ট উপলব্ধ এন্ডপয়েন্টের সম্পূর্ণ ট্রি অতিক্রম করতে এবং প্রযোজ্য ক্রিয়াকলাপ সম্পাদন করতে দৃশ্যমানতা পাবে।

কমিশনার বা কন্ট্রোলিং ডিভাইস যেমন ফোন বা হাব, বর্ণনাকারী ক্লাস্টারে পাওয়া তথ্য ব্যবহার করে ডিভাইসটি (আলো, সুইচ, পাম্প, থার্মোস্ট্যাট) এবং ডিভাইসের সেই নির্দিষ্ট উদাহরণ দ্বারা বাস্তবায়িত নির্দিষ্ট বৈশিষ্ট্যগুলি মডেল করতে পারে, ব্যবহারকারীকে সঠিক UI দেখাতে পারে।

সার্ভার ক্লাস্টার

ServerList অ্যাট্রিবিউট এন্ডপয়েন্টে ক্লাস্টার সার্ভারগুলিকে তালিকাভুক্ত করে।

ক্লায়েন্ট ক্লাস্টার

ClientList অ্যাট্রিবিউট এন্ডপয়েন্টে ক্লাস্টার ক্লায়েন্টদের তালিকাভুক্ত করে।

ডিভাইসের ধরণের তালিকা

DeviceTypeList অ্যাট্রিবিউট হল এন্ডপয়েন্ট দ্বারা সমর্থিত ডিভাইসের প্রকারের একটি তালিকা, এর সাথে এর সংশ্লিষ্ট সংশোধনগুলিও রয়েছে। এতে কমপক্ষে একটি ডিভাইসের প্রকার থাকতে হবে।

যন্ত্রাংশ তালিকা

PartsList এই ডিভাইসের ধরণ বাস্তবায়নের জন্য ব্যবহৃত শেষ বিন্দুগুলির তালিকা রয়েছে।

এন্ডপয়েন্ট ০ (রুট নোড) এর PartsList ডিভাইসের নিজস্ব (এন্ডপয়েন্ট ০) ছাড়াও সমস্ত এন্ডপয়েন্ট থাকে।

অন্যান্য এন্ডপয়েন্টের PartsList সাধারণত খালি থাকে। উদাহরণস্বরূপ, একটি তাপমাত্রা সেন্সর একটি তাপমাত্রা পরিমাপ সার্ভার ক্লাস্টারকে বাধ্যতামূলক করে এবং অন্য কিছু নয়।

অন্যান্য ডিভাইসের ধরণগুলি একাধিক ডিভাইস টাইপ ইনস্ট্যান্সের একটি ট্রি স্ট্রাকচারে তৈরি হতে পারে। উদাহরণস্বরূপ, একটি ভিডিও প্লেয়ার ডিভাইসের ধরণটি টিভি, ভিডিও প্লেয়ার, স্পিকার এবং বিভিন্ন কন্টেন্ট অ্যাপ ডিভাইসের ধরণ দিয়ে তৈরি হতে পারে, প্রতিটির একটি আলাদা এন্ডপয়েন্ট থাকে।


  1. Matter স্পেসিফিকেশন নির্ধারণ করে যে একটি ডিভাইসে একাধিক নোড থাকতে পারে। উদাহরণস্বরূপ, স্মার্টফোনে একাধিক অ্যাপ থাকতে পারে, প্রতিটি অ্যাপ আলাদা নোড। এই প্রাইমারের উদ্দেশ্যে, সমস্ত ডিভাইসে একটি মাত্র নোড থাকবে। আশা করা হচ্ছে যে বেশিরভাগ ভৌত ডিভাইস এই প্যাটার্ন অনুসরণ করবে।